Curso no convencional de LaTeX: mi proceso de escritura

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ón1. 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 caracteres2 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 pdf3 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:

  • parskip para separar los párrafos mediante una línea blanca en lugar de sangrarlos.

  • listings para resaltar la sintaxis de los extractos de código.

  • blindtext para generar documentos de prueba y testar el formato.

  • hyperref para producir hipervínculos para las referencias cruzadas y bibliográficas así como incluir enlaces en el documento. Suele ser preferible cargarlo el último.

  • fontspec para establecer la fuente del documento (para xelatex).

  • fancyhdr para personalizar los encabezados y pies de página.

  • titlesec para modificar el estilo de los título de secciones y capítulos.

  • booktabs para tener más opciones para personalizar las tablas y que en general queden mejor.

  • microtype para ajustar las opciones microtipográficas y que el documento tenga mejor aspecto.

¿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


Suena:


  1. Pensad en cambiar el formato de todas las imágenes o buscar una palabra en el contenido. 
  2. Reducir 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. 
  3. xdg-open PDF en escritorios que cumplan con Freedesktop y explorer.exe PDF en Windows. 
Anuncios

2 pensamientos en “Curso no convencional de LaTeX: mi proceso de escritura

¡Opina sin miedo! (Puedes usar Markdown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s