PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : tabular Spaltenbreite UND linksbündig



Sternkucker82
24-04-2007, 10:23
Hallo zusammen,
Ich möchte gerne eine Tabelle erstellen, in welcher der Text aller Zellen linksbündig erscheint und die Spaltenbreite auf 3cm festgesetzt ist. Nun weiß ich, wie jedes davon einzeln geht:
Entweder:

\begin{tabular}{l|l|l} oder

\begin{tabular}{|p{3cm}|p{3cm}|p{3cm}|}

Wie aber bekommen man beides zugleich?
Danke, Michael

countbela666
24-04-2007, 11:10
Hallo, Michael,

im Tabellen-Tutorial tabsatz (http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=tabsatz) von Axel Reichert sind viele interessante Anregungen zum Setzen von Tabellen in LaTeX gesammelt. Auch deine Frage wird dort beantwortet:

Kein Blocksatz in schmalen Spalten. Besser (array.sty):

\newcolumntype{v}[1]{%
>{\raggedright\hspace{0pt}}p{#1}%
}
Ergibt Flattersatz angegebener Breite, Trennung auch im ersten Wort möglichSoll heißen: füge obigen Code (+ \usepackage{array}) in deine Präambel ein und nutze dann statt p{3cm} den Spaltentyp v{3cm}.

Grüße
Marcel

Sternkucker82
24-04-2007, 15:43
Danke. Ich habe die beiden Elemente in die Präambel eingefügt, laut Statusmeldung auch ok.
Leider sieht die Tabelle dann ganz kaputt aus, und beim compilieren wird alles mit Fehlern überflutet:

"!Misplaced \noalign. \hline ->\noalign {ifnum0='\fi \hrule \@height\arrayrulewidth \futurelet..."
Was mache ich falsch?

countbela666
24-04-2007, 15:51
Ich denke, du hältst dich nicht an Punkt 3 auf Seite 2 von tabsatz.pdf: ;)

Zellenumbruch mit \\, Zeilenumbruch mit \tabularnewlineAlso entweder du beendest Zeilen wie eigentlich vorgesehen mit \tabularnewline, oder du änderst die obige Spaltendefinition und kannst weiterhin auch am Zeilenende mit \\ arbeiten:

\newcolumntype{v}[1]{%
>{\raggedright\hspace{0pt}\arraybackslash}p{#1}%
}Grüße
Marcel