La base para componer tablas es el entorno tabular. En \begin{tabular}{ccc}, {ccc} es una especificación de columnas que declara de antemano cuántas columnas hay y cómo se alinea cada una; en el cuerpo separas las celdas con & y terminas cada fila con \\. Las reglas horizontales se dibujan con \hline. Esta página cubre esas tres convenciones, los especificadores básicos l, c, r y p{width}, y la diferencia entre tabular, que construye el contenido de la tabla, y el entorno flotante table, que la coloca como una tabla numerada con leyenda.
El entorno tabular
tabular es el entorno para componer una tabla de filas y columnas. Su rasgo definitorio es que \begin{tabular} toma justo después un argumento obligatorio: la especificación de columnas. Escribir \begin{tabular}{ccc} significa “tres columnas centradas”, y el número y la alineación declarados aquí fijan el esqueleto de toda la tabla. Cada fila del cuerpo se escribe entonces como ese número de celdas unidas por &.
Dentro de la tabla, tres símbolos tienen significado. & (ampersand) es el separador de columnas entre celdas de la misma fila. \\ (dos barras invertidas) es el terminador de fila que acaba una fila. Y \hline dibuja una regla horizontal a todo lo ancho de la tabla en ese punto. El \\ tras la última fila puede omitirse, pero para dibujar una regla debajo de esa última fila debes cerrarla con \\ y luego colocar \hline.
\begin{tabular}{ccc}
\hline
A & B & C \\
D & E & F \\
\hline
\end{tabular}Este ejemplo compone una tabla de tres columnas y dos filas, cerrada arriba y abajo por una regla horizontal. El contenido de cada celda (A a F) queda centrado, siguiendo el c de la especificación de columnas. Los espacios alrededor de & se ignoran, así que puedes añadirlos en la fuente para alinear las celdas y mejorar la legibilidad.
Ten en cuenta que \begin{tabular} también acepta, antes de la especificación de columnas, un argumento opcional de posición vertical entre corchetes: \begin{tabular}[t]{…} alinea la parte superior de la tabla, y [b] la inferior, con la línea base circundante. Por omisión, el centro vertical de la tabla se alinea con la línea.
Los especificadores básicos de columnas
El argumento de especificación de columnas se escribe con una letra por columna. Hay cuatro básicos. l alinea a la izquierda, c centra y r alinea a la derecha; cada uno hace que la columna tenga el ancho de su contenido natural. Estos no se parten dentro de la línea: si el contenido de una celda es largo, la columna se estira hasta el ancho de esa línea y la tabla puede desbordar la página.
El cuarto, p{width}, se comporta de otra manera. Es una columna compuesta como una caja de párrafo (parbox) del ancho dado: cuando su contenido supera ese ancho, se ajusta automáticamente a varias líneas. Usa p{width} para columnas con prosa larga. El ancho puede ser un valor absoluto como p{5cm} o relativo al texto, como p{0.3\linewidth}. Por omisión, el contenido de una columna p se alinea arriba y se justifica.
| Especificador | Alineación | ¿Se ajusta? |
|---|---|---|
l | Alineado a la izquierda | No (ancho natural) |
c | Centrado | No (ancho natural) |
r | Alineado a la derecha | No (ancho natural) |
p{幅} | Arriba, justificado | Sí (se ajusta al ancho dado) |
Las especificaciones de columna más elaboradas — \multicolumn para celdas que abarcan varias columnas, *{n}{…} para repetir columnas y los tipos m{width} (centrado vertical), b{width} (abajo) y los ganchos >{…} del paquete array — se cubren en la página “especificadores de columna en profundidad”. Con solo l, c, r y p{width} ya puedes construir la mayoría de las tablas.
Reglas — horizontales y verticales
Las reglas horizontales se dibujan con \hline. Colocada entre filas, o arriba y abajo, traza una línea a todo lo ancho de la tabla. Dos seguidas, \hline\hline, dan dos reglas paralelas, una regla doble. Para trazar solo ciertas columnas en medio de la tabla, usa \cline con un rango de columnas, como \cline{2-3}.
Las reglas verticales se crean insertando | (barra vertical) en la especificación de columnas. Escribir {|l|c|r|} pone líneas verticales en los bordes exteriores y entre las tres columnas, y combinado con \hline encierra cada celda en una cuadrícula. Usa || para una regla vertical doble.
\begin{tabular}{|l|c|r|}
\hline
左 & 中央 & 右 \\
\hline
1 & 2 & 3 \\
\hline
\end{tabular}Dicho esto, la convención es evitar un exceso de reglas. Las reglas verticales y las dobles se desaconsejan especialmente en la composición profesional. El autor del paquete booktabs afirma claramente “never use vertical rules, and never use double rules”, y el estándar en tablas de revistas es un diseño sobrio con solo unas pocas reglas horizontales. El diseño legible de tablas y el uso de \toprule / \midrule / \bottomrule se tratan con detalle en la página “Reglas y tablas de calidad editorial”.
Saltos de fila y espaciado
El terminador de fila \\ acepta un argumento opcional. Añadir una longitud entre corchetes, como \\[2pt], inserta espacio vertical extra bajo esa fila; un valor negativo lo estrecha. Úsalo cuando una regla quede demasiado pegada al texto o cuando quieras más aire entre filas.
Ten en cuenta que \\ es, en esencia, un comando de salto de línea: además de terminar filas de tabla, actúa como el mismo “separador de filas” en matrices matemáticas y entornos de alineación como align. Así que la idea de “separar columnas con & y romper filas con \\” se traslada directamente de las tablas a las matemáticas alineadas.
Para aumentar uniformemente la altura de todas las filas, puedes cambiar el multiplicador con \renewcommand{\arraystretch}{1.3}. El espacio entre columnas, 6 pt por lado por omisión, se controla con la longitud \tabcolsep. Estos ajustes dimensionales más finos también se cubren en “especificadores de columna en profundidad” y “reglas y tablas de calidad editorial”.
tabular frente al entorno table
Se confunden a menudo, pero tabular y table son cosas totalmente distintas. tabular compone la tabla en sí, el contenido de filas y columnas, y puede ir en cualquier lugar en modo texto: en medio de un párrafo, dentro de un elemento de lista, en la leyenda de una figura e incluso en una nota al pie si está fuera de $…$. Por sí solo, tabular no tiene leyenda, número ni control de colocación.
En cambio, el entorno table es un flotante que envuelve un tabular. Lo que aporta table es un encabezado con número automático mediante \caption{…} (“Tabla 1”, etc.), referencias cruzadas mediante \label{…} y \ref{…}, y especificadores de colocación como [htbp] que dejan a LaTeX decidir dónde ponerlo en la página. Cuando una tabla es grande y podría cruzar un salto de página, convertirla en flotante permite que LaTeX la mueva a un lugar adecuado. El uso completo de table (leyendas, numeración, colocación) se deja para otra página.
\begin{table}[htbp]
\centering
\caption{四半期ごとの売上}
\begin{tabular}{lrr}
\hline
四半期 & 売上 & 前年比 \\
\hline
Q1 & 1{,}200 & +5\% \\
Q2 & 1{,}350 & +8\% \\
\hline
\end{tabular}
\end{table}En este ejemplo, el table exterior se encarga de la leyenda numerada “Table 1: Quarterly sales” y de la colocación, mientras que el tabular interior compone el contenido. \centering centra la tabla horizontalmente. La idea es la división de tareas: contenido en tabular, encabezado y colocación en table. Un tabular por sí solo basta para componer una tabla, pero para referirte a ella como “Tabla N” en un artículo o informe, envuélvela en un table.
Un ejemplo completo
Por último, aquí hay un tabular que combina lo anterior: una etiqueta alineada a la izquierda en la columna 1, una columna p{width} que se ajusta en la columna 2 y un número alineado a la derecha en la columna 3.
\begin{tabular}{l p{5cm} r}
\hline
項目 & 説明 & 価格 \\
\hline\hline
りんご & 蜜入りの大玉。贈答にも使われる人気の品種です。 & 380 \\
みかん & 甘くて手で剥ける小ぶりの柑橘。 & 120 \\
\hline
\end{tabular}Esto compone una tabla de tres columnas. La columna 1 (“Item”) queda a la izquierda con su ancho natural, y la columna 3 (“Price”) se alinea a la derecha. La columna 2 (“Description”) es una columna p de 5cm, así que la descripción larga se ajusta automáticamente a 5cm y solo esa celda se vuelve de varias líneas; la altura de la fila crece para acomodarla. Una regla doble \hline\hline queda bajo el encabezado, y reglas simples \hline cierran arriba y abajo. Poner el mismo texto largo en una columna l o r lo estiraría lateralmente sin ajustarse: esa es la diferencia decisiva con p{width}.