Insertando figuras

Decíamos que para insertar figuras nos hacían falta dos cosas:

Vamos a dividir esta entrada en dos partes: insertar una única figura e insertar una figura formada por subfiguras.

Una sola figura

Añadir una figura es superfácil. Solo tenemos que hacer:

\includegraphics{ruta_a_la_figura}

No hace falta ni siquiera que le pongamos la extensión, él buscará la imagen correspondiente. Evidentemente, esto tiene un problema: nos pondrá la imagen ahí mismo y de su tamaño original. Lo primero aun no lo podemos solucionar pero el tamaño podemos ajustarlo con las opciones.

Opciones

Las opciones son lo que le pasamos al comando entre los corchetes y nos permiten controlar cosas de la imagen. Aquí os recopilo las que yo uso más:

Por ejemplo, si queremos reducir la figura a la mitad y girarla 90 grados hacemos:

\includegraphics[angle=90, scale=0.5]{ruta_a_la_figura}

Es interesante utilizar height y width en combinación con las longitudes que define LaTeX, por ejemplo, para que una figura tenga la anchura del texto haríamos:

\includegraphics[width=\textwidth]{ruta_a_la_figura}

Podemos modificar también esta longitud, por ejemplo, para que sea un 70% de la anchura del texto:

\includegraphics[width=0.7\textwidth]{ruta_a_la_figura}

La ventaja de este sistema es que si cambiamos los márgenes la figura se adaptará sola. Ahora vamos a ver cómo gestionamos la posición de la figura.

Figuras flotantes

En la pasada entrada os hablé de los objetos flotantes y de cómo convertíamos una figura en flotante al usar el entorno figure. Esto nos permite, aparte de ponerle un pie de figura y una referencia, decidir su posición en la hoja.

También tenemos la opción de rodear la imagen de texto con el entorno wrapfigure, os lo dejo de deberes.

Posición

Cuando digo decidir no digo la versión Word de decidir. LaTeX de por sí pone las figuras donde mejor quedan (según él) y nosotros le damos sugerencias de lo que preferimos. Podemos obligarle a poner las figuras en determinado lugar, pero no suele ser muy buena idea, es mejor reservar esta opción para los casos extremos.

Esta es la sintaxis:

\begin{figure}[posición]
  \includegraphics[opciones]{ruta}
\end{figure}

La opción posición puede tomar estos valores:

Estas opciones se pueden combinar, por ejemplo, tb solo probará arriba y abajo. El orden no afecta.

Otra cosa a tener en cuenta es la alineación de la figura. Por defecto se alinean a la izquierda, podemos cambiarla con los siguientes comandos:

que pondríamos dentro del entorno figure antes de insertar la imagen:

\begin{figure}[posición]
  \centering
  \includegraphics[opciones]{ruta}
\end{figure}

Pie de figura y referencia

Como hemos dicho, el entorno figure nos permite también poner un pie de figura y una etiqueta a la figura:

\begin{figure}[posición]
  \includegraphics[opciones]{ruta}
  \caption{Pie de figura}
  \label{etiqueta}
\end{figure}

La etiqueta sirve para hacer referencia a la figura en el texto con el comando \ref{etiqueta}, por ejemplo:

\begin{figure}[h]
  \includegraphics[scale=0.7]{Figuras/gatos}
  \caption{Unos gatos molones}
  \label{fig:gatos}
\end{figure}

Como se ve en la Figura \ref{fig:gatos}, hay gatos negros y blancos

LaTeX nos numerará las figuras correctamente el solito y citará la figura correspondiente cuando se lo pidamos.

Una idea inteligente es etiquetar las cosas de manera que luego no nos volvamos locos porque no sabemos si una determinada etiqueta hace referencia a una ecuación, a una tabla o a un capítulo. Cada uno aquí tiene sus maneras, una opción podría ser:

Tampoco hay que obsesionarse, claro, mientras seamos coherentes.

Sobre formatos

Una última nota antes de pasar a hablar de múltiples figuras. Cuando hablábamos de compiladores dijimos que LaTeX se puede compilar a dvi y pdf dependiendo de si usamos latex o pdflatex (o las otras opciones con y sin la). Para las imágenes esto es importante: latex solo compilará si las imágenes están en formato eps; pdflatex, en cambio, acepta pdf, png y jpg.

El caso del formato eps al compilar a pdf es especial, técnicamente no metemos la imagen en eps, sino que por detrás se llama al programa epstopdf, se convierte a pdf y se inserta. En general se hace solo, pero depende del programa, Pandoc, por ejemplo, no lo hace. Os lo digo porque tengo compañeros de curro convencidísimos de que ellos meten las imágenes en eps en sus documentos a pesar de que tienen una carpeta llena de pdfs con nombres del tipo figure-eps-converted-to.pdf. Y les gritan a los otros en plan: ¿Pero cómo metes eso en pdf ? ¿No ves que pierdes calidad?

Una cosa interesante de epstopdf es que lo podemos usar aparte en la terminal, por ejemplo:

epstopdf archivo.eps

nos creará archivo.pdf. Aquí hice un bucle y todo que me convertía todas las imágenes de la carpeta.

La fiesta de las figuras

Ahora vamos a ver cómo hay que hacer si queremos incluir una figura formada por subfiguras, es decir, que un grupo de figuras que van juntas y comparten pie de figura. Para esto se usaba primero el paquete subfigure, luego subfig y ahora se supone que debe usarse subcaption. Resulta que subfig tiene problemas con hyperref (el paquete de hacer hipervínculos) y subcaption no. Además, subcaption no es compatible con ninguno de los dos anteriores.

El paquete subcaption define el entorno subfigure, que se usa a su vez dentro del entorno figure. Tiene esta pinta:

\begin{subfigure}[posición]{ancho}
  % Contenido
\end{subfigure}

Dentro del entorno subfigure escribimos exactamente lo mismo que pondríamos dentro del entorno figure.

Por ejemplo, si quisiéramos poner dos imágenes en paralelo haríamos algo así:

\documentclass{article}

% Necesitamos los paquetes graphicx, caption y subcaption
    \usepackage{graphicx}
    \usepackage{caption}
    \usepackage{subcaption}

\begin{document}

    \begin{figure}
        \centering
        \begin{subfigure}[h]{0.45\textwidth} 
            \includegraphics[width=\textwidth]{figura1}
            \caption{Pie de figura 1}
            \label{fig:figura1}
        \end{subfigure}       
        \begin{subfigure}[h]{0.45\textwidth} 
            \includegraphics[width=\textwidth]{figura2}
            \caption{Pie de figura 2}
            \label{fig:figura2}
        \end{subfigure}

        \caption{Pie general}
    \end{figure}

\end{document}

Si os fijáis, no hay separación entre el fin del primer entorno subfigure y el inicio del segundo, si ahí dejamos una línea en blanco, la siguiente figura en lugar de ponerla en paralelo la pondrá debajo. Ahí en medio también podemos decirle cómo de separadas queremos las figuras, pero para eso necesitamos aprender primero cómo funciona el espacio blanco en LaTeX y eso es tema para otro día.

De momento tenéis referencias y manuales enlazados para que cambiéis las opciones porque, ya sabéis, que si hurgar no se aprende.

¡Espero vuestros comentarios!

Referencias

Packages in the graphics bundle (pdf)

LaTeX/Importing Graphics en Wikibooks

Which graphics formats can be included in documents processed by latex or pdflatex? en StackExchange

Inserting Images en ShareLaTeX

How to influence the position of float environments like figure and table in LaTeX? en StackExchange

subcaption vs. subfig: Best package for referencing a subfigure en StackExchange

Anterior: Un documento básico, Siguiente: LaTeX y las ecuaciones [Contenido]