2017-06-14

vak: (Default)
Я давно мечтал найти простой способ делать документацию. Word и LibreOffice не устраивают: слишком трудоёмко, LaTeX - слишком сложно. Наконец нашёл приемлемый вариант. Процесс укладывается в четыре шага.

(1) Текст готовится в формате MarkDown. Это по сути простое текстовое представление с самоочевидными правилами разметки, вставки рисунков и подготовки таблиц.

(2) Рисунки делаются в формате SVG в редакторе Inkscape или из скрипта на Питоне. Затем рисунки конвертируются в формат EPS для вставки в документ.

(3) Исходный текст преобразуется в формат OpenDocument (он же ODT или *.odt) утилитой Pandoc. При этом стили форматирования подставляются из заранее заготовленного файла-шаблона. Формат ODT понимают LibreOffice, Word и многие другие wysiwyg-редакторы.

(4) Файл ODT преобразуется в PDF посредством LibreOffice.

Весь процесс легко автоматизируется посредством Makefile. Последовательность выглядит примерно так:
inkscape -z picture.svg -E picture.eps
pandoc -f markdown -t odt --reference-odt=my-style.odt input.md -o output.odt
soffice --convert-to pdf output.odt --headless