pandoc
#css #LaTeX #latex #pdf #pandoc
Pandoc
Pandoc — универсальная утилита («швейцарский нож») для работы с текстовыми форматами. Основная сфера применения — форматирование математических и технических текстов.
Входные форматы:
markdown, reStructuredText, HTML, LaTeX, OPML, Org-mode, DocBook, и Office Open XML (Microsoft Word .docx).
Выходные форматы:
форматы на основе HTML:
XHTML, HTML5, HTML-слайды презентаций (S5, Slidy, Slideous, DZSlides)
форматы текстовых процессоров:
Microsoft Word docx, OpenOffice/LibreOffice ODT, OpenDocument XML
электронные книги:
EPUB версии 2 или 3, FictionBook2
форматы технической документации:
DocBook, GNU TexInfo, groff[en]
форматы системы ΤΕΧ:
LaTeX, ConTeXt, слайды LaTeX Beamer
PDF (с помощью LaTeX):
текстовые форматы с облегчённой разметкой:
Markdown, reStructuredText, AsciiDoc, MediaWiki, Emacs Org-Mode, Textile
Такой метод конвертации:
pandoc -o sample.html sample.md
pandoc -o sample.odt sample.md
pandoc -o sample.txt sample.md
pandoc -f markdown -t latex -s -o sample.tex sample.md
-o (out) выходной формат файла
( -f (от) и -t (для) варианты используются, чтобы сказать pandoc какие
форматы файлов вы хотите конвертировать из и в )
pdflatex main.tex - from terminal make pdf
Конвертирование файлов *.docx in *.md(с картинками и таблицами)
В папке где находится файл *.docx открыть терминал и выполнить команду:
pandoc -t gfm --extract-media . "fan guide.docx" -o main.md
Указание форматов файлов(LaTeX)
Параметры -f (от) и -t (до) используются, чтобы указать pandoc, какие форматы файлов вы хотите преобразовать ИЗ и В.
Это может быть полезно, если вы работаете с форматом файла, который имеет расширение файла с другими родственными форматами. Например, TeX, и Латекс оба используют расширение «.tex».
Мы также используем параметр -s (автономный), чтобы pandoc сгенерировал всю преамбулу LaTeX, необходимую для того, чтобы документ был полным, самодостаточным и правильно сформированным документом LaTeX.
Без опции -s (автономный) вывод все равно был бы правильно сформированным LaTeX, который можно было бы вставить в другой документ LaTeX, он не мог бы правильно анализироваться как отдельный документ LaTeX.
Набираем следующее:
- pandoc -f markdown -t latex -s -o sample.tex sample.md
Нужно в готовом *.tex сделать небольшую правку как то:
Исправить на:
- \usepackage[T2A]{fontenc}
Добавить:
- \usepackage[english,russian]{babel}
Если у вас есть редактор LaTeX, вы можете открыть файл TEX, чтобы предварительно увидеть, как интерпретируются команды набора LaTeX.
Если вы откроете файл «sample.tex» в редакторе (редактор LaTeX под названием Texmaker), вы увидите сгенерированный LaTeX.
ПОЛУЧАЕМ ГОТОВЫЙ PDF ФАЙЛ!!!
Для создания PDF-файла укажите выходной файл с .pdf-расширением:
pandoc test.txt -o test.pdf
or
pandoc test.txt -V lang=RU-ru -o test.pdf
или лучше так,с указанием шрифта:
pandoc --pdf-engine=xelatex -V 'mainfont:Arial' -t beamer test.txt -o test.pdf
(нужен установленный шрифт Arial)
По умолчанию pandoc будет использовать LaTeX для создания PDF, для чего требуется установить механизм LaTeX
Для преобразования hello.html из HTML в Markdown:
pandoc -f html -t markdown hello.html
Формат ввода и вывода может быть указан явно с помощью параметров командной строки. Формат ввода можно указать с помощью -f/–from опции, формат вывода - с помощью -t/–to опции.
Таким образом, чтобы преобразовать hello.txt Markdown в LaTeX, вы можете ввести:
pandoc -f markdown -t latex hello.txt
Использование pandoc без файлов – .md make in terminal
Если вы используете pandoc без каких-либо параметров командной строки, он также принимает типизированный ввод. Вы просто нажимаете Ctrl + D, чтобы указать, что вы закончили печатать.pandoc ожидает, что вы наберете в формате Markdown, и он генерирует вывод HTML.
Давайте посмотрим на пример:
pandoc
# level
## level
### level
Мы набрали несколько строк Markdown и собираемся нажать Ctrl + D.
Преобразование файлов с помощью шаблонов (CSS)
Вы, наверное, начинаете понимать гибкость, которую предоставляет pandoc. Вы можете написать один раз и опубликовать практически в любом формате. Это великий подвиг, но документы действительно выглядят немного ванильными.
С помощью шаблонов вы можете указать, какие стили использует pandoc при создании документов. Например, вы можете указать pandoc использовать стили, определенные в Каскадные таблицы стилей (CSS) файл с параметром –css.
Мы создали небольшой файл CSS, содержащий текст ниже. Он изменяет интервал выше и ниже уровня заголовка на один стиль. Он также изменяет цвет текста на белый, а цвет фона на оттенок синего:
h1 {
color: #FFFFFF;
background-color: #3C33FF;
margin-top: 0px;
margin-bottom: 1px;
}
Полная команда приведена ниже — обратите внимание, что мы также использовали автономную опцию (-ы):
- pandoc -o sample.html -s –css sample.css sample.md
pandoc использует единый стиль из нашего минималистичного файла CSS и применяет его к заголовку первого уровня.
Если вы работаете с несколькими форматами файлов, pandoc проигнорирует разметку HTML для файлов, отличных от HTML, и будет передан им как текст.
Мы также можем указать, какие стили используются при создании файлов ODT. Откройте пустой документ LibreOffice Writer и настройте стили заголовков и шрифтов в соответствии со своими потребностями.
В нашем примере мы также добавили верхний и нижний колонтитулы.
Сохраните документ как «odt-template.odt».
Теперь мы можем использовать это как шаблон с параметром –reference-doc:
pandoc -o sample.odt –reference-doc=odt-template.odt sample.md
pandoc latex
pandoc -f markdown -t latex -s -o wget.tex wget.md
Нужно в готовом *.tex сделать небольшую правку как то:
Исправить на:
\usepackage[T2A]{fontenc}
Добавить:
\usepackage[english,russian]{babel}