Estoy creando un informe en LaTeX que involucra algunas tablas. Estoy atascado en eso ya que los datos de mi celda en la tabla exceden el ancho de la página. ¿Puedo ajustar el texto de alguna manera para que caiga en la siguiente línea en la misma celda de la tabla?
¿Está relacionado de alguna manera con el ancho de la tabla? Pero como está excediendo el ancho de la página, ¿hará alguna diferencia?
Respuestas:
Use p {ancho} para sus especificadores de columna en lugar de l / r / c.
fuente
\begin{tabular}{p{1cm}p{3cm}}
begin{tabular}{lp{<whatever is left to fill the line width>}}
p{0.2\linewidth}p{0.6\linewidth}}
Con el
tabular
entorno normal , desea utilizar elp{width}
tipo de columna, como indica marcog. Pero eso te obliga a dar anchos explícitos.Otra solución es la
tabularx
medio ambiente:Todas las columnas X tienen el mismo ancho. Puede influir en esto configurando
\hsize
en la declaración de formato:pero supongo que todos los factores tienen que sumar 1 (tomé esto del compañero de LaTeX). También está el paquete
tabulary
que ajustará los anchos de columna para equilibrar las alturas de las filas. Para obtener detalles, puede obtener la documentación de cada paquete contexdoc tabulary
(en TeXlive).fuente
Otra opción es insertar una minipagina en cada celda donde se desea ajustar el texto, por ejemplo:
fuente
itemize
listas en mis celdas.\columnwidth
: Cuando lo probé, parecía ser más ancho de tabla que ancho de columna, así que tuve que establecer una proporción manual como0.2\columnwidth
para obtener un ancho razonable.Me gusta la simplicidad del
tabulary
paquete:En el ejemplo, organiza todo el ancho de la tabla con respecto a \ textwidth. Ej. 0.4 de eso. Luego, el resto lo hace automáticamente el paquete.
La mayor parte del ejemplo está tomado de http://en.wikibooks.org/wiki/LaTeX/Tables .
fuente
¡Simple como un pedazo de TORTA!
Se puede definir un nuevo tipo de columna como (
L
en este caso), mientras que el mantenimiento de la alineación actual (c
,r
ol
):fuente
Si desea ajustar su texto pero mantener la alineación, puede ajustar esa celda en un entorno
minipage
ovarwidth
(varwidth proviene del paquete varwidth). Varwidth será "tan ancho como su contenido pero no más ancho que X". Puede crear un tipo de columna personalizada que actúe como "p {xx}" pero se reduzca para ajustarse usandoque puede requerir el
array
paquete. Luego, cuando use algo como\begin{tabular}{llM{2in}}
las dos primeras columnas, estaremos alineados a la izquierda y la tercera columna estará alineada a la izquierda, pero si se ensancha más de 2 pulgadas, el texto se ajustará.fuente
Para cambiar el texto
AB
enA \r B
una celda de la tabla, poner esto en la posición de la celda:\makecell{A \\ B}
.Antes de hacerlo, también debe incluir el paquete
makecell
.fuente
fuente