Skip to content

Las imágenes son elementos esenciales en la mayoría de los documentos científicos. LaTeX provee varias opciones para manejar imágenes y hacerlas lucir exactamente como las necesitas. En este artículo se explica como incluir imágenes en los formatos más comunes, como hacerlas más pequeñas o más grandes, y como añadir referencias a las imágenes dentro del documento.

Introducción

En seguida un ejemplo sobre como importar una imagen en LaTeX.

\documentclass{article}
\usepackage{graphicx}
\graphicspath{ {images/} }

\begin{document}
The universe is immense and it seems to be homogeneous, 
in a large scale, everywhere we look at.

\includegraphics{universe}

There's a picture of a galaxy above
\end{document}

InsertingImagesEx1.png

Latex no tiene la capacidad de manipular imágenes por sí mismo, por esa razón se debe importar el paquete graphicx. Para usar dicho paquete añade la siguiente linea en el preámbulo de tu documento

\usepackage{graphicx}

El comando \graphicspath{ {images/} } le indica a LaTeX que las imágenes están guardadas en una carpeta llamada images bajo el directorio actual.

El comando \includegraphics{universe} es el que se encarga de incluir la imagen en el documento. Aquí, universe es el nombre del archivo de imagen, sin la extensión; así que universe.PNG se convierte en universe. El nombre del archivo de imagen no debe contener espacios en en blanco ni múltiples signos de puntuación.

Note: Se puede introducir la extensión del archivo, pero es recomendable omitirla. Si la extensión se omite esto provoca que LaTeX busque todos los formatos soportados. Para más detalles consulta la sección Generando imágenes en alta y baja resolución.

  Abrir un ejemplo en Overleaf

La ruta a la carpeta de imágenes

Cuando se trabaja en un documento que incluye varias imágenes una posibilidad para mantener tu proyecto organizado es guardarlas una carpeta por separado.

En el ejemplo de la introducción esto se logra mediante el comando \graphicspath{ {images/} } que le dice a LaTeX que las imágenes las debe buscar en la carpeta images. La ruta es relativa al directorio de trabajo actual.

La ruta hacia la carpeta puede ser relativa (recomendado) si la carpeta está en el mismo directorio que el archivo .tex principal o en alguna de las subcarpetas, o puede ser absoluta si se requiere especificar exactamente la ruta. Por ejemplo:

%Ruta absoluta en el formato de Windows:
\graphicspath{ {c:/user/images/} }

%Ruta absoluta en formato tipo Unix (Linux, OsX)
\graphicspath{ {/home/user/images/} }

Nótese que este comando requiere una barra derecha / al final y que la ruta se debe poner entre dos pares de llaves.

También es posible establecer múltiples rutas si es que guardaste las imágenes en más de una carpeta para mayor organización. Por ejemplo, si hay dos carpetas, una llamada images1 y la otra images2, usa el comando

\graphicspath{ {images1/}{images2/} }</code>

Si no se especifica ninguna ruta LaTeX buscará las imágenes en la carpeta actual, donde está guardado el archivo .tex.

  Abrir ejemplo en Overleaf

Cambiar el tamaño y rotar una imagen

Si se quieren especificar parámetros adicionales al momento de importar una imagen en LaTeX para modificar la anchura, altura, posición, etc de la imagen, esto es posible por medio de la siguiente sintaxis:

Overleaf is a great professional tool to edit online, 
share and backup your \LaTeX projects. Also offers a 
rather large help documentation.

\includegraphics[scale=1.5]{lion-logo}

InsertingImagesEx2.png

El comando \includegraphics[scale=1.5]{lion-logo} incluye la imagen lion-logo en el documento, el parámetro extra scale=1.5 escala la imagen a 1.5 de su tamaño original.

También es posible redimensionar la imagen a una altura y anchura determinadas.

Overleaf is a great professional tool to edit online, 
share and backup your \LaTeX projects. Also offers a 
rather large help documentation.

\includegraphics[width=3cm, height=4cm]{lion-logo}

InsertingImagesEx3.png

Como probablemente ya haz adivinado, los parámetros dentro de los corchetes [width=3cm, height=4cm] definen el ancho y alto de la imagen. Pueden usarse diferentes unidades de medida en éstos parámetros. Si solamente se establece el valor de width, la altura se escalará proporcionalmente para mantener el aspecto de la imagen.

También es posible establecer la longitud de la imagen respecto a otros elementos en el documento. Por ejemplo, si quieres que la imagen tenga la misma anchura que el texto:

Overleaf is a great professional tool to edit online, 
share and backup your \LaTeX projects. Also offers a 
rather large help documentation.

\includegraphics[width=\textwidth]{universe}

InsertingImagesEx5.png

En vez de \textwidth puedes usar cualquier otra de las unidades que LaTeX incluye por defecto: \columnsep, \linewidth, \textheight, \paperheight, etc. Consulta la guía de referencia para una mejor descripción de las unidades.

Hay otra opción muy común a la hora de incluir imágenes en un documento, el poder rotarla. Ésto es muy fácil en LaTeX:

Overleaf is a great professional tool to edit online, 
share and backup your \LaTeX projects. Also offers a 
rather large help documentation.

\includegraphics[scale=1.2, angle=45]{lion-logo}

InsertingImagesEx4.png

El parámetro angle=45 rota la imagen 45 grados en sentido contrarreloj. Para rotar la imagen en mismo sentido que las manecillas de un reloj usa un número negativo.

  Abrib un ejemplo en Overleaf

Posicionar la imagen

En la sección anterior se explicó cómo insertar una imagen en tu documento, pero a veces la combinación de imágenes y texto en tu documento puede no resultar como lo esperabas. Para cambiar ésto es necesario usar un nuevo ambiente:

In the next example the figure will be positioned 
right below this sentence.

\begin{figure}[h]
\includegraphics[width=8cm]{Plot}
\end{figure}

InsertingImagesEx6.png

El ambiente figure se usa para mostrar la imágenes como elementos flotantes dentro del documento. Ésto significa que basta con incluir tu imagen dentro del ambiente figure y ya no te tienes que preocupar por dónde aparecerá, LaTeX la posicionará de tal manera que encaje perfectamente con el flujo del documento.

Aunque en principio esto suena muy bien, a veces uno quiere tener más control sobre dónde aparecerán las imágenes. Un parámetro adicional se puede usar para establecer el posicionamiento de la figura. En el ejemplo, begin{figure}[h], el parámetro dentro de los corchetes establece la posición de la figura here (aquí, en inglés). En seguida una tabla con una lista de posibles valores posicionales.


Parameter Position
h Establece la posición del elemento flotante «aquí». Ésto es, aproximadamente en el mismo punto donde aparece en el código (sin embargo, no siempre es exacto el posicionamiento)
t Inserta la figura al inicio de la página.
b Inserta la figura al final de la página.
p Inserta los elementos flotantes en una página por separado, que sólo contiene figuras.
! Sobreescribe los parámetros que LaTeX usa para determinar una «buena» posición para la imagen.
H Establece el elemento flotante precisamente en el mismo lugar en el que aparece en el código, se requiere importar el paquete float. Es hasta cierto punto equivalente a h!.

En el siguiente ejemplo se puede ver una imagen que aparece al inicio del documento, a pesar de que el código que la produce se encuentra al final del documento.


In this picture you can see a bar graph that shows
the results of a survey which involved some important
data studied as time passed.

\begin{figure}[t]
\includegraphics[width=8cm]{Plot}
\centering
\end{figure}

InsertingImagesEx7.png

El comando adicional \centering se encarga de centrar la imagen. El valor de alineación por defecto es a la izquierda.

También es posible envolver el texto al rededor de la figura. Cuando el documento contiene imágenes pequeñas ésto hace que el texto se vea mejor.

\begin{wrapfigure}{r}{0.25\textwidth} %this figure will be at the right
    \centering
    \includegraphics[width=0.25\textwidth]{mesh}
\end{wrapfigure}

There are several ways to plot a function of two variables, 
depending on the information you are interested in. For 
instance, if you want to see the mesh of a function so it 
easier to see the derivative you can use a plot like the 
one on the left.


\begin{wrapfigure}{l}{0.25\textwidth}
    \centering
    \includegraphics[width=0.25\textwidth]{contour}
\end{wrapfigure}

On the other side, if you are only interested on
certain values you can use the contour plot, you 
can use the contour plot, you can use the contour 
plot, you can use the contour plot, you can use 
the contour plot, you can use the contour plot, 
you can use the contour plot, like the one on the left.

On the other side, if you are only interested on 
certain values you can use the contour plot, you 
can use the contour plot, you can use the contour 
plot, you can use the contour plot, you can use the 
contour plot, you can use the contour plot, 
you can use the contour plot, 
like the one on the left.

InsertingImagesEx8.png

Para que los comandos en el ejemplo funcionen, se debe importar el paquete wrapfig. Añade al preámbulo la línea

\usepackage{wrapfig}

Una vez importado el paquete se puede usar el ambiente wrapfigure por medio del comando \begin{wrapfigure}{l}{0.25\textwidth} \end{wrapfigure}. Nótese que el ambiente tiene dos parámetros adicionales entre llaves. En seguida se explica el código con más detalle.

{l}
Establece la alineación de la figura. Usa l para izquierda y r para derecha. Más aún, si se está usando la clase book u otra similar, en vez te l y r se pueden usar o para la orilla exterior y i para la orilla interior de la página.
{0.25\textwidth}
Ésto establece la anchura de la caja que contiene la imagen. No es la anchura de la imagen en sí misma, esa se debe establecer en el comando includegraphics. En el ejemplo se usan unidades relativas, pero unidades normales (cm, mm, in, etc) se pueden usar. Consulta la guía de referencia para ver una lista de unidades posibles.
\centering
Ya se explicó con anterioridad, pero en el ejemplo anterior la imagen será centrada respecto a la caja que lo contiene, en lugar de centrarla respecto a la página.

Para información más completa acerca del posicionamiento de imágenes consulta el artículo Positioning images and tables

  Abrir ejemplo en Overleaf

Añadir etiquetas, leyendas y referencias

El poder añadir leyendas con una breve descripción de la imagen y etiquetas que luego se pueden usar para referirse a la imagen son herramientas muy útiles cuando se trabaja con documentos muy largos.

Leyendas

Empecemos con un ejemplo sobre como añadir una leyenda:

\begin{figure}[h]
\caption{Example of a parametric plot ($\sin (x), \cos(x), x$)}
\centering
\includegraphics[width=0.5\textwidth]{spiral}
\end{figure}

InsertingImagesEx9.png

Es muy fácil, sólo hay que añadir el comando \caption{Some caption} y dentro de las llaves escribir el texto a mostrar. El lugar donde se imprimirá la leyenda depende de dónde se inserta el comando; si esta sobre el comando includegraphics entonces la leyenda aparecerá sobre la imagen, si está bajo ése comando entonces la leyenda aparecerá en la parte inferior de la figura.

Las leyendas también se pueden posicionar al lado de las figuras. El paquete sidecap permite usar un código muy similar al del ejemplo anterior para añadir el texto.

\documentclass{article}
\usepackage[rightcaption]{sidecap}

\usepackage{graphicx} %package to manage images
\graphicspath{ {images/} }

\begin{SCfigure}[0.5][h]
\caption{Example of a parametric plot. 
         This caption will be on the right}
\includegraphics[width=0.6\textwidth]{spiral}
\end{SCfigure}

InsertingImagesEx10.png

Hay dos nuevos comandos en éste ejemplo:

\usepackage[rightcaption]{sidecap}
Como posiblemente ya lo sabes, éste comando importa el paquete llamado sidecap, pero hay un parámetro adicional: rightcaption. Éste parámetro es el que establece el lugar donde se imprime la leyenda. En este caso, a la derecha de la imagen, también es posible usar leftcaption para mover la leyenda a la izquierda.En documentos que usan clases de tipo libro, adicionalmente se pueden usar las opciones outercaption y innercaption para imprimir la leyenda en la parte exterior o interior respecto al borde de la página.
\begin{SCfigure}[0.5][h] \end{SCfigure}
Define un ambiente similar a figure. El primer parámetro es la anchura de la leyenda relativa al tamaño de la imagen. El segundo parámetro h tiene la misma función que en el ambiente figure. Consulta la sección sobre posicionamiento de imágenes para más información.

Se puede lograr un manejo más avanzado del formato de las leyendas si así se desea. Consulta las lecturas adicionales para ver más referencias.

Etiquetas y referencias cruzadas

Las figuras, tal como muchos otros elementos en un documento LaTeX (ecuaciones, tablas, gráficas, etc.) pueden ser referidas desde dentro del texto. Lograr ésto es muy fácil, solo hay que añadir una etiqueta al ambiente figure o SCfigure, luego usar esa etiqueta para referirse a la figura.

\begin{figure}[h]
    \centering
    \includegraphics[width=0.25\textwidth]{mesh}
    \caption{a nice plot}
    \label{fig:mesh1}
\end{figure}

As you can see in the figure \ref{fig:mesh1}, the 
function grows near 0. Also, in the page \pageref{fig:mesh1} 
is the same example.

InsertingImagesEx11.png

Hay tres comandos en éste ejemplo que generan referencias cruzadas.

\label{fig:mesh1}
Establece la etiqueta para la figura. Dado que las etiquetas se pueden usar en diversos tipos de elementos en el documento, es una buena práctica el usar un prefijo, tal como fig: en el ejemplo.
\ref{fig:mesh1}
Éste comando imprime el número que se le asignó a la figura. Los números se generan automáticamente y son actualizados si posteriormente se inserta una figura antes de la que es referida.
\pageref{fig:mesh1}
Imprime el número de página donde aparece la imagen referida por la etiqueta.

El comando \caption que añade una leyenda es obligatorio para poder añadir una etiqueta y referir la figura.

Otra característica importante en LaTeX es la posibilidad de generar automáticamente una lista de figuras. Ésto se logra fácilmente con:

\listoffigures

InsertingImagesEx12.png

Éste comando solo funciona con figuras que tienen una leyenda, dado que la usa para generar la tabla. El ejemplo anterior lista las imágenes usadas en el presente artículo.

Nota importante: Cuando se usan referencias cruzadas en LaTeX el proyecto debe ser compilado dos veces, de otra manera las referencias, las referencias a páginas y la tabla de figuras no funcionarán.

  Abrir un ejemplo en Overleaf

Generando imágenes en alta y baja resolución

Por el momento, cuando introducimos el nombre del archivo de imagen en el comando \includegraphics omitimos la extensión del archivo. Sin embargo, eso no es necesario, aunque si puede ser muy útil. Si la extensión se omite, LaTeX buscará cualquier tipo de imagen soportada en el directorio de imágenes preestablecido, la búsqueda se hará en un cierto orden, el cuál puede ser modificado.

Ésto es muy útil para pasar de la versión en borrador de tu documento a la versión final. En el borrador (mientras escribes tu artículo, libro, reporte, etc), es deseable poder usar imágenes con baja resolución (típicamente en formato .png) para que el documento compile más rápidamente. En la versión final, en cambio, uno prefiere incluir las imágenes en alta resolución, para tener un documento de calidad.

Esto se puede lograr por medio de:

  • No especificar la extensión del archivo en el comando \includegraphics, y
  • Especificando el orden de las extensiones en el preámbulo

Así, si uno tiene dos versiones de la misma imagen, por ejemplo venndiagram.pdf (en alta resolución) y venndiagram.png (en baja resolución). Se puede incluir la siguiente línea en el preámbulo mientras se escribe y depura el documento -

  \DeclareGraphicsExtensions{.png,.pdf}

El comando anterior se asegura de que is se encuentran dos imágenes con el mismo nombre pero con diferentes extensiones, entonces el archivo .png será usado, y si por alguna razón este archivo desaparece la versión en pdf será la siguiente opción.

Una vez que el documento ha sido escrito, para usar únicamente la versión en alta resolución se debe cambiar la linea que determina la extensión a:

  \DeclareGraphicsExtensions{.pdf,.png}

Se puede incluso mejorar la técnica descrita anteriormente, podemos pedirle a LaTeX que genere imágenes .png de baja resolución mientras se compila el documento si es que el PDF no ha sido convertido a PNG con anterioridad. Para lograr esto, se debe incluir lo siguiente en el preámbulo después de \usepackage{graphicx}.

  \usepackage{epstopdf}
  \epstopdfDeclareGraphicsRule{.pdf}{png}{.png}{convert #1 \OutputFile}
  \DeclareGraphicsExtensions{.png,.pdf}

Si venndiagram2.pdf existe pero no venndiagram2.png, el archivo vendiagramm2-pdf-converted-to.png se creará y se cargará en su lugar. El comando convert #1 es el responsable de la conversión

Hay un par de cosas a tener en mente si se elige éste método:

  • Para que la conversión automática funciones se debe ejecutar pdflatex con la opción --shell-escape.
  • Para la versión final no se debe olvidar comentar la línea \epstopdfDeclareGraphicsRule, de tal suerte que sólo se carguen las imágenes en alta resolución. También se debe recordar cambiar el orden de precedencia.

  Abrir ejemplo en Overleaf

Guía de referencia

Unidades y medidas en LaTeX

Abreviación Definición
pt Un punto, es la unidad de longitud por defecto. Aproximadamente 0.3515mm
mm un milímetro
cm un centímetro
in una pulgada
ex la altura de una x con la fuente actual
em la anchura de una m con la fuente actual
\columnsep distancia entre las columnas
\columnwidth anchura de una columna
\linewidth amplitud de línea en el ambiente actual
\paperwidth anchura del papel
\paperheight altura del papel
\textwidth anchura del texto
\textheight altura del texto
\unitlength unidades de longitud en el ambiente picture

Acerca de los tipos de imágenes que se pueden usar en LaTeX

latex
Si se compila el documento con el comando latex, sólo se pueden usar imágenes en formato EPS, el cuál es un formato vectorial.
pdflatex
Si se compila el documento con el comando pdflatex para producir un PDF, entonces se pueden usar varios tipos de imágenes-
   JPG: La mejor opción para insertar fotografías
   PNG: La mejor opción para insertar diagramas (si por alguna razón no puedes usar un gráfico vectorial) y capturas de pantall
   PDF: A pesar de la costumbre de usar PDF para documentos, en general un PDF puede constar de únicamente una imagen que puede posteriormente ser importada.
   EPS: Las imágenes EPS se pueden incluir usando el paquete epstopdf (el paquete sólo se debe instalar en el equipo, una vez instalado no es necesario ningún comando adicional en el archivo .tex)
¿Gráficos vectoriales o mapas de bits?
Las imágenes se pueden incluir ya sea en formato de mapas de bits o gráficos vectoriales. En general uno no debe preocuparse por ello, pero si se tiene la opción de elegir un formato hay que tener en cuenta que para un gráfico vectorial lo mejor es guardarlo en formato PDF o EPS, mientras que para un mapa de bits los formatos JPG o PNG son los recomendados. Ésto porque un mapa de bits dentro de un archivo en formato PDF o EPS requiere mucho espacio para su almacenamiento.

  Abrir ejemplo en Overleaf

Lecturas adicionales

Para más información consultar:

Overleaf guides

LaTeX Basics

Mathematics

Figures and tables

References and Citations

Languages

Document structure

Formatting

Fonts

Presentations

Commands

Field specific

Class files

Advanced TeX/LaTeX