
Estoy usando el Tabular Wizard en Kile para crear un \tabularx
entorno para una de mis tablas y quiero que quepa dentro de una página. Actualmente esta es mi configuración:
{%
\newcommand{\mc}[3]{\multicolumn{#1}{#2}{#3}}
\begin{center}
\begin{tabularx}{\textwidth}[]{l|c|c|c|}\cline{2-4}
%data ....
\end{tabularx}
\end{center}
}%
Sin embargo, incluso con el parámetro \textwidth mis tablas superan los límites de la página.
Intenté leer esta discusión: -¿Cómo forzar una tabla al ancho de página?
Pero no sirvió de nada, la solución elegida no parece funcionar. ¿Cómo puedo arreglar esto?
Respuesta1
La forma tabularx
de ajustar el ancho de la tabla es cambiar el ancho de columnas específicas. Los tipos de columnas predeterminados ( r
, c
, l
) no se modifican con tabularx
, por lo que no se comportarán de manera diferente. En cambio, un nuevo tipo de columnaX
, que permite dividir el texto y tiene un ancho que cambia según el ancho de las otras columnas. Vea los ejemplos enel manual.
Por lo tanto, cuando se utilizan columnas just l
y c
, serán tan anchas como su contenido más amplio.
Si desea que el contenido de una X
columna esté alineado a la derecha, use >{\raggedleft\arraybackslash}
, para centrar y reemplace \raggedleft
con \centering
. En realidad, solo es \arraybackslash
necesario en la última columna, pero a continuación lo agregué en todas.
\documentclass[border=2mm]{standalone}
\usepackage{tabularx}
\newcommand\word{a bunch of text and some more text and yet more text}
\begin{document}
\begin{tabularx}{8cm}{
|>{\raggedleft\arraybackslash}X
|>{\centering\arraybackslash}X
|>{\raggedright\arraybackslash}X
| X |}
Right & Center & Left & Justified \\ \hline
\word & \word & \word & \word
\end{tabularx}
\end{document}