2010-05-24 4 views
48

Ich versuche, ein kurzes Papier mit LaTeX zu schreiben und muss eine Tabelle mit 3 Spalten hinzufügen.Wie Tabellen mit mehrzeiligen Zellen zu codieren sind

+-------------+-----------------+--------------------------------------+ 
| 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 | 
+-------------+-----------------+--------------------------------------+ 

Leider kann ich nicht das richtige Idiom finden, um es zu tun.


Ich habe versucht:

\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} 

Aber LaTeX keine Zeilenumbrüche oder die Formatierung innerhalb der Zelle nicht tun. Ich nehme an, ich muss es ihm sagen. Aber wie?

+1

Doppelte Frage: http://stackoverflow.com/questions/2687033/multiple-lines-in-a-cell-of-a-table (diese Frage ist ein wenig allgemeiner im Umfang). –

Antwort

66

Verwenden Sie die p Spaltendeskriptorsatz:

ändern

\begin{tabular}{lll} 

zu

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

explizit Um Zeilenumbrüche einfügen:

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

Wäre es möglich, p {} mit einem der anderen Spaltenbeschreiber zu kombinieren?Bedeutet, eine Möglichkeit zu sagen, dass die Spalte, die p {5cm} ist, links, rechts oder in der Mitte ausgerichtet sein sollte? – jja

+0

@jja als Workaround für align-right in p {}, verwende ich \ hfill am Anfang jeder Zeile. – Frizi

2

Das ist das ist Ich habe bis jetzt für meine Bedürfnisse gefunden: Link here.

Es erstellt einen neuen Befehl, der eine Tabelle in einer Tabelle in einer richtigen Art und Weise machen:

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

Also, wenn Sie mögen, einen erzwungenen Zeilenumbruch in einer Zelle zu tun, wie hier:

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

Sie werden am mit einem Code am Ende wie folgt:

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 

Horizontale Ausrichtung in der gesteuert werden kann, Erklärung des neuen Befehls von c @-l @ oder r @

alle Kredit Wechsel geht an egreg vom Tex forum

0

Hier ist eine Antwort ohne Phantasie-Codierung. Schreibe deine Zeilen in separate Zeilen. Entferne das \ hline für alle außer die letzte Zeile (Zeile) Es ist schnell und schmutzig, aber, hey, es funktioniert und gibt mir genau das, was ich will, für einfache Tabellen sowieso. Ich machte Werbung für Windschutzscheiben. Ich habe 3 zentrierte Zeilen in jeder Zelle

Ich wollte dies wiederholt in meiner Tabelle. Ich habe gerade die Zeile für die ersten zwei Zeilen weggelassen. Die mehreren \ hlines und '|' sollen den Ausdruck erleichtern.

\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} 

Ich hoffe, dass dies hilft.

Verwandte Themen