2014-05-09 pandoc

by Vasil Kolev

Никога повече няма да ползва WYSIWYG редактор, за да си пиша презентациите.

(tldr – може да видите какво ползвам в github и да си го нагласяте по ваш вкус)

Преди rogueconf бях решил, че повече не ми се занимава с libreoffice и кривото писане на лекции, та с малко търсене в google и съвети от хора открих pandoc, който се оказа доста удобен инструмент – от markdown генерира pdf презентации (и reveal.js и други такива бози), като сгъва markdown-а до latex, и от него прави pdf чрез beamer модула. Пример за това може да се види в лекцията ми от rouge2014.

Аз обаче имам навика да пиша и текста на самата лекция, освен презентацията, т.е. процесът ми е “бележки, презентация, текст, и после редактиране на последните две докато стават за нещо”. Дразнеше ме идеята, че трябва да редактирам два файла и че не мога да свържа добре нещата, защото обичам после и да блогна текста.

В крайна сметка стигнах до setup-а от github repo-то горе, който изглежда по следния начин:
В един .pandoc файл си пиша презентацията, и след всеки slide – текстът, в html коментар (който pandoc-а игнорира);
Чрез Makefile (щото съм мързел) от .pandoc файла генерирам:
презентация (с разни параметри, които ще разкажа);
бележки (реално текстът на .pandoc файла, подреден чрез a2ps така, че да се събира добре на landscape A4 листи);
blog post, който казва номер на slide, заглавие и след това текста от коментара (което се прави чрез тъп php скрипт, който си написах).

(едно от големите удобства на makefile и т.н. е, че може да си отворите презентацията с evince, при всяка промяна на файл да пускате make и той автоматично ще reload-не файла, така че да си виждате промените)

За да генерирам презентацията, както аз искам (т.е. какво може лесно да пипнете по кода горе) са правени следните неща:

–slide-level 2 – на колко “нива” са ви slide-овете. Примерната презентация е на 2, тази за pCloud api-то е на 3, като май 3 е идеално за нормално 40-минутна презентация и изглежда много добре с тая тема (Warsaw), понеже така отгоре се виждат секцията и под-секцията. Мисля, че май първо видях Харалд Велте да ползва нещо такова и бая ми хареса, но не бях мислил как го прави.

–template beamer.my – наложи се да пипна стандартния beamer template, щото по default не изкарваше кирилица (за pCloud-ската го използвах и да сложа логото в нея, което беше бая куц процес). Също така там има едно място, в което може да махнете да показва slide-ове за тези, които не са от най-долното ниво (т.е. в примерната презентация да няма “проблемът”, “решението” и “примери”).

-V colortheme:krok – има beamercolorthemekrok.sty в директорията, което е crane color theme от beamer-а, само че със сменени цветове (при мен зелено, в pcloud API-то – странно синьо).

Разбира се, може да си изберете и други теми, на този сайт има матрица с комбинациите от тема и тема за цветовете (темите за шрифтовете са малко и май default-а е ок).

Цялото нещо си има и проблеми – добавянето на лого беше супер мъчително (и стана със странен hack, в който не ми се навлиза), да се влияе на шрифтовете от markdown-а до latex-а е малко сложно, и има някакви странности (например, като сложех коментар веднага след заглавния slide, ми добавяше един празен). Също така ако не знаете latex (като мен) може да ви е доста криво да си правите някакви custom неща, но па google е добър приятел и даже в stackoverflow им texexchange, където хората редовно си задават такива въпроси и може да намерите нещо полезно.

Tags:

2 Responses to “2014-05-09 pandoc”

  1. Zeridon Says:

    Ще пуснеш ли версиите на beamer, texlive-latex-base и pandoc, че нещо не ми изкарва секциите в заглавката на beamer темплейта :(

  2. Vasil Kolev Says:

    ii texlive 2014.20141024-1 all TeX Live: A decent selection of the TeX Live packages
    ii texlive-base 2014.20141024-1 all TeX Live: Essential programs and files
    ii texlive-binaries 2014.20140926.35254-2 amd64 Binaries for TeX Live
    ii texlive-fonts-recommended 2014.20141024-1 all TeX Live: Recommended fonts
    ii texlive-lang-cyrillic 2014.20141024-1 all TeX Live: Cyrillic
    ii texlive-latex-base 2014.20141024-1 all TeX Live: LaTeX fundamental packages
    ii texlive-latex-extra 2014.20141024-1 all TeX Live: LaTeX additional packages
    ii texlive-latex-recommended 2014.20141024-1 all TeX Live: LaTeX recommended packages
    ii texlive-luatex 2014.20141024-1 all TeX Live: LuaTeX packages
    ii texlive-pictures 2014.20141024-1 all TeX Live: Graphics, pictures, diagrams
    ii texlive-xetex 2014.20141024-1 all TeX Live: XeTeX and packages

    ii latex-beamer 2014.20141024-1 all TeX Live: transitional dummy package

    ii pandoc 1.12.4.2~dfsg-1+b14 amd64 general markup converter
    ii pandoc-data 1.12.4.2~dfsg-1 all general markup converter – data files

Leave a Reply