Uno de los aspectos más interesantes de LaTeX es su parecido a un lenguaje de programación. Mostramos aquí un ejemplo de como aprovechar la definición de comandos propios para incluir figuras en nuestros documentos y reutilizar código de una forma muy sencilla.

En LaTeX uno puede definir nuevos comandos y entornos, usar condicionales y declarar variables para producir ficheros fuente limpios, configurables y versátiles. En la mayoría de lenguajes de programación, los desarroladores intentan encapsular lógica común en funciones y LaTeX no es distinto. Puedes, y debes, definir tus propios comandos (con \newcommand o \renewcommand).

Un ejemplo en LaTeX

Observe el código necesario para incluir una figura en un documento:

\begin{figure}[htp]
  \centering
  \includegraphics[width=10cm]{figs/myfigure}
  \caption{Este es un ejemplo de figura.}\label{fig:myfigure}
\end{figure}

Este código inserta en nuestro documento la figura almacenada en el fichero figs/myfigure.eps (Nota: la extensión de fichero .eps no es necesaria). La figura estará centrada y habrá una nota a su pie. También definimos una etiqueta para referenciarla desde cualquier lugar del texto.

Cuando incluimos múltiples figuras en un documento, se necesita repetir este código para cada una de ellas. Veamos cómo definir la función para esta tarea una única vez para poder reutilizarla.

Definición de un nuevo comando

En el fragmento LaTeX anterior habían cuatro variables:

  • La posición de la figura: htp.
  • El nombre de la figura.
  • El ancho de la figura: 10cm.
  • La nota al pie de la figura.

Podemos definir pues, de la siguiente forma, un comando llamado Figure que tomé como parámetros estas cuatro variables:

\newcommand{\Figure}[4]{
  \begin{figure}[#1]
    \centering
    \includegraphics[width=#2cm]{figs/#3}
    \caption{#4.}\label{fig:#3}
  \end{figure}
}

El comando tiene que definirse o bien en el preámbulo o, mucho mejor, en un fichero de definiciones separado, functions.sty por ejemplo, e incluirlo en el preámbulo mediante el uso de \usepackage{functions} (Nota: la extensión de fichero .sty no es necesaria).

Una vez hecho esto, el nuevo comando puede usarse en cualquier lugar para insertar figuras entre el texto fácilmente:

\Figure{htp}{10}{myfigure}{Este es un ejemplo de figura}

Notas

Observe que hemos usado el nombre de la figura como parte de su etiqueta, y esto nos permite referirnos a ella mediante \ref{fig:myfigure} desde cualquier otra parte del texto. Podríamos haber añadido un parámetro extra para usar otros identificadores, pero dado que los nombres de fichero han de ser únicos, son buenos candidatos para usarse como identificadores.

Para evitar colisiones es buena práctica añadir prefijos a las etiquetas: fig: para figuras, sec: para secciones, chp: para capítulos o tab: para tablas.

Hemos asumido también que las figuras se encuentran en un subdirectorio llamado figs. Esto evita que mezclemos figuras y ficheros fuente del documento.

Almacenado en: herramientas

comentarios

No hay ningún comentario.