PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabelle bekommt falsche Trennstriche



latexy
21-05-2012, 00:30
Hallo!


\begin{tabular}{|lp{3cm}||lp{2cm}|lp{2cm}|lp{2cm}| }
\hline
a & b & c & d\\
\hline
\hline
pro & f & &\\
\hline
kontra & & & \\
\hline
\end{tabular}

Bei dieser Tabelle bekomme ich keinen doppelten Trennstrich zwischen Spalte 1 und 2, sondern zwischen 2 und 3. Zwischen 1 und 2 und zwischen 3 und 4 fehlt der Strich komplett.

Wie kommt das und wie lässt sich das beheben?

ctansearch
21-05-2012, 01:22
lp{3cm} Was soll das l in der Option? Ist mir nicht bekannt.
Ansonsten:


\documentclass[draft]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\begin{document}
\section{Erster Abschnitt}
\begin{tabular}{|p{3cm}||p{2cm}|p{2cm}|p{2cm}|}
\hline
a & b & c & d\\
\hline
\hline
pro & f & &\\
\hline
kontra & & & \\
\hline
\end{tabular}
\end{document}

rstuby
21-05-2012, 06:23
Genau. Sonst war deine erste Spalte eine l-Spalte, danach hattest du KEIN Trennzeichen, dann kam eine p-Spalte, ein doppelter Trennstrich, wieder eine l-Spalte, kein Trennzeichen usw.

Allerdings sagt man, dass senkrechte Striche meistens das Aussehen und die Lesbarkeit von Tabellen nur verschlechtern. Das Paket booktabs ist z.B. gar nicht mehr mit senkrechten Tabellenlinien kompatibel.

latexy
21-05-2012, 06:56
Ah okay. Nun meldet mir LaTeX das "Problem", dass beim Rendern einige Boxen zu voll sind, nämlich genau die Anzahl der Zellen, in denen LaTeX einen Zeilenumbruch einarbeiten musste. Ich will das aber so, also mit Zeilenumbruch. Kann ich LaTeX sagen, dass der erwünscht ist?

rstuby
21-05-2012, 10:15
Bei so kurzen Zeilen ist der Zeilenumbruch immer schwierig (obwohl ich normalerweise eher underfull boxes bekomme). Mach mal ein Minimalbeispiel, in dem wir sehen können, was genau da passiert. Etwas besser wird es, wenn man \usepackage{microtype} einbindet. Und natürlich \usepackage[ngerman]{babel}, damit die Silbentrennung funktioniert.
Zur Not musst du von Hand einen Zeilenumbruch setzen, wenn LaTeX partout keine gute Trennstelle findet. Wie schlimm sind denn deine zu vollen Boxen? Welche Werte werden bei den Meldungen angegeben? Sieht man mit bloßem Auge, dass die Zeile zu lang für die Tabellenzelle ist?

rstuby
21-05-2012, 19:25
UPD: Wenn du in der Tabelle Wörter stehen hast, die von der deutschen Silbentrennung nicht erkannt werden, kannst du auch mit \- manuelle Trennstellen setzen.

rais
21-05-2012, 20:44
Ah okay. Nun meldet mir LaTeX das "Problem", dass beim Rendern einige Boxen zu voll sind, nämlich genau die Anzahl der Zellen, in denen LaTeX einen Zeilenumbruch einarbeiten musste. Ich will das aber so, also mit Zeilenumbruch. Kann ich LaTeX sagen, dass der erwünscht ist?
zu den von rstuby bereits gemachten Hinweisen kommt, daß LaTeX das erste Wort eines Absatzes normalerweise nicht trennt. Wenn es Dir um das erste (bzw. ein einzelnes) Wort in so einer Spalte geht, würde es Dir auch nichts nutzen, Trennhilfen anzugeben. In so einem Fall ginge es mit \hspace{0pt} vor dem entsprecenden Wort...oder (unter Zuhilfenahme des array-Pakets) in der Spaltendeklaration mit >{\hspace{0pt}} vor dem entsprechenden p{...} (ungetestet).

MfG