Archivo de la etiqueta: escribir

Lo que he aprendido: encabezados y pies de página en LaTeX

Esto no es algo que haya aprendido ahora mismo, sino algo que he usado anteriormente pero que quería dejar más o menos documentado para el futuro: la personalización de encabezados y pies de página en LaTeX mediante el paquete fancyhdr.

¡Veamos entonces cómo funcionan los estilos de página en LaTeX y cómo cambiarlos!

Estilos de página en LaTeX

Antes de ponernos a modificar encabezados y pies alegremente vamos a ver qué estilos define LaTeX y cómo cambiar de unos a otros.

Tenemos cuatro estilos de página:

  • empty: no tiene ni encabezado ni pie. Es el estilo de la portada, por ejemplo.
  • plain: no tiene encabezado y el pie muestra el número de página centrado. Es el estilo de los artículos y de las primera página de los capítulos.
  • headings: no tiene pie, el encabezado muestra el número de página y el nombre del capítulo, sección o subsección dependiendo del tipo de documento. Es el estilo por defecto en los libros.
  • myheadings: como el headings pero añade la información proporcionada por el usuario.

Seguir leyendo →

Lo que he aprendido: cuadros de texto de colores en LaTeX

Estaba yo informándome sobre entornos para el próximo capítulo del cursete de LaTeX cuando me he tropezado con el paquete tcolorbox, que nos permite hacer cuadros de texto de colores. Este simpático paquete tiene un manual de solo 480 páginas contándonos todos los tipos de cuadros que puede crear. Para tener un idea podemos echarle una ojeada a los ejemplos que proporciona y luego ya si eso nos leemos lo que nos haga falta del tochaco.

Cosas que me parecen interesantes de este paquete:

  • Se les puede poner título a los cuadros de texto, interesante para poner notas, ejemplos o alertas en el documento.
  • Se pueden numerar los cuadros y hacer a una lista de ellos.
  • Hay un tipo de cuadro que muestra el código (en principio de LaTeX) y el resultado simultáneamente. Usa los paquetes listings, listingsut8 o minted para dar formato al código.
  • Hay funcionalidades específicas para escribir tutoriales para LaTeX y documentación.
  • Se puede guardar el contenido de un cuadro para usarlo luego.

Es muy fácil de usar, para crear un cuadro usamos el entorno tcolorbox. Como argumentos opcionales podemos darle el título del cuadro (title) y su estilo (fontitle), el color de fondo (colback) o el del borde (colframe), entre otras cosas:

\begin{tcolorbox}
[colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,title=Nota]
 Es muy importante tener en cuenta \ldots
\end{tcolorbox}

Seguir leyendo →

Lo que he aprendido: registro de cambios en un documento LaTeX con git

Estoy echando una mano a mi hermano con una documentación to guapa para un tema que mejor os cuenta él y me preguntó cómo incluir un registro de cambios en el documento. Un registro de cambios no puede ser muy complejo de hacer si estamos usando git, pensé, así que me puse a investigar las diferentes alternativas, empezando por la opción evidente: git log.

Jugando con git log

Empecemos por los inicios, como todos los que usáis git sabéis mejor que yo, git log nos permite dar un formato al historial de commits con las opciones --pretty y --format. Por ejemplo, podemos mostrar la fecha y la descripción del commit haciendo:

git log --pretty=format:"%ad%x09%s" --date=short > cambios.log

Seguir leyendo →

Lo que he aprendido: blindtext en LaTeX

Estoy ahora mismo probando una plantilla de LaTeX y recordado una herramienta interesante para estas labores: el paquete blindtext. Este paquete es similar al típico Lorem Ipsum, es decir, nos crea texto sin sentido, pero tiene ciertas funcionalidades añadidas:

  • Depende del idioma así que se puede ver qué tal va la silabación. Ahora mismo los idiomas disponibles son inglés, francés, alemán, latín y catalán. Es curioso que en cosas de LaTeX haya casi siempre catalán como opción, los demás deberíamos ponernos las pilas.

  • A diferencia del paquete lipsum, la implementación de Lorem Ipsum para LaTeX, que solo nos crea texto, tenemos la posibilidad de generar listas, ecuaciones y hasta un documento completo si se lo pedimos.

  • Podemos crear texto formado por pangramas, frases que contienen todas las letras del abecedario de un idioma concreto1, interesante para probar tipografías. También podemos usar trozos de la Biblia, cosa que me parece absolutamente genial aunque utilidad práctica le veo menos.

Es muy fácil de usar, para crear texto sin más tenemos dos comandos:

  • \blindtext crea un trozo de texto corto. Opcionalmente le podemos dar el número de veces que queremos que repita el texto con \blindtext[REP]
  • \Blindtext crea un trozo de texto largo. Puede tomar como opciones el número de párrafos y el de repeticiones con \Blindtext[PAR][REP]

Podemos fabricar un documento completo, largo o corto, con y sin ecuaciones:

  • \blindocument crea un documento corto, si delante activamos las matemáticas con \blindmathtrue tendrá también ecuaciones. El documento creado tendrá títulos de sección de todos los niveles y varios tipos de listas.
  • \Blindocument crea un documento largo, funciona exactamente igual que el anterior.

  • \blindmathpaper crea un documento con ecuaciones.

Hay otras opciones para crear listas y así, en el manual lo tenéis bien explicado.

Os pongo para terminar un ejemplo con diferentes opciones para que hurguéis si os parece interesante. Lo único que hay que tener en cuenta es que el idioma que usa es el del paquete babel. He puesto una comparación con lipsum también ya que estaba.

\documentclass[a4paper,11pt]{article}

% Idioma y codificación
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage[english]{babel}

% Paquetes para texto de relleno

% Blindtext
% Opciones pangram, bible, random (defecto)
\usepackage[pangram]{blindtext}

% Lorem ipsum
\usepackage{lipsum}

\begin{document}

\tableofcontents

% Texto corto
\blindtext

% 3 párrafos, 2 repeticiones
\Blindtext[3][2]

% Párrafos 5 y 6 creados con Lorem Ipsum
\lipsum[5-6]

% Documento completo con matemáticas
\blindmathtrue
\blinddocument

% Documento completo con matemáticas
\blindmathpaper

\end{document}
Lorem Ipsum por Sudweb vía Attribution Engine. Licencia CC BY-NC-SA.

Referencias

Manual de blindtext(pdf)

Alternative to “Lorem Ipsum” en TexExchange

El paquete lipsum

Otros generadores de texto


  1. El veloz murciélago hindú comía feliz cardillo y kiwi. ¿Lo recordáis? 

Lo que he aprendido: referenciando imágenes en Markdown

Continúo con mi transición al texto plano, esta vez intentando referenciar figuras desde el texto, algo indispensable si te dedicas a la academia como es mi caso. Después de una pequeña investigación he descubierto tres maneras de hacerlo. Os las cuento:

Lo fácil: modo Latex

Esta es la manera más evidente si usas pandoc para crear el archivo de salida y si ese archivo de salida es un pdf. Pandoc convierte de Markdown a Latex y luego de Latex a pdf así que se puede usar directamente Latex dentro del Markdown. Es lo que he estado haciendo hasta ahora, pero no me gusta especialmente porque no es Markdown.

Consiste simplemente en poner una etiqueta a la figura en el caption con \label{nombre} y luego referenciarla cuando nos parezca con \ref{nombre}. Es fácil y práctico.

Lo difícil: modo pandoc-fignos

Pandoc-fignos es un paquete que se creó para poder referenciar figuras con sintaxis de Markdown. Tal y como explica en su documentación, para insertar la figura hay que seguir la siguiente estructura:

![Caption](image.png) {#fig:description}

Y luego se referencia en el texto o bien con @fig:description o {@fig:description}.

Luego solo falta llamar a pandoc con el filtro incluido, es decir:

$ pandoc input --filter pandoc-fignos -o output

O lo podemos añadir al supermakefile que hicimos el otro día, que quedaría:

Solo me queda decir, aunque ya lo pone en la docu, qué hay que hacer para instalarlo. No es muy complicado, pero necesitamos tener Python instalado y el chisme de manejar paquetes de Python setuptools también. Yo como tengo instalado Anaconda, para instalarlo llamo a Anaconda en el terminal y luego hago:

conda install -c https://conda.anaconda.org/anaconda setuptools

Luego llamamos a pip para que nos instale pandoc-fignos:

$ pip install pandoc-fignos

¡Ya podemos jugar!


NOTA: yo he hecho esto en un Windows con Cygwin y Anaconda instalados, para cualquier otro caso habrá pequeñas diferencias. Comentadme y ya veremos si las podemos solucionar 🙂


ACTUALIZACIÓN

He hecho la prueba de instalar la historieta en GNU/Linux, en una distro basada en Debian concretamente y funciona perfect. Hay que hacer:

$ sudo apt-get install python-pip # Instalar pip
$ sudo easy_install -U setuptools # Instalar/actualizar setuptools
$ sudo pip install pandoc-fignos  # Instalar pandoc-fignos

Más

Si os venís arriba podéis probar a referenciar ecuaciones con pandoc-eqnos

[…] escribir de manera subjetiva y en estilo libre en mi diario me acerca más a alguna forma de veracidad. Cuando escribes, puedes recurrir a tu propia experiencia, pero desgajándola de ti mismo. Das con determinadas verdades. Otras te las inventas. Esos incidentes que te inventas clarifican y explican tanto, si no más, como los que realmente ocurrieron.

Diario de Mark Renton, Skagboys – Irvine Welsh