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

LaTeX para maquetar rol (3). Pdf con capas

Los mapas, ¿con o sin trama hexagonal? Creando un pdf con capas podemos dejar que el usuario elija lo que prefiera: insertamos una capa con el mapa base y otra con la trama hexagonal. Activando o desactivando las capas el lector ve e imprime el contenido que prefiere. Veamos cómo se hace esto en LaTeX.

Si no estás familiarizado con LaTeX te recomiendo que consultes el primer artículo de la serie y este wikilibro.

Para crear el mapa por capas utilizaremos dos extensiones (packages) de LaTeX: ocgx2 y tikz.

Extensión ocgx2

ocgx2 permite insertar y manejar capas en un documento pdf. Su sintaxis es muy sencilla:

Cargamos la extensión en el preámbulo de nuestro documento:

\usepackage{ocgx2}

Cuando queremos que algún elemento (texto, imágenes) quede en una capa, lo incluimos dentro de un entorno ocg

\begin{ocg}{nombre de la capa}{id}{1}

blah... blah... blah...

\end{ocg}

nombre de la capa es el nombre que aparecerá en el visor pdf, de forma que el usuario pueda interactuar con la capa.

id es un nombre único que sirve para identificar las capas internamente.

El 1 indica que esta capa estará visible al abrir el pdf. Con un 0 indicamos que no estará visible.

Podemos incluir algunas opciones adicionales entre corchetes [], por ejemplo

\begin{ocg}[listintoolbar=never]

No listará la capa en el visor, y el usuario no podrá interactuar con ella. Para más información consulta la documentación aquí (corresponde a una versión anterior, pero incluye las funcionalidades básicas).

Extensión tikz

tikz sirve para generar y manipular gráficos vectoriales. Es una extensión muy potente y cuenta con una abultada documentación, pero aquí solo vamos a utilizarla para posicionar nuestros gráficos, previamente generados con un programa externo (en mi caso, inkscape).

Para utilizarlo, como siempre cargamos la extensión en nuestro preámbulo:

\usepackage{tikz}

En el documento, abrimos un entorno tikzpicture, y dentro colocamos nuestros gráficos por medio de la instrucción \node.

\begin{tikzpicture}
\node at (0,0)
{\includegraphics{mapa.pdf};
\end{tikzpicture}

at (0,0) indica dónde queremos situar este elemento dentro del entorno tikzpicture que hemos abierto.

Hay que cerrar cada instrucción \node con un ;

Mapa y trama hexagonal

El mapa que vamos a utilizar corresponde a La Isla del Dragón, la localización de la campaña El Sol de Hielo que estoy preparando.

En Inkscape he creado tres capas: un marco, el mapa base y la trama hexagonal. Seguidamente exporto como un documento pdf independiente cada una de estas capas (marco.pdf, hexgrid.pdf, mapa.pdf), asegurándome de que tienen las mismas dimensiones.

 

marco
marco.pdf
hexgrid
hexgrid.pdf
mapa
mapa.pdf

 

Uniéndolo todo

Ahora combinamos ocgx2 con tikz de la siguiente manera: abrimos un entorno tikzpicture, y situamos cada uno de los pdf en la misma posición \node at (0,0), pero dentro de capas distintas.

El código  sería este:

\documentclass[a4paper]{article}
\usepackage{ocgx2}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}

\begin{ocg}{Mapa}{map01}{1}
\node at (0,0)
{\includegraphics{mapa.pdf}};
\end{ocg}

\begin{ocg}{Trama hexagonal}{map02}{1}
\node at (0,0)
{\includegraphics{hexgrid.pdf}};
\end{ocg}

\begin{ocg}[listintoolbar=never]{Marco}{map03}{1}
\node at (0,0)
{\includegraphics{marco.pdf}};
\end{ocg}

\end{tikzpicture}
\end{document}

Hay que compilar dos veces el código para obtener el resultado esperado, que se puede descargar aquí. El usuario puede ver y manipular dos capas (el mapa base y el entramado hexagonal), y el marco siempre está visible.

Ten en cuenta que no todos los visores de pdf pueden manejar capas (Adobe Reader sí puede).

 

Deja un comentario