Pàgines

dimarts, 6 d’agost del 2013

De markdown a beamer amb pandoc

Una manera ràpida de crear presentacions

Abstract (en): Discussion about how to prepare a Beamer presentation from a markdown format text file with pandoc.

Si hi ha una feina pesada a l’hora de crear presentacions amb la classe beamer és escriure’n el codi. És igual que utilitzem una plantilla, sempre hi ha molta feina a escriure el codi.

Però hi ha una solució que ens simplifica la feina: escriure el contingut de la presentació en format markdown i en acabat amb l’ajuda de pandoc transformar-lo en format LaTeX o, directament, a un PDF generat per beamer.

Pandoc és un programa que permet passar d’un llenguatge de marques a un altre i del que hem parlat en l’article Creació d’epub des de LaTeX amb pandoc i al nostre blog personal Bitàcola. Ara en veure una nova i potent possibilitat relacionada amb la creació de presentacions.

Partim d’un fitxer de text escrit en format markdown que podem anomenar test.md. En aquest fitxer només hi posarem el contingut que vulguem que tingui la nostra presentació amb unes poques marques que tindran el següent significat un cop processades per pandoc:


  • Els títols de Nivell 1 (marcats amb el prefix #) seran les seccions de la presentació.
  • Els títols de Nivell 2 (prefixats amb ##) seran els títols de les diapositives.
  • Podem iniciar una diapositiva amb qualsevol moment amb una sèrie de guionets: ------------------
  • També, tot seguint la sintaxi de markdown, hi podem incloure enllaços, imatges així com qualsevol comandament LaTeX.

Un cop tenim el fitxer markdown test.md fet podem triar dos camins a seguir:

1. De markdown a LaTeX

Utilitzant pandoc podem transformar el fitxer de text markdown test.md en un fitxer de LaTeX que podem anomenar test.tex. L’ordre de pandoc és:
pandoc test.md --slide-level 2 -t beamer -o test.tex
el fitxer test.tex resultant conté tot el codi de beamer tan feixuc d’escriure.

Aleshores podem crear un fitxer, diguem-li matriu.tex amb les especificacions de la presentació, el tipus de lletra i els temes de beamer a usar, etc i que finalment cridi al contingut desat a test.tex de manera que només amb un parell de passades de pdflatex matriu.tex tindrem una presentació de beamer en format PDF en la que controlem fins al més mínim detall. Una presentació perfecta.

2. De markdown a (beamer)PDF

El camí directe que ens ofereix pandoc és transformar el fitxer test.md en un pdf amb la presentació de beamer anomenat, per exemple test.pdf. L’ordre de pandoc és:
pandoc --toc --slide-level 2 -V theme:NomTema -t beamer test.md -o test.pdf
Observem que aquesta ordre permet triar el tema de beamer que s’utilitzarà i que equival al comandament de beamer \usetheme{NomTema}.

Com és costum adjuntem els fitxers que han permès crear la presentació PDF adjunta. Trobareu tant el fitxer testbeamer.md, com testbeamer.tex i el fitxer matriu.tex que permet tenir un control més detallat del procés. Podreu trobar les darrers actualitzacions d’aquest fitxers a github: https://github.com/jqueralt/md2beamer

+info: Beamer presentations using pandoc, markdown, LaTeX, and a makefile

+info: Producing slide shows with Pandoc

Esperem que pandoc estalviï a partir d’ara força temps a l’hora de crear presentacions.

Publicat per primera vegada el dissabte 1 de setembre de 2012.

Cap comentari:

Publica un comentari a l'entrada