Tablas con LaTeX (3)

A continuación mostraré más ejemplos sobre tablas avanzadas. Nuestro documento .tex tendrá que tener la forma siguiente, donde se cargan los paquetes {graphicx}, para insertar figuras, {multirow}, para fusionar celdas de la misma columna, {array} para centrar verticalmente los elementos de una casilla, y {float}, para usar el comando [H].

documentclass[a4paper,openright,10pt]{report}
usepackage[spanish]{babel} % para escribir en espanol
usepackage[latin1]{inputenc} % para acentos sin codigo
usepackage{graphicx} % graficos
usepackage{multirow, array} % para las tablas
usepackage{float} % para usar [H]

begin{document}

end{document}


  • Cómo obligar a LaTeX a que situe una tabla (o figura) en un sitio determinado.
LaTeX suele colocar las tablas (y figuras) donde él considera mejor. Podemos indicarle el orden de nuestra preferencia con [htb] (here, top, bottom), pero no siempre funciona bien. Si queremos forzar a LaTeX que coloque la tabla justo en un sitio, hay que poner [H]. Para usar este comando, es necesario cargar el paquete {float}.

begin{table}[H]

end{table}


  • Cómo amoldar el texto de una celda, a un ancho fijo. Y que automáticamente el texto vaya saltando de línea.
Para ello, podemos utilizar el comando p{xcm}. Donde «xcm» es la anchura que queremos dar a la columna. (Podemos usar «in», «mm», «cm», etc.)

begin{table}[H]
centering
begin{tabular}{p{2cm} p{5cm}}
hline
Autor & Poema \
hline hline
Espronceda & Con diez cañones por banda, viento en popa, a toda vela, no corta el mar, sino vuela un velero bergantín… \
hline
Bécquer & Volverán las oscuras golondrinas, en tu balcón sus nidos a colgar, y otra vez con el ala, a sus cristales jugando llamarán… \
hline
end{tabular}
caption{Autores españoles.}
label{tabla:autores}
end{table}


  • Cómo centrar verticalmente el texto de una celda.

Para ello, podemos cargar la librería {array} y usar los comandos >{arraybackslash}m{xcm}, como se muestra a continuación. (Si además queremos que el texto esté centrado horizontalmente, añadimos centering.)

begin{table}[H]
centering
begin{tabular}{>{centeringarraybackslash}m{2cm} >{arraybackslash}m{5cm} }
hline
Autor & Poema \
hline hline
Espronceda & Con diez cañones por banda, viento en popa, a toda vela, no corta el mar, sino vuela un velero bergantín… \
hline
Bécquer & Volverán las oscuras golondrinas, en tu balcón sus nidos a colgar, y otra vez con el ala, a sus cristales jugando llamarán… \
hline
end{tabular}
caption{Autores españoles.}
label{tabla:autores}
end{table}


  • Cómo insertar una imagen en una celda de una tabla.

Las imágenes se insertan fácilmente con includegraphics[width=15mm]{dibujo}. En estos casos, suele ser importante que las celdas queden centradas verticalmente, utilizando los comandos explicados previamente.

begin{table}[H]
centering
begin{tabular}{ >{centeringarraybackslash}m{2cm} >{arraybackslash}m{5cm}}
hline
Autor & Poema \
hline hline
includegraphics[width=15mm]{./figuras/espronceda} & Con diez cañones por banda, viento en popa, a toda vela, no corta el mar, sino vuela un velero bergantín… \
hline
includegraphics[width=15mm]{./figuras/becquer} & Volverán las oscuras golondrinas, en tu balcón sus nidos a colgar, y otra vez con el ala, a sus cristales jugando llamarán… \
hline
end{tabular}
caption{Autores españoles.}
label{tabla:autores}
end{table}


Por último, muestro un ejemplo de tabla un poco más complejo. Donde los versos de ambos poemas se han escrito en líneas distintas.
begin{table}[H]

centering
begin{tabular}{ >{centeringarraybackslash}m{2cm} >{centeringarraybackslash}m{6cm}}
hline
Autor & Poema \
hline hline
multirow{4}{2cm}{centeringincludegraphics[width=15mm]{./figuras/espronceda}} & Con diez cañones por banda,\
& viento en popa, a toda vela,\
& no corta el mar, sino vuela \
& un velero bergantín… \
hline
multirow{4}{2cm}{centeringincludegraphics[width=15mm]{./figuras/becquer}} & Volverán las oscuras golondrinas,\
& en tu balcón sus nidos a colgar,\
& y otra vez con el ala,\
& a sus cristales jugando llamarán… \
hline
end{tabular}
caption{Autores españoles.}
label{tabla:autores}
end{table}

Deja un comentario