2010-05-24 13 views
48

Estoy intentando escribir un artículo corto con LaTeX y necesito agregar una tabla con 3 columnas.Cómo codificar tablas con celdas de varias líneas

+-------------+-----------------+--------------------------------------+ 
| AAAAAAAAAA | BBBBBBBBBBBBBBB | Betty Botter Bought a Bit of Butter | 
|    |     | but the Butter's Bitter    | 
+-------------+-----------------+--------------------------------------+ 
| CCCCCCCC | DDDD   | Betty Botter Thought:    | 
|    |     | If I Put This Bitter Butter in My | 
|    |     | Batter it Will Make My Batter Bitter | 
+-------------+-----------------+--------------------------------------+ 

Desafortunadamente no puedo encontrar la expresión correcta para hacerlo.


me trataron:

\begin{tabular}{lll} 
    AAAAAAAAAA & BBBBBBBBBBBBBBB & Betty Botter Bought a Bit of Butter but 
    the Butter's Bitter \\ 
    CCCCCCCC & DDDD & Betty Botter Thought: \newline If I Put This Bitter Butter in My Batter it Will Make My Batter Bitter 
\end{tabular} 

Pero LaTeX no hace ningún saltos de línea o el formato dentro de la célula. Supongo que necesito decirle que lo haga ... ¿Pero cómo?

+1

Pregunta duplicada: http://stackoverflow.com/questions/2687033/multiple-lines-in-a-cell-of-atable (esta pregunta tiene un alcance un poco más general). –

Respuesta

66

Utilice el descriptor p columna:

Cambio

\begin{tabular}{lll} 

a

\begin{tabular}{llp{5cm}} 

Para insertar explícitamente saltos de línea:

CCCCCCCC & DDDD & \parbox{5cm}{Betty Botter Thought: \\ If I Put This Bitter Butter in My Batter it Will Make My Batter Bitter} 
+5

¿Habría alguna manera de combinar p {} con uno de los otros descriptores de columna?Es decir, ¿una forma de decir que la columna que es p {5cm} debe estar alineada a la izquierda, derecha o al centro? – jja

+0

@jja como solución alternativa para alinear-derecho dentro de p {}, estoy usando \ hfill al principio de cada línea. – Frizi

2

Este es el Encontré hasta ahora para mis necesidades: Link here.

Se crea un nuevo comando que va a hacer una tabla dentro de una tabla de una manera más adecuada:

\newcommand{\specialcell}[2][c]{% 
\begin{tabular}[#1]{@{}[email protected]{}}#2\end{tabular}} 

lo tanto, si quieren hacer un salto de línea forzado dentro de una celda como aquí:

\begin{tabular}{|c|c|c|} 
\hline 
Foo bar & Foo <forced line break here> bar & Foo bar \\ 
\hline 
\end{tabular} 

el resultado final será el uso de un código como el siguiente:

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 

alineación horizontal puede ser controlado en el declaración del nuevo comando cambiando c @ a l @ o r @

Todo el crédito va a egreg del Tex forum

0

Aquí es una respuesta sin la codificación de fantasía. Escribe tus filas en líneas separadas. Omita la \ hline para todos menos la última fila (línea) Es rápido y sucio pero, oye, funciona y me da exactamente lo que quiero, para tablas simples de todos modos. Estaba haciendo publicidad para ir en parabrisas de automóviles. Tengo 3 filas centradas en cada celda

iTutor Grahamstown 
Mathematics Tutor 
0793296211 

Quería esto repetitivamente en mi mesa. Acabo de dejar la \ hline para las primeras dos filas. Las múltiples \ hlines y '|' son para facilitar el recorte de la impresión.

\begin{tabular}{||c||c||c||c||} 
\hline\hline 

iTutor Grahamstown &iTutor Grahamstown&iTutor Grahamstown &iTutor Grahamstown \\ %No \hline 

Mathematics Tutor & Mathematics Tutor & Mathematics Tutor&Mathematics Tutor \\ %No \hline 

0793296211 & 0793296211 & 0793296211 & 0793296211\\ \hline\hline\hline %\hline now 


\end{tabular} 

Espero que esto ayude.

Cuestiones relacionadas