Mi esquema de trabajo

Hemos aprendido a crear documentos y presentaciones en LaTeX, sabemos escribir macros propias y convertir archivos de un tipo a otro. Os podría contar cómo cambiar la fuente del texto o hablar de diferentes paquetes para modificar la apariencia de nuestro documento, pero creo con lo que ya sabéis sois muy capaces de entender por vosotros mismos cualquier paquete leyendo el manual. Así que en este último capítulo voy a hablar de algo que desde mi punto de vista no se trata lo suficiente: cómo trabajo con LaTeX en, por llamarlo de algún modo, un entorno de producción. Veremos cómo organizo los archivos, qué software y paquetes utilizo y algunas cosillas sobre compilación y colaboración.

¿Cómo me organizo?

Como he dicho montones de veces la organización es fundamental, aunque no igual para todo el mundo. Cuando el documento es corto solo separo las imágenes en una carpeta propia y escribo el contenido en el mismo archivo en el que defino el estilo. Si, por el contrario, se trata de un documento más extenso, como un libro, creo un archivo de LaTeX principal desde el que llamo a las diferentes secciones o capítulos con \include{} o \input{}.

A la hora de separar los archivos, tiendo a separarlos por tipo, lo que me facilita aplicarles a todos ellos una misma acciónPensad en cambiar el formato de todas las imágenes o buscar una palabra en el contenido.. En ocasiones hago una segunda clasificación por capítulos si tengo muchas figuras o extractos de código, por ejemplo.

├── principal.tex
├── estilo.bst
├── referencias.bib
│
├── Contenido
│   ├── 1.Intro.tex
│   ├── 2.Segundo.tex
│   └── ...
│
├── Código
│   ├── listing.py
│   └── ...
│
└── Figuras
    ├── fig.eps
    └── ...

Si la definición del estilo es muy larga o estoy usando una clase que he descargado por ahí, añado una carpeta extra para meter todo eso y no volverme loca.

En cuanto al software, suelo escribir en Kile con el corrector ortográfico activado, el ancho de línea fijado a 80 caracteresReducir el ancho de línea resulta útil a la hora de ver los cambios que hemos llevado a cabo en determinado archivo, git nos pinta la línea modificada entera, si es gigante será más difícil encontrar la palabra exacta que hemos cambiado. y una orden personalizada para compilar que genera el documento con referencias cruzadas y bibliográficas en un solo click. Además, uso Jabref para gestionar la bibliografía y git para tener todo bajo control de versiones.

Cuando escribo en Markdown para posteriormente compilar con Pandoc uso el modo Markdown de Emacs junto con unos atajos de teclado que ejecutan make que tengo definidos. Si añadimos además una línea al Makefile para que nos abra directamente el pdfxdg-open PDF en escritorios que cumplan con Freedesktop y explorer.exe PDF en Windows. tenemos un entorno de edición que no tiene nada que envidiarle a ningún IDE.

¿Qué paquetes uso?

Aparte de los típicos paquetes de idioma (babel o polyglossia) o de matemática (amsmath, amsthm, amssymb) de los que ya hemos hablado y los básicos como xcolor y graphicx, habitualmente utilizo los siguientes paquetes:

¿Cómo compilo?

Suelo compilar con xelatex porque, aunque es más pesado y lento, me evita tener que configurar la codificación y es mucho más sencillo cambiar de fuente. Si me temo que es posible que un documento vaya a ser compilado con xelatex y pdflatex me curo en salud, uso el paquete ifxetex y defino las cosas problemáticas, principalmente el idioma y la fuente, para ambos compiladores:

\usepackage{ifxetex}

\ifxetex
  % Si se usa xelatex
  \usepackage{polyglossia}
  \setmainlanguage{spanish}
  
  % Fuente
  \usepackage{fontspec}
  \setmainfont{DejaVu Serif}
  
  % Tabla en lugar de cuadro
  \gappto\captionsspanish{
  \renewcommand{\tablename}{Tabla}%
  \renewcommand{\listtablename}{Índice de tablas}%
  }
  
\else
  % Si se usa pdflatex
  \usepackage[spanish,es-tabla]{babel}
  \usepackage[utf8]{inputenc} 
  \usepackage[T1]{fontenc}
  \usepackage{DejaVuSerif}
\fi

¿Y para colaborar?

Usando git, evidentemente. Los que no sepan git que aprendan y los que no quieran aprender que se vayan a vivir a una torre en el medio de la nada. El hecho de tener bajo control todos los cambios, trabajar en paralelo sin pisarnos los unos a los otros y poder probar cosas nuevas sin destruir lo que ya tenemos bien merece el esfuerzo. Si además tenemos una copia de seguridad de nuestro trabajo en un repositorio en la red y podemos comentar los cambios de los demás con facilidad ni os cuento.

A los tengáis a alguien que os exige que cambiéis cosas y que luego se lo demostréis os vendrá bien latexdiff, que genera un documento legible para los no iniciados y no nos cuesta un trabajo adicional.

Conclusión final

¡Hemos llegado al final! ¿Os dais cuenta de todo lo que sabemos ya? Somos capaces de crear un documento profesional con sus referencias y su código colorinesco que no haga que le sangren los ojos a las personas con cierta educación tipográfica. Y todo usando un par de programas, unos paquetes exquisitamente escogidos y nuestras manitas. Cómo molamos.

En definitiva, LaTeX no es tan fiero como lo pintan y cualquiera (¡hasta yo!) puede aprender a usarlo si le dedica un poco de tiempo y ganas. Así que ¡ahora mismo todos a generar documentos elegantes!

Referencias

git + LaTeX workflow en StackOverflow

El formato de una publicación: cuello de botella en la edición

Tips on Writing a Thesis in LaTeX

Pro git


Anterior: La opción Pandoc, [Contenido]