Конвертор текстовых форматов Pandoc

Версия документа: 0.04

Небольшое введение

Что такое Pandoc? Эта программа, которой нам так не хватало в давние времена. Она умеет конвертировать документы множества форматов друг в друга, облегчая разработку и публикацию статей, справок, веб-документов, книг и многое другое. Написана эта чудесная программа на функциональном языке программирования Haskell и распростаняется под лицензией GPL, то есть бесплатно. Ее автор - John MacFarlane.

Наиболее удобно использовать Pandoc для преобразования исходного текста, написанного с использованием разметки Markdown в различные "публичные" форматы типа html, tex или даже docx и pdf. Дело в том, что разметка Markdown предоставляет очень простой язык разметки документов, который можно изучить за несколько минут и в дальнейшем использовать повсеместно.

Преобразование документов Markdown в различные форматы

Преобразование в DOCX

Самый простой способ сделать это:

pandoc -o file.docx -f markdown -t docx file.md

По-умолчанию, используется стандартый шаблон Word-файла. При желании, можно взять сгенерированный файл, поправить его и использовать в качестве шаблона:

pandoc -o file.docx -f markdown -t docx file.md --reference-docx=template.docx

Преобразование в PDF

Преобразование происходит через TeX-формат с последующей компиляцией в PDF. Опция --latex-engine задает программу для компиляции.

Варианты:

Выбор xelatex позволяет использовать True Type шрифты

pandoc -o file.pdf -f markdown  --latex-engine=xelatex  file.md 

Для поддержки русского языка можно использовать опцию lang=russian:

pandoc -o file.pdf -f markdown  --latex-engine=pdflatex -V lang=russian file.md    

Опция -V позволяет устанавливать многие параметры TeX-файла, например указать шрифт и базовый размер:

pandoc -o file.pdf -f markdown  --latex-engine=xelatex -V mainfont="Ubuntu" -V fontsize=12pt file.md

А так можно еще и задать поля документа:

pandoc -o file.pdf -f markdown  --latex-engine=xelatex -V mainfont="Ubuntu" -V fontsize=12pt file.md -V geometry:margin=2cm    

Но наиболее гибкий способ заключается в использовании шаблонов. С помощью команды

pandoc -D latex > t.tex 

мы копируем стандартные настройки TeX-шаблона в файл t.tex, который можно поправить руками, а затем указать при конвертации в PDF:

pandoc -o test2.pdf -f markdown  --latex-engine=xelatex -V mainfont="Arial" -V fontsize=12pt test2.md -V geometry:margin=2cm --template=t.tex

В частности, в шаблоне можно изменить масштабирование шрифтов, формат документа и многое другое.

Другой пример с использованием параметров управления форматом бумаги:

pandoc -V geometry:paperwidth=4in -V geometry:paperheight=6in -V geometry:margin=.5in -o file.pdf file.md

Здесь задается ширина листа, высота и значение полей.

Управление шрифтами

В качестве значения опции -V можно указать несколько значений для шрифтов:

Каждый из этих типов шрифтов используется в документе для различных целей (например, для оформления листингов программ или выделения различных фрагментов текста).