Solución:
Curiosamente, ninguna respuesta (a menos que las haya leído mal) menciona un paquete dedicado a esta pregunta precisa: makecell
, que permite el formato común de determinadas celdas, gracias a su thead
y makecell
comandos y para los saltos de línea dentro de estas celdas. Las alineaciones horizontal y vertical se pueden elegir independientemente de las de la tabla en la que están incluidas. El valor predeterminado es cc
, pero puede cambiarlo globalmente en el preámbulo con
renewcommand{cellalign/theadalign}{vh}
donde v es uno de t,c,b
yh uno de l,c,r
. Alternativamente, para una sola celda, puede usar el makecell
o thead
comandos con el argumento opcional [vh]
.
Entonces aquí hay una demostración:
documentclass[12pt]{article}
usepackage[utf8]{inputenc}
usepackage{fourier}
usepackage{array}
usepackage{makecell}
renewcommandtheadalign{bc}
renewcommandtheadfont{bfseries}
renewcommandtheadgape{Gape[4pt]}
renewcommandcellgape{Gape[4pt]}
begin{document}
begin{center}
begin{tabular}{ | c | c | c |}
hline
thead{A Head} & thead{A Second \ Head} & thead{A Third \ Head} \
hline
Some text & makecell{Some really \ longer text} & Text text text \
hline
end{tabular}
end{center}
end{document}
Es una pregunta bastante antigua, pero agregaré mi respuesta de todos modos, ya que el método que sugiero no apareció en los demás.
begin{tabular}{|c|c|c|}
hline
Foo bar & begin{tabular}[x]{@{}[email protected]{}}Foo\barend{tabular} & Foo bar \
hline
end{tabular}
dónde x
es cualquiera t
, c
, o b
para forzar la alineación vertical deseada.
En caso de que sea necesario en más de un par de lugares, es mejor definir un comando
newcommand{specialcell}[2][c]{%
begin{tabular}[#1]{@{}[email protected]{}}#2end{tabular}}
por lo que la línea de la tabla anterior puede ser una de
Foo bar & specialcell{Foo\bar} & Foo bar \ % vertically centered
Foo bar & specialcell[t]{Foo\bar} & Foo bar \ % aligned with top rule
Foo bar & specialcell[b]{Foo\bar} & Foo bar \ % aligned with bottom rule
Son posibles más variaciones, por ejemplo, especificando también la alineación horizontal en la celda especial.
Observe la @{}
para suprimir el espacio añadido antes y después del texto de la celda.
¡No es de extrañar por qué se dice que LaTeX es complicado! ¡Solo mire sus respuestas a una pregunta tan fácil! ¿Qué tal una solución fácil para un problema de todos los días?
usepackage{pbox}
begin{tabular}{|l|l|} hline
pbox{20cm}{This is the first \ cell} & second \ hline
3rd & and the last cell \ hline
end{tabular}
que se parece a:
Tenga en cuenta que el ancho suministrado a pbox
es un ancho máximo. Si el contenido es más corto, se toma la longitud de la línea más larga.