Una de las características que mas me
llamo la atención al comenzar a utilizar LaTeX fue la forma en que
maneja las referencias tanto a imágenes como a tablas, permitiendo
no solo referenciarlas desde el documento si no también generar de
forma automática una lista tanto de figuras como de tablas, donde se
visualizara tanto el numero de figura, como la pagina donde se
encuentra.
Para lograr esto es necesario utilizar
una serie de comandos, tanto para agregar las imágenes y tablas al
documento, como para hacerles referencia.
Si bien esto puede sonar a mas trabajo,
tiene la ventaja de dar acceso a mas opciones y a un formato de
apariencia mas profesional, permitiendo llevar de forma automática
la numeración de figuras y tablas y agregarles algo de texto.
Para esto se utilizaran los “entornos”
figure y table los cuales ya están definidos en LaTeX,
estos “entornos” son unidades que el compilador de LaTeX
posicionara de modo que no interrumpan el flujo del texto y tampoco
queden “cortados” por el cambio de pagina, lo cual es muy
importante para las tablas.
El formato básico de cada uno de esos
entornos se describe a continuación.
\begin{figure}
\includegraphics[scale=0.25]{./tex/Img_2/trama}
\caption{Trama Capturada.}
\label{c2_trama}
\end{figure}
Donde cada comando tiene estas
funciones:
- \begin{figure} : Inicia el entorno figura.
- \includegraphics[scale=0.25]{./tex/Img_2/trama}: Agrega la imagen ubicada en ./tex/Img_2/trama y cambia su tamaño a un 25%.
- \caption{Trama Capturada.}: El texto que se desplegara debajo de la imagen.
- \label{c2_trama}: Define c2_trama como la etiqueta que referencia esta figura en particular.
- \end{figure}: Termina el entorno figura.
El resultado luce como la figura 1
Figura 1: Ejemplo de figura. |
Notara en la figura la presencia de un
rectángulo de color rojo rodeando el numero 2.2, esta es una
referencia a la figura generada por el código anterior, la cual se
puede crear en cualquier punto del documento, anterior o posterior a
la imagen por medio del comando \ref{etiqueta}, este comando
sera sustituido en el documento por el numero que identifica la
figura con esa etiqueta.
Con respecto a las tablas el formato de
es similar, siendo la principal diferencia el hecho que incluye el
código que genera la tabla, como se ve a continuación
\begin{table}
\begin{tabular}{|c|c|c|c|c|}
\hline
0-3 Bits & 4-7 Bits & 8-15 Bits
& 16-18 Bits & 19-31 Bits \\ \hline
Versión & Tamaño Cabecera &
Tipo Servicio & \multicolumn{2}{|c|}{Longitud Total} \\ \hline
\multicolumn{3}{|c|}{Identificador} &
Banderas & Posición Fragmento \\ \hline
\multicolumn{2}{|c|}{Tiempo de Vida} &
Protocolo & \multicolumn{2}{|c|}{Suma de Verificación del
encabezado} \\ \hline
\multicolumn{5}{|c|}{Dirección IP
Origen} \\ \hline
\multicolumn{5}{|c|}{Dirección IP
Destino} \\ \hline
\multicolumn{4}{|c|}{Opciones} &
Relleno \\ \hline
\end{tabular}
\caption{Cabecera IP.}
\label{c2_tabla_cabecera_ip}
\end{table}
Los comandos usados aquí son:
- \begin{table}: Inicia el entorno tabla.
- \begin{tabular}: Inicia los comandos para generar la tabla.
- \end{tabular}: Termina los comandos de generación de tablas.
- \caption{Cabecera IP.}: Define el texto que aparecerá debajo de la tabla
- \label{c2_tabla_cabecera_ip}: Indica al compilador que c2_tabla_cabecera_ip es la etiqueta que identifica esa tabla
- \end{table}: Termina el entorno tabular.
Notara que no se menciono que hace el
código entre \begin{tabular} y \end{tabular} esto se
debe a que la generación de tablas no es el propósito de esta
entrada.
Este código generara la tabla mostrada
en la figura
Figura 2: Tabla ejemplo. |
De nuevo la tabla tiene un numero
identificador generado automáticamente y que puede obtenerse por
medio del comando \ref{etiqueta} desde cualquier punto del documento.
Otra de las características del uso de
estos entornos es el poder generar la lista de figuras y de tablas
con solo un comando para cada lista, basta usar \listoffigures y
\listoftables para conseguir la lista de todas las figuras o tablas
del documento como muestran las figuras 3 y 4 respectivamente.
Figura 3: Resultado de \listoffigures |
Figura 4: Salida de \listoftables |
Observaciones sobre los entornos figure
y table
Antes de concluir es necesario hacer
hincapié en una serie de detalles que tienen ambos entornos, que
pueden causar resultados no deseados y pueden ser difícil detectar.
Primero es muy importante que el
comando \label se declare dentro del entorno, ya sea table o
figure y después del comando \caption, no hacer esto hará
que el compilador le regrese el numero equivocado al comando\ref.
Lo segundo tiene mas que ver con el
compilador Tex live, es posible que se pase con otros, pero no lo he
podido comprobar de primera mano, y es que al modificar el documento,
sobretodo al agregar una nueva figura o tabla es necesario compilar
el documento dos veces, el no hacerlo hará que el comando \ref
regrese signos de interrogación en lugar de la referencia, esto es
facil de detectar pues el compilador mandara un mensaje de
advertencia.
Referencias
Buen día, quería hacer la siguiente consulta, ¿qué diferencia hay al citar la tabla creada de esta forma tabla~\ref{tab:etiqueta_tabla} con esta otra tabla\ref{tab:etiqueta_tabla}?
ResponderEliminarLo he intentado de las dos formas y me da el mismo resultado aparentemente.
Si deveria de dar el mismo resultado, ya que en ambos casos estas usando la instrucción para hacer referencia, en este caso \ref{tab:etiqueta_tabla}.
Eliminarquiero hacerte una pregunta como hago para que el rectangulo de color rojo no aparezaca.
ResponderEliminarEso se logra poniéndole la opción [hidelinks] al paquete hyperref
ResponderEliminarPara hacer esto remplaza la linea \usepackage{hyperref} por
\usepackage[hidelinks]{hyperref}
Como puedo poner la etiqueta de la imagen en la parte superior de la misma?
ResponderEliminarGracias por aclarar que hay que escribir el comando \label después del comando \caption. No sabía porqué me generaba signos de interrogación en vez de los números.
ResponderEliminarHola, una duda, ¿existe algún comando para nombrar una tabla sin convertirla en un objeto flotante? ya que debo ponerla con texto a dos columnas y si bien el entorno table me las etiqueta no me deja ponerla entre el texto, muchas gracias!
ResponderEliminarEstimado, como puedo hacer que la referencia no sea un argumento solo numérico sino que tenga la forma "texto. número" como por ejemplo que al pinchar la frase "Fig.1" me dirija a la figura 1???
ResponderEliminarBuenas tengo una consulta, cuando referencia la imagen el texto me sale signos de preguntas, en lugar del número de la figura, me pueden indicar como solucionarlo?
ResponderEliminarComo puedo poner la etiqueta de la imagen en la parte superior de la misma?
ResponderEliminar