Tabla de Contenido
Existen distintas alternativas para crear tablas en LaTeX. En este artículo presentamos uno de los métodos más utilizados basado en el entorno tabular.
Los comandos mínimos para crear una tabla con el entorno tabular incluyen: crear el entorno, definir el número de columnas necesarias y añadir el contenido en tantas filas como sea necesario.
Código
Manzana & 4 \\
Naranja & 10 \\
Plátano & 3
Resultado

Los comandos \begin{tabular} y \end{tabular} delimitan el entorno. Junto con el comienzo del entorno tabular deben definirse el número de columnas. Esto se lleva a cabo escribiendo entre llaves una letra para cada columna. Esta letra indica si el contenido debe estar alineado a la izquierda (l), a la derecha (r) o centrado (c).
En este caso hemos definido dos columnas, la primera alineada a la derecha y la segunda a la izquierda, (e.g. { r l }).
También es posible definir la anchura de las columnas en lugar de su alineación. En este caso indicamos cada columna con la letra p seguida de la anchura entre llaves. Por ejemplo, para crear dos columnas de 4 y 3 cm, respectivamente, escribiríamos:
Para añadir el contenido de cada fila debemos separar mediante & el contenido correspondiente a cada columna. Para indicar el final de una fila escribimos \\.
Por ejemplo, el código
Escribirá Manzana en la primera columna, 4 en la segunda columna y a continuación cerrará la fila. Siguiendo este esquema pueden añadirse tantas filas como sea necesario.
Si queremos mostrar una línea horizontal entre dos filas podemos escribir el comando \hline después de la doble barra invertida \\.

También es posible incluir líneas verticales entre las distintas columnas. Estas deben crearse al abrir el entorno tabular y definir las columnas. Por ejemplo, si queremos crear tres columnas centradas con líneas verticales entre ellas escribiremos:
Aplicando este sistema a la tabla anterior obtenemos:
Código
Fruta & Cantidad \\ \hline
Manzana & 4 \\
Naranja & 10 \\
Plátano & 3 \\ \hline
Resultado

Con el mismo sistema también es posible crear líneas dobles:
Hay ocasiones en las que es necesario definir exactamente la posición en la que aparece la tabla dentro del documento. Además, a veces será necesario añadir una descripción o poder hacer referencia a ella en algún punto del texto. Para ello es necesario incluir la tabla, declarada mediante el entorno tabular, dentro de un entorno table.
Manzana & 4 & Estados Unidos \\
Naranja & 10 & España \\
Plátano & 3 & Colombia \\ \hline
\caption{Fruta disponible}
\label{tab:fruta}
El primer comando de este ejemplo abre un entorno table. La indicación entre llaves, en este caso [t], indica que la tabla debe posicionarse en la parte superior de la página. Las cuatro posibilidades principales son t (top: parte superior), b (bottom: parte inferior), h (here: aproximadamente en el punto donde se inserta la tabla) o p (page: mostrar la tabla en una página a parte).
A continuación se abre un entorno center para centrar la tabla horizontalmente en la página.
Una vez cerrado el entorno tabular y antes de cerrar el entorno table puede indicarse la descripción y etiqueta de la tabla.
La descripción se incluye mediante el comando \caption{Texto descriptivo} y aparecerá debajo de la tabla. Por defecto, el paquete babel en español llama cuadros a las tablas. Si no especificamos nada, la descripción de la tabla aparecerá como:

Si preferimos que se muestren con la palabra Tabla, debemos indicarlo al cargar el paquete babel mediante:
Código
Resultado

La etiqueta se define mediante el comando \label{etiqueta}. Al tratarse de una tabla es recomendable pero no obligatorio definir la etiqueta empezando con el texto tab:___. Esto permite evitar confusiones con otros elementos en el documento.
Una vez definida la etiqueta puede crearse una referencia en el texto mediante el comando \ref{tab:etiqueta}. Por ejemplo,

Combinar celdas en LaTeX
Existen ocasiones en las que es necesario combinar celdas de una tabla. El procedimiento a seguir es distinto dependiendo de si las celdas se combinan horizontalmente o verticalmente.
Para combinar celdas horizontalmente debemos indicar que la nueva celda abarca distintas columnas. Esto se consigue mediante el comando \multicolumn. Al utilizar el comando \multicolumn hay que indicar tres parámetros:
En primer lugar escribimos entre llaves el número de columnas que deben fusionarse. En segundo lugar indicamos el alineación de la nueva celda: l, r o c. Finalmente, incluimos el contenido en la nueva celda.
Con este comando podemos crear una fila inicial que abarque las cuatro columnas:
Código
\multicolumn{4}{ |c| }{Coches disponibles} \\ \hline
Fabricante & Modelo & Clase & Motor \\ \hline
BMW & Serie 3 & Berlina & Diésel \\
Peugeot & 508 & Berlina & Gasolina \\
Chrysler & Voyager & Monovolumen & Gasolina \\
Land Rover & Defender & Todoterreno & Gasolina \\ \hline
\caption{Coches disponibles}
\label{tab:coches}
Resultado

También podemos combinar solo algunas de las celdas de una fila concreta:
Código
\multicolumn{4}{ |c| }{Coches disponibles} \\ \hline
Fabricante & Modelo & Clase & Motor \\ \hline
\multicolumn{2}{ |c|}{BMW serie 3} & Berlina & Diésel \\
Peugeot & 508 & Berlina & Gasolina \\
Chrysler & Voyager & Monovolumen & Gasolina \\
Land Rover & Defender & Todoterreno & Gasolina \\ \hline
\caption{Coches disponibles}
\label{tab:coches}
Resultado

En este caso el contenido “BMW serie 3” se muestra en una sola celda, mientras que el resto de celdas en la fila siguen la división de la tabla.
También puede ser necesario combinar celdas en dirección vertical. Para estos casos es necesario cargar el paquete multirow, que da acceso al comando \multirow con un funcionamiento muy similar a \multicolumn. En este caso debemos definir el número de filas a combinar, la anchura de la columna y el contenido de la nueva celda. Por ejemplo, el código
resulta en la combinación de dos celdas, dándoles una anchura de 4 cm y con la palabra “Contenido”. También es posible escribir un asterisco como parámetro de anchura para que la celda se adapte automáticamente a la anchura necesaria. Aplicando este comando a la tabla anterior puede obtenerse
Código
\multicolumn{4}{ |c| }{Coches disponibles} \\ \hline
Fabricante & Modelo & Clase & Motor \\ \hline
BMW & serie 3 & \multirow{2}{*}{Berlina} & Diésel \\
Peugeot & 508 & Berlina & Gasolina \\
Chrysler & Voyager & Monovolumen & Gasolina \\
Land Rover & Defender & Todoterreno & Gasolina \\ \hline
\caption{Tabla de coches disponibles}
\label{tab:coches}
Resultado

Donde ahora la palabra “Berlina” aparece en una celda combinada. Es importante mantener un espacio en blanco (entre dos signos &) en las celdas que ahora están ocupadas por la nueva celda combinada. En este caso esto ocurre en la tercera fila correspondiente al Peugeot 508.
Centrar verticalmente el contenido de una celda
Para centrar verticalmente las celdas de una tabla es necesario incluir el paquete array en el preámbulo:
Este paquete permite definir la alineación de cada columna de un entorno tabular con el parámetro m. El parámetro m (middle) indica que el texto debe aparecer verticalmente en el centro. Por ejemplo, el siguiente código:
Código
España & Madrid, Barcelona, Sevilla, Valencia, Málaga, Zaragoza, Granada, Córdoba, Bilbao, etc. \\ \hline
Francia & París, Lyon, Burdeos, Toulouse, Marsella, Estrasburgo, Niza, Nantes, Montpellier, etc. \\ \hline
Alemania & Berlín, Múnich, Hamburgo, Colonia, Stuttgart, Leipzig, Núremberg, Bremen, Hannover, etc. \\ \hline
Resultado

Como puedes ver el nombre de los países aparece centrado verticalmente.
Tablas de más de una página en LaTeX
En algunos casos es necesario crear tablas tan largas que acaban ocupando más de una página. Para gestionar este tipo de tablas existe el paquete longtable.
Podemos crear una tabla con este entorno siguiendo el mismo esquema que en el caso del entorno tabular. Es decir,
Naranja & 10 \\
% Muchas líneas
Plátano & 3
La ventaja de utilizar este entorno es que podemos definir un encabezado para la tabla que se repetirá al principio de cada página.
En primer lugar podemos definir el encabezado que aparece justo en el comienzo de la tabla. Al finalizar la definición de este encabezado escribimos el comando \endfirsthead.
A continuación definimos el encabezado que aparecerá en las páginas subsiguientes y escribimos el comando \endhead al final.
Después de estas dos definiciones incluimos el contenido de la tabla.
A modo de ejemplo:
\multicolumn{2}{|c|}{Lista de frutas} \\ \hline
Fruta & Cantidad \\ \hline
\endfirsthead
Fruta & Cantidad \\ \hline
\endhead
Manzana & 4 \\
Naranja & 10 \\
Manzana & 4 \\
Naranja & 10 \\
Plátano & 3 \\ \hline
Produce el resultado


Resumen
- La forma más fácil de crear una tabla en LaTeX se basa en el entorno tabular.
- El entorno tabular puede incluirse a su vez dentro de un entorno table para definir la posición de la tabla en la página.
- Al declarar una tabla con el entorno tabular debe indicarse si el contenido de cada columna debe aparecer alineado a izquierda (l), a la derecha (r) o centrado (c).
- Las líneas verticales entre columnas pueden indicarse mediante el carácter | al declarar el entorno tabular.
- El comando \hline inserta líneas horizontales entre distintas filas.
- Mediante el comando \multicolumn pueden combinarse distintas celdas de una misma fila.
- Mediante el comando \multirow pueden combinarse distintas celdas de una misma columna.
- El paquete array puede utilizarse para centrar celdas verticalmente.
- El entorno longtable permite dar formato a tablas que ocupan más de una página.