На страницах этого блога уже не раз встречалось загадочное слово Pandoc. Пожалуй, самое время рассказать об этой штуке подробнее.
Если совсем коротко, то Pandoc — это универсальный текстовый конвертор. Очень удобная и полезная штука, сейчас попробуем разобрать почему.
Вот есть такая технология, как Markdown. Хороша тем, что позволяет удобно и без извратов, неторопливо в оффлайне готовить материалы, которые потом при необходимости мгновенно конвертируются в HTML и превращаются в хорошо оформленные
Ценная технология, да. Но при
Так вот, Pandoc является ответом на все эти вопросы. Он понимает кучу форматов на входе и выходе. Из практически любого «простотекстового» представления может сделать хоть HTML, хоть PDF (с одним уточнением, о котором чуть ниже), хоть (буэ!) Word, хоть даже электронную книгу в FB2 (буээээ!!) или EPUB.
Кроме того, он бесплатен, существует под все хоть
pandoc -f markdown MyText.txt -t pdf -o MyText.pdf
Через весьма непродолжительное время рядом с вашим файлом образуется его красивое -f
задаёт входной формат текста, ключ -t
формат результата, а ключ -o
определяет имя файла, в который нужно результат записать (если не указано, результат уйдёт на стандартный вывод и его можно перенаправить, например, в буфер вот так). Подробности можно найти в обширной документации.
Если ваш любимый текстовый редактор позволяет выполнять вызовы внешних программ применительно к редактируемым файлам, то вам очень повезло — достаточно настроить эти вызовы со всеми их ключами ровно один раз и затем просто нажимать кнопочки для преобразований. Если такие вызовы не поддерживаются — тоже ничего страшного, их можно настроить в файловом менеджере (FAR отлично подойдёт!) или, на совсем уж худой конец, подготовить пакетные файлы.
Несколько важных нюансов.
- Pandoc умеет работать не только с файлами на диске, но и со ссылками. То есть можно сохранять и преобразовывать статьи с любимых сайтов… хотя, скорее всего, результат понадобится доводить до ума руками.
- Часть преобразований (например, в PDF) выполняется посредством вызова pdfLaTeX или его юникодовской инкарнации XeLaTeX. Входит в состав любой современной
TeX-дистрибуции , хоть платной, хоть бесплатной. - Поддерживается конвертация с шаблонами и управляющими переменными. Для их полноценного использования придётся поработать со специальным макроязыком, но зато на выходе можно получать что угодно с любыми желаемыми нюансами.
- Поддерживается работа с математическими формулами через тот же LaTeX. То есть — формулы любой красоты и сложности. Вот здесь, например, посмотрите — этот материал полностью набран в обычном текстовом редакторе, затем сконвертирован при помощи Pandoc, и его публикация заняла буквально пару минут.
В общем, очень мощный и гибкий инструмент, всячески рекомендую. Живёт здесь, устанавливается без малейших проблем, собственной настройки практически не требует. Вот настроить шаблоны, чтобы на выходе получалось именно то, что нужно вам — это да, это придётся. Но оно, честное слово, того стоит.