Actualizado el 29 de Enero del 2020 (Publicado el 24 de Enero del 2019)
2.094 visualizaciones desde el 24 de Enero del 2019
186,6 KB
37 paginas
Creado hace 16a (11/08/2008)
Tablas en LATEX
Versión 1.00
Raúl Mata Botana
email: matabotanar (at) gmail.com
agosto del 2008
Copyright
Copyright (c) 2008 Raúl Mata Botana. Se otorga permiso para co-
piar, distribuir y/o modificar este documento bajo los términos de la
Licencia de Documentación Libre de GNU, Versión 1.2 o cualquier
otra versión posterior publicada por la Free Software Foundation; sin
Secciones Invariantes ni Textos de Cubierta Delantera ni Textos de
Cubierta Trasera. Una copia de la licencia está incluida en la sección
titulada GNU Free Documentation License.
1.
Introducción
Muchos tutoriales describen la construcción de tablas en LATEX, pero la mayoría de
ellos se limitan a explicar las opciones básicas. En este documento intentaré mos-
trar las distintas opciones que existen para el diseño de tablas y ejemplificando
cada caso.
2. El entorno tabbing
Este entorno de trabajo no genera exáctamente tablas, pero permite presentar
texto encolumnado, de manera similar a como lo haría un tabulador.
Del entorno de trabajo se entra y se sale mediante los comandos \begin{tabbing}
y \end{tabbing} respectivamente. Cuenta con los siguientes comandos:
1
Tablas en LATEX
Fija la posición de los tabuladores
Salta al siguiente tabulador
Fin de línea
\=
\>
\\
\kill Si una línea finaliza con este comando no se imprime
\+
\-
\<
\’
\‘
Hace que la línea sig. empiece en el tabulador sig. al previsto
Hace que la línea sig. empiece en el tabulador anterior al previsto
Salta al tabulador anterior
Hace que el texto anterior se justifique a derecha
Hace que el texto que sigue vaya hacia el margen derecho
2.1. Ejemplo 1
Si ponemos:
\begin{tabbing}
Nombre \= Apellido \= Padrón\\
Esteban \> Quito \> 80000\\
Elena \> Nito \> 80001\\
Olga \> Sana \> 80002\\
\end{tabbing}
Lo que obtendremos es:
Nombre Apellido Padrón
Esteban Quito
Elena Nito
Olga
Sana
80000
80001
80002
2.2. Ejemplo 2
También podemos fijar el ancho de las columnas:
\begin{tabbing}
\hspace*{2cm} \= \hspace*{5cm} \= \hspace*{3cm} \kill
Nombre \> Apellido \> Padrón\\
Esteban \> Quito \> 80000\\
Elena \> Nito \> 80001\\
Olga \> Sana \> 80002\\
\end{tabbing}
página 2 de 37
Tablas en LATEX
Obteniendo:
Nombre
Esteban
Elena
Olga
Apellido
Quito
Nito
Sana
Padrón
80000
80001
80002
2.3. Ejemplo 3
Ahora una opción más compleja
\> Tercera \\
\begin{tabbing}
\hspace{5cm} \= \hspace{5cm} \= \kill
Columna uno \> Columna 2 \> Columna 3 \\
\> Segunda
\hspace{1.5cm} \\ %línea en blanco
Texto de primera columna que pisa la segunda \>\> Tercer columna \\
\> Texto segunda y tercera columa \\
\hspace{1.5cm} \\ %línea en blanco
xxxxxxxxxxx \= xxxxxxxxxxx \= xxxxxxxxxxx \= \kill %seteo nuevos tabuladores
Col 1 \>Col 2 \> Col 3 \> Col 4 \+\\
Dos \> Tres \> Cuatro \\
\< Uno \> Dos \> Tres \> Cuatro\\
Dos \> Tres \> Cuatro \- \\
Uno \> Dos \> Tres \> Cuatro\\
Uno \> Dos \’ \> Tres \‘ Cuatro\\
\end{tabbing}
Columna uno
Columna 2
Segunda
Columna 3
Tercera
Texto de primera columna que pisa la segunda
Tercer columna
Texto segunda y tercera columa
Col 1
Uno
Uno
Uno
Col 2
Dos
Dos
Dos
Dos
Dos
Col 3
Tres
Tres
Tres
Tres
Tres
Col 4
Cuatro
Cuatro
Cuatro
Cuatro
Cuatro
página 3 de 37
3. El entorno tabular
Este entorno de trabajo nos permite trabajar con muchas más posibilidades que
el entorno tabbing. Tiene dos formatos posibles que son los siguientes:
Tablas en LATEX
\begin{tabular}[posición]{columnas}
columna 1 & columna 2 & columna n \\
...
...
...
\end{tabular}
ó
\begin{tabular*}{ancho}[posición]{columnas}
columna 1 & columna 2 & columna n \\
...
...
...
\end{tabular*}
columnas
posición
Determina la cantidad de columnas y su posición
l alínea a izquierda
c centra
r alínea a derecha
| colocado entre dos columnas genera una línea vertical
p{ancho} Establece el ancho de una columna
@{texto} Inserta el texto entre columnas
@{\hspace{ancho}} Inserta espacio entre columnas
*{num}{cols} num establece la cantidad de columnas y cols el
formato de las columnas (que puede ser una expresión)
Determina la posición de la tabla con respecto al texto
b pone la parte inferior de la tabla en la base del texto (opción
por defecto)
c pone la mitad de la tabla en la base del texto
t pone la parte superior de la tabla en la base del texto
Establece el ancho de la tabla
Salta a la siguiente columna
Salta a la siguiente fila
Genera una línea horizontal
ancho
&
\\
\hline
\cline(n-m) Genera una línea horizontal desde el inico de la columna n al fin
\vline
de la m
Genera una línea vertical a lo largo de una fila
página 4 de 37
Una vez que ya hemos detallado las distintas opciones del entorno tabular pase-
mos a ver algunos ejemplos.
Tablas en LATEX
3.1. Ejemplo 1
Tabla básica sin borde. Al poner:
\begin{tabular}{l c r}
columna 1 & columna 2 & columna 3 \\
col 1 & col 2 & col 3\\
\end{tabular}
Veremos entonces la primer columna alineada a izquierda, la segunda centrada y
la tercera alineada a derecha:
columna 1
col 1
columna 3
col 3
columna 2
col 2
3.2. Ejemplo 2
Tabla básica con borde doble en el exterior y simple adentro. Al poner:
\begin{tabular}{||l | c | r||}
\hline
\hline
columna 1 & columna 2 & columna 3 \\
\hline
col 1 & col 2 & col 3\\
\hline
\end{tabular}
Veremos entonces:
columna 1
col 1
columna 2
col 2
columna 3
col 3
3.3. Ejemplo 3
Veamos un ejemplo un poco más complejo, crearemos una tabla de 3 filas por 3
columnas, que las columnas 1 y 2 estén serparadas por “ xx ”, que la columna 3
esté separada en filas.
página 5 de 37
Tablas en LATEX
\begin{tabular}{l @{ xx } c @{\hspace{1cm}}|p{4cm}|}
\cline{3-3}
columna 1 & columna 2 & columna 3 esto lo pongo de relleno para
remarcar que el ancho de la columna es de 4 cm\\\cline{3-3}
col 1 & col 2 & col 3 \\\cline{3-3}
columnita 1 & columnita 2 & columnita 3 \\ \cline{3-3}
\end{tabular}
Veremos entonces:
columna 1 xx columna 2
col 1
columnita 1 xx columnita 2
col 2
xx
columna 3 esto lo pon-
go de relleno para re-
marcar que el ancho
de la columna es de 4
cm
col 3
columnita 3
3.4. El entorno “tabular*”
Veamos un pequeño ejemplo:
@{\extracolsep {longitud}} Nos permite establecer un espacio en blanco entre
columnas de la longuitud dada.
\begin{tabular*}{10 cm}{|l|l@{\extracolsep{\fill}}r|}
\hline
&Desde&Hasta\\
\hline
Ruta 2&Buenos Aires & Mar del Plata\\
Ruta 7&Buenos Aires &Mendoza\\
\hline
\end{tabular*}
Desde
Ruta 2 Buenos Aires
Ruta 7 Buenos Aires
Hasta
Mar del Plata
Mendoza
3.5. Alineación de decimales
Este es un ejemplo muy sencillo, la parte entera la alineamos a derecha, la decimal
a izquierda y los separamos por “@{.}”.
página 6 de 37
Tablas en LATEX
\begin{tabular}{|l | r@{,}l |}
\hline
Producto 1 & 11 & 1\\
\hline
Producto 2 & 2 & 22\\
\hline
Total & 13 & 32\\
\hline
\end{tabular}
Producto 1
Producto 2
Total
11,1
2,22
13,32
3.6. El paquete dcolumn[3]
Con en método que usamos en el ejemplo anterior, si bien logramos el resultado
esperado, en realidad lo que hicimos fue utilizar un pequeño truco donde uníamos
2 columnas.
Esto puede tener alguna complicación, por ejemplo si la columna que lleva una
alineación decimal tiene un encabezado.
Para solucionar este problema existe el paquete dcolumn.
La sintaxis es la siguiente:
D{separador 1}{separador 2}{decimales}
separador 1 Es el que usaremos en el código para separar la parte entera de
la decimal.
separador 2 Es lo que LATEXnos mostrará en la salida para separar la parte
decimales
entera de la decimal.
Es la cantidad de decimales que se mostrarán en la salida, si el
valor es “-1” no se limitará la cantidad de cimales en la salida.
Previamente, en el encabezado debemos declarar el paquete:
\usepackage{dcolumn}
Veamos como sería el ejemplo anterior:
página 7 de 37
Tablas en LATEX
\begin{tabular}{|l | D{.}{,}{-1} |}
\hline
Producto 1 & 11.1\\
\hline
Producto 2 & 2.22\\
\hline
Total & 13.32\\
\hline
\end{tabular}
Producto 1
Producto 2
Total
11,1
2,22
13,32
3.7. Alineación vertical de la tabla
3.7.1. Alineación de la parte superior de la tabla con la base del texto
En el siguiente ejemplo podremos ver como la tabla queda alineada con la base
del texto.
Hola mundo
\begin{tabular}[t]{|l |c |r|}
\hline
pos 1 & pos 2 & pos 3 \\
\hline
posición 1 & posición 2 & posición 3 \\
\hline
\end{tabular}
Hola mundo
pos 1
pos 3
posición 1 posición 2 posición 3
pos 2
3.7.2. Alineación del centro de la tabla con la base del texto
En otro ejemplo vemos como la tabla queda centrada verticalmente con el texto.
Hola mundo
\begin{tabular}[c]{|l| r| c|}
\hline
página 8 de 37
Tablas en LATEX
pos 1 & pos 2 & pos 3 \\
\hline
posición 1 & posición 2 & posición 3 \\
\hline
\end{tabular}
Hola mundo
pos 1
posición 1 posición 2 posición 3
pos 3
pos 2
3.7.3. Alineación de la base de la tabla con la base del texto
Hola mundo
\begin{tabular}[b]{| l | c| r |}
\hline
pos 1 & pos 2 & pos 3 \\
\hline
posición 1 & posición 2 & posición 3 \\
\hline
\end{tabular}
pos 1
pos 3
posición 1 posición 2 posición 3
pos 2
Hola mundo
3.8. Alineación diferenciada en una misma columna
En los ejemplos que vimos hasta ahora la alineación de una misma columna era
la misma para todas sus celdas.
Si necesitamos una alineación paricular para cada celda, lo que podemos hacer
es poner el texto dentro de una caja.
Veamos un ejemplo:
\begin{tabular}{|l|l|}
\hline
celda 1 &celda 2\\
\hline
celda 3 &\makebox[2.5cm][c]{celda 4}\\
\hline
celda 5 &\makebox[2.5cm][r]{celda 6}\\
\hline
\end{tabular}
página 9 de 37
Tablas en LATEX
Obtenemos como resultado:
celda 1
celda 3
celda 5
celda 2
celda 4
celda 6
4. Uniendo celdas
4.1. Celdas de varias columnas
Si queremos unir varias columnas, debemos usar el comando “multicolum”. Este
tiene la siguiente sintaxis:
\multicolumn{columnas}{posición}{texto}
columnas
posición
texto
Indica cuantas columnas tendrá de ancho la celda.
Indica la alineación del texto.
Indica el contenido de la celda.
4.1.1. Ejemplo celdas multicolum
Comentarios de: Tablas en LaTeX (0)
No hay comentarios