Un hilo de #tipografía digital. Estoy en pleno montaje del núm. 44 de la revista de estudios neogriegos y bizantinos 'Erytheia', que próximamente irá a imprenta. ¿Cómo se compone una revista académica mediante Org Mode y LuaTeX? Veamos algunas capturas del proceso en curso...
En primer lugar, defino un nuevo proyecto para Org-Publish, que será también un repositorio Git. Org-Publish me permite tener un control total sobre cada subdocumento y sabe colocarme todo en su sitio.
Org-Publish se encarga de exportar a *.tex cada subdocumento *.org, usando esta configuración de filtros 'quirúrgicos' en Elisp que he escrito y que residen en el archivo 'lisp'.
También tiene en cuenta un archivo erytheia.setup, dentro del proyecto, donde añado directivas y macros de Org.
El archivo "maestro" que contiene la revista se excluye del flujo de Org-Publish. Se compila de forma asíncrona con latexmk. Esto me permite trabajar en subdocumentos, mientras latexmk está corriendo en segundo plano. Para compilar el archivo maestro escribí esta función.
El archivo maestro es un típico documento de Org con directivas, nodos y subnodos. Algunos nodos no se
exportan y sirvan sólo para configuración. Veis que, de momento, tengo 4 artículos, uno ya listo (el autor le ha dado el visto bueno).
si despegamos uno de los artículos, vemos un cajón de propiedades con una serie de parámetros: el autor del artículo, su correo, la institución o universidad, el título en inglés, el ORCID, la fecha recibido/aceptado, la cabecera de las páginas impares, etc.
Esos datos no los pongo a mano. Uso un sistema de marcas propio en el documento original, lo exporto a Org con Pandoc y luego extraigo todos los datos mediante esta función, que usa Org-capture para poblar las propiedades y añadir el nodo.
Para que esas propiedades se exporten como las macros de LaTeX correspondientes (y que tengo ya definidas en otra parte), escribí este filtro de preproceso, que añade todo antes de la exportación.
¿Y la parte "dura" de LaTeX? Bueno, pues todo el preámbulo está en otro archivo Org, concretamente el llamado 'conf'. Está todo convenientemente ordenado y escrito mediante programación literaria gracias a org-babel y org-babel-tangle.
Eso es comodísimo, porque si quiero, por ejemplo, usar código y funciones en Lua, puedo usar bloques de Lua, y luego injertar ese código en bloques de LaTeX mediante el argumento de cabecera ":noweb".
Share this Scrolly Tale with your friends.
A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.