Конвертор текстовых форматов 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 задает программу для компиляции.
Варианты:
- pdflatex
- xelatex
- luatex
Выбор 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 можно указать несколько значений для шрифтов:
- mainfont
- sansfont
- monofont
Каждый из этих типов шрифтов используется в документе для различных целей (например, для оформления листингов программ или выделения различных фрагментов текста).