miércoles, 30 de marzo de 2011

Tablas con LaTeX (2)

En la siguiente entrada mostraré algunos ejemplos un poquito más complejos de tablas.

Cuando hacemos tablas, el comando \multicolumn{1}{|c|}{A} es muy útil. Con él podemos fusionar celdas de la misma fila, cambiar el ajuste del texto (centrado, izquierda, derecha...) en una sola celda, o poner líneas verticales solo en algunas celdas. Las primeras llaves dicen las celdas que se van a fusionar ({1} = celda formada por una única celda, es decir, no se fusiona nada). Las segundas llaves dicen el formato ({|c|} = con rayas verticales y el texto centrado). Las últimas llaves dicen el texto de la celda. A continuación, un ejemplo:

\begin{table}[htb]
\centering
\begin{tabular}{ c c c c c }
\hline
\multicolumn{5}{c}{Cuadro mágico.}\\
\hline \hline
11 & 24 & 7 & 20 & 3\\
4 & 12 & 25 & 8 & 16\\
\cline{2-2}
17 & \multicolumn{1}{|c|}{5} & 13 & 21 & 9\\
\cline{2-2} \cline{4-5}
10 & 18 & 1 & \multicolumn{1}{|c}{14} & \multicolumn{1}{c|}{22}\\
\cline{4-5}
23 & 6 & 19 & 2 & 15\\
\hline
\end{tabular}
\caption{Tabla ejemplo.}
\label{tabla:sinlineas}
\end{table}
% cline{1-2} = crea una línea horizontal entre la columna 1 y la 2.




Hay veces, que nos interesa ajustar varios números respecto del punto de los decimales. Una posibilidad es dividir los números en dos columnas, una de la parte entera, ajustada a la derecha, y otra de la parte decimal, ajustada a la izquierda. Cuya separación entre ambas columnas sea un punto, en vez de una raya. Para eso, se utiliza el comando "r@{.}" (en vez de {.} podríamos haber puesto cualquier otro símbolo). A continuación, un ejemplo:

Por ejemplo, la tabla (\ref{tabla:ajustepunto}):

\begin{table}[htb]
\centering
\begin{tabular}{|c|r@{.}l|}
\hline
\multicolumn{3}{|c|}{Números decimales} \\
\hline
A & 2 & 501 \\
\hline
B & 15 & 4 \\
\hline
C & 3700 & 25 \\
\hline
\end{tabular}
\caption{Números ajustados en el punto decimal.}
\label{tabla:ajustepunto}
\end{table}

1 comentario:

Luis dijo...

Todo esto está muy bien, pero tengo una pequeña duda:

\begin{tabular}{r @{.} l}
\multicolumn{2}{c}{Encabezado suuuuuuuper largo}\\
0&0000\\
0&0000\\
\end{tabular}

En mi ejemplo, el encabezado es relativamente grande en comparación con el espacio ocupado por los números, y éstos me aparecen como si estuvieran alineados a la izquierda porque la columna de los enteros siempre intenta estrecharse si éstos no abarcan mucho espacio, dejando que la de los decimales abarque el resto del espacio del encabezado. ¿Cómo podría hacer para centrar esas dos columnas justo en el lugar donde queda centrado el encabezado?