Corrige una tabla que se sale de la página en Overleaf.
Las tablas de LaTeX exceden el margen de la página porque los tipos de columna estándar como l, c y r nunca ajustan el texto automáticamente. Puedes resolver tablas anchas de forma limpia con columnas de ajuste automático en tabularx, reduciendo el espaciado de columna o mediante orientación horizontal sin distorsionar el tamaño de la fuente.
Respuesta corta: reemplaza tabular por tabularx y usa columnas X para el texto que debe ajustarse. Si la tabla tiene muchas columnas numéricas estrechas, reduce el espaciado predeterminado con \setlength{\tabcolsep}{4pt} o rota la tabla a modo horizontal usando sidewaystable.
Identifica por qué tu tabla se desborda
Las tablas se desbordan del margen derecho por razones estructurales claras. Usa esta guía para elegir la solución adecuada en lugar de adivinar.
| Síntoma | Causa subyacente | Solución recomendada |
|---|---|---|
| Una sola columna se extiende mucho más allá del margen | Frases dentro de tipos de columna estándar l, c o r |
1. Ajusta el texto automáticamente con tabularx o columnas p
Los especificadores de columna estándar de LaTeX tratan el contenido de las celdas como líneas únicas sin romper. Cuando una celda contiene una oración completa, LaTeX la compone en un eje horizontal único que empuja las columnas siguientes más allá del margen derecho.
El remedio más limpio es el paquete tabularx. Introduce el especificador de columna X, que se expande para llenar el ancho de texto restante mientras ajusta automáticamente oraciones largas en varias líneas. Si necesitas anchos exactos en lugar de distribución automática, especifica dimensiones fijas con p{width}.
Ejemplos de código para ajustar columnas
Cálculo automático de ancho con tabularx
Establece el ancho de la tabla a \textwidth. El especificador X calcula el espacio restante después de ajustar las columnas estándar y ajusta el texto suavemente en varias filas.
\usepackage{tabularx} \begin{table}[htbp] \centering \begin{tabularx}{\textwidth}{l X X} \hline Method & Description & Expected Result \\ \hline Baseline & Standard model without data augmentations applied & Stable convergence \\ Proposed & Mixed training routine using synthetic datasets & Lower error rate \\ \hline \end{tabularx} \end{table}Ajuste de ancho fijo con columnas p
Si no quieres importar tabularx, usa p{width} en un entorno tabular estándar. Añade el paquete array para alinear el texto a la izquierda en lugar de justificarlo de forma extraña en celdas estrechas.
\usepackage{array} \begin{tabular}{l >{\raggedright\arraybackslash}p{6cm} r} \hline Item & Description & Cost \\ \hline Service & Cloud compute hours including storage backups & $120 \\ \hline \end{tabular}
2. Reduce el espacio en blanco y los encabezados
Cuando las tablas se desbordan solo por 10 a 30 puntos, ajustes tipográficos simples devolverán la tabla dentro de los márgenes sin cambiar las estructuras de columna.
Reduce el espaciado entre columnas con tabcolsep
LaTeX añade 6pt de espacio en blanco horizontal a ambos lados de cada columna por defecto. En una tabla con diez columnas, ese espaciado por sí solo representa 120pt de espacio horizontal. Redúcelo dentro del entorno de tabla para ajustar el espaciado.
\begin{table}[htbp] \centering \setlength{\tabcolsep}{3.5pt} % Default is 6pt \begin{tabular}{llllllll} \hline ... & ... & ... & ... & ... & ... & ... & ... \\ \hline \end{tabular} \end{table}Divide celdas de encabezado en líneas con makecell
Las columnas de datos con números pequeños a menudo se estiran porque sus encabezados son largos. El paquete makecell te permite insertar saltos de línea manuales dentro de encabezados individuales.
\usepackage{makecell} % In your table row: \makecell{Average\\Runtime (s)} & \makecell{Peak Memory\\Usage (MB)} & \makecell{Final\\Accuracy (\%)}Ajusta el tamaño de fuente localmente
Reduce ligeramente el tamaño del texto de la tabla colocando \small o \footnotesize dentro del entorno de tabla. Nunca apliques esto globalmente en todo el documento. Mantén la declaración de tamaño limitada estrictamente dentro del objeto flotante.
\begin{table}[htbp] \centering \small \begin{tabular}{lllll} \hline ... \\ \hline \end{tabular} \end{table}
3. Maneja tablas anchas en documentos de dos columnas y horizontales
Las tablas científicas complejas a menudo contienen demasiados datos para caber dentro de una sola columna o página vertical. Usa la estructura del documento para otorgar a la tabla más espacio.
Abarca ambas columnas en documentos de dos columnas
Si escribes para una revista IEEE, ACM o Elsevier en una plantilla de dos columnas, las tablas estándar se limitan a \columnwidth. Usa table* para abarcar ambas columnas en la parte superior de la página.
\begin{table*}[t] \centering \begin{tabular}{llllllllll} \hline Trial & Metric A & Metric B & Metric C & Metric D & Metric E & Metric F & Metric G \\ \hline ... \\ \hline \end{tabular*} \end{table*}Rota la tabla a horizontal
Para conjuntos de datos excepcionalmente amplios, rota la tabla 90 grados usando sidewaystable del paquete rotating. El título y la tabla rotan juntos, dejando la orientación de la página intacta.
\usepackage{rotating} \begin{sidewaystable} \centering \caption{Broad experimental results across all sample sites} \begin{tabular}{llllllllllll} \hline ... \\ \hline \end{tabular} \end{sidewaystable}Rota toda la página del PDF
Si quieres que el lector de PDF muestre la página en formato horizontal para lectura en pantalla, envuelve la tabla en el paquete pdflscape en lugar de rotar solo el objeto flotante.
\usepackage{pdflscape} \begin{landscape} \begin{table}[htbp] \centering \begin{tabular}{llllllllllll} \hline ... \\ \hline \end{tabular} \end{table} \end{landscape}
4. La solución moderna: tabularray
El paquete más nuevo tabularray reemplaza los trucos antiguos de tabular con una sintaxis consistente. Separa el formato de los datos, maneja el ajuste automático con columnas X de forma nativa y permite la alineación vertical y horizontal directa sin cargar array o makecell.
También funciona sin problemas dentro de tablas largas que necesitan abarcar varias páginas verticales manteniendo anchos de columna delimitados.
Escribir una tabla limpia con tabularray
Tabla básica con tabularray
Especifica el ancho total con width=\textwidth y asigna columnas de ajuste con X. Puedes añadir marcadores de alineación dentro de corchetes, como X[2,l] para una columna que toma el doble del ancho proporcional y se alinea a la izquierda.
\usepackage{tabularray} \begin{table}[htbp] \centering \begin{tblr}{ width = \textwidth, colspec = {l X[2,l] X[1,c] r}, hlines, } ID & Experiment Notes & Status & Score \\ 1 & Initial run showed minor calibration divergence & Validated & 94.2 \\ 2 & Repeated with temperature control enabled & Complete & 98.7 \\ \end{tblr} \end{table}
Por qué resizebox debería ser tu último recurso
Muchas publicaciones en foros recomiendan envolver tablas difíciles en \resizebox{\textwidth}{!}{...}. Aunque esto fuerza a la tabla a encajar entre los márgenes de la página inmediatamente, produce problemas tipográficos graves.
Resizebox escala la tabla como un gráfico vectorial arbitrario en lugar de formatear el texto. Las fuentes se encogen a tamaños de punto inconsistentes, las líneas horizontales se vuelven finas como un cabello y los números a menudo se vuelven completamente ilegibles. Los revisores y editores rechazan frecuentemente artículos con tablas escaladas.
Reserva \resizebox estrictamente para envíos de emergencia cuando una fecha límite está a minutos. Para publicaciones finales, ajusta oraciones largas con tabularx o reduce el espacio en blanco sistemáticamente.
Preguntas
¿Por qué mi tabla se desborda del margen derecho en Overleaf?
Las columnas de tabla de LaTeX configuradas en l, c o r no ajustan las líneas. Cualquier texto que ingreses permanece en una sola línea horizontal continua, forzando el borde de la tabla fuera de la página si el texto es más largo que el ancho de página restante.
¿Cómo hago que el texto se ajuste automáticamente dentro de las celdas de la tabla?
Carga el paquete tabularx y reemplaza tabular por tabularx{\textwidth}{...}. Usa el especificador de columna X para cualquier columna que contenga oraciones descriptivas. LaTeX calculará entonces el ancho restante y romperá las líneas naturalmente.
¿Puedo usar resizebox para arreglar una tabla ancha rápidamente?
Prueba tu propio artículo en Texeno.
Empieza gratis, sube un proyecto como .zip y pulsa Recompilar. Mejora tu plan cuando necesites compilaciones más largas.
Empezar a escribir