Inicio Qué es Sagittarius Productos Pedidos Descargas El Mundo de Sagittarius Blog Contacto

LaTeX para maquetar rol (5). Bloques con información repetitiva

Supongo que la mayoría conocéis la utilidad combinar correspondencia de los procesadores de texto: una carta modelo se combina con una base de datos de direcciones para crear cartas personalizadas.

En LaTeX también tenemos esa opción, como veremos enseguida, por si queremos utilizarlo para nuestras cartas. Su utilidad no es muy evidente para un juego de rol, pero puede venir bien para bloques con información repetitiva, como estadísticas de monstruos o personajes no jugadores.

El propósito es tener los datos en un documento aparte, de forma que podamos corregirlo, actualizarlo o reutilizarlo fácilmente. Veamos cómo lo hacemos en LaTeX (entradas anteriores: 1, 2, 3 y 4).

Para ello debemos cargar en el preámbulo el paquete correspondiente, en este caso textmerg.

\usepackage{textmerg}

En el cuerpo del documento definimos los campos con la etiqueta \Fields{}, separados por \, en el orden en que luego aparecerán en el documento.

\begin{document}

\Fields{\Nombre\Fuerza\Destreza\Inteligencia\Voluntad}

A continuación utilizamos el comando

\Merge{datos}{texto}

datos es un fichero de texto plano que contiene la información de cada entrada, con la siguiente estructura.

Entrada1-dato1
Entrada1-dato2
Entrada1-dato3

Entrada2-dato1
...

Los datos van separados por saltos de línea, y cada bloque de datos va separado por una línea en blanco.

texto es el texto que queremos que se repita para cada entrada. Cuando LaTeX encuentra la etiqueta \Nombre, coloca ahí el primer dato de la entrada y cuando encuentre la etiqueta \Fuerza coloca el segundo dato, y así con el resto de etiquetas. A continuación vuelve a generar el mismo texto pero pasa al siguiente bloque de datos.

Con un ejemplo se verá más claro.

Tenemos el siguiente documento de texto plano fieras.txt

Oso
31
10
3
12

León
25
18
4
12

En LaTeX ejecutamos las siguientes instrucciones:

\begin{document}

\Fields{\Nombre\Fuerza\Destreza\Inteligencia\Voluntad}

\Merge{fieras.txt}
{
\Nombre

Fuerza: \Fuerza\\
Destreza: \Destreza\\
Inteligencia: \Inteligencia\\
Voluntad: \Voluntad
\par
}

\end{document}

Se genera un documento con todas las entradas que tengamos en fieras.txt. El comando \par inserta un salto de párrafo al final de cada entrada. Alternativamente podemos utilizar \newpage para colocar cada entrada en una página.

 

 

Deja un comentario