PDF de programación - Tablas en LaTeX

Imágen de pdf Tablas en LaTeX

Tablas en LaTeXgráfica de visualizaciones

Actualizado el 29 de Enero del 2020 (Publicado el 24 de Enero del 2019)
508 visualizaciones desde el 24 de Enero del 2019
186,6 KB
37 paginas
Creado hace 11a (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
  • Links de descarga
http://lwp-l.com/pdf14967

Comentarios de: Tablas en LaTeX (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad