pandoc

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}