Seite 1 von 1

zelleninterner Zeilenumbruch ohne explizite Spaltenbreite

Verfasst: Do 20. Jun 2013, 13:57
von MoonKid
Die Frage wurde so ähnlich schon oft gestellt. Finde allerdings keine brauchbare Antwort.
\documentclass{scrartcl}

\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}

% Sprache
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

\begin{document}
\begin{table}[h]
\begin{tabular} {ccc}
eins & zwei             & drei \\
vier & fünf\newline 555 & sechs
\end{tabular}
\end{table}
\end{document}
Die bisherigen Lösungen beziehen sich immer darauf eine feste Spaltenbreite anzugeben. Das möchte ich so aber nicht.

EDIT: Ein Workaround wäre, in der jeweiligen Zelle einfach eine neue tabular-Umgebung einzubetten. Das ist aber umständlich und sieht grottig aus.

Verfasst: Do 20. Jun 2013, 15:26
von Besserwisser
Mögliche Antworten auf diese Frage sind u. a. tabularx und tabu. Die Anleitungen dazu geben nähere Auskunft über den Gebrauch von X-Spalten. AFAIK gibt es weitere Tabellenpakete auf CTAN, die ähnliches bieten. In Einzelfällen kann auch eine \parbox direkt verwendet werden.

Die genannten Pakete sind übrigens auch in der Paketübersicht mit Kurzbeschreibung in den wichtigen Hinweisen und Vorabhilfen für dieses Unterforum angegeben. Wenn Du diese wirklich nicht gefunden haben solltest, überdenke bitte noch einmal Deine Suchstrategie. Wenn Du diese gefunden haben solltest, überdenke bitte noch einmal Deine Fragestrategie.

Verfasst: Do 20. Jun 2013, 15:51
von MoonKid
Warum wird man hier immer gleich angemongt, man würde keine Doku lesen und nicht genug suchen!?

tabular kenn ich. Geht nicht.
tabu is neu. Geht auch nicht (habs gechecked).
X taugt auch nix. Dabei muss man eben die Gesamtbreite der Tabelle angeben.

Ich möchte keinen expliziten Wert für Breite der Tabelle oder Spalte angeben müssen.
Auch wie bei tabu das Verhältnis der Spaltenbreite zu anderen Spalten ist keine Lösung (seh ich jedenfalls nicht, wie).

Verfasst: Do 20. Jun 2013, 16:06
von Noch so einer
Vielleicht hältst Du Dich deshalb immer für unverstanden, weil andere tatsächlich nicht verstehen, was Dein Problem ist. Das könnte damit zu tun haben, dass Du etwas sehr salopp in Deinen Problembeschreibungen bist, etwa mit wenig genauen Angaben wie "sieht grottig aus" und "geht nicht". Wenn ich mir beispielsweise die spread-Beispiele zur X-Spalte in der tabu-Anleitung anschaue, dann vermute ich, dass das doch geht und siehe da:
\documentclass{scrartcl}

\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}

% Sprache
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}
\usepackage{tabu}
\begin{document}
\begin{table}[h]
\begin{tabu} spread 0pt{X[c]X[c]X[c]}
eins & zwei             & drei \tabularnewline
vier & fünf\\ 555 & sechs
\end{tabu}
\end{table}
\end{document}
geht nach meiner bescheidenen Meinung tatsächlich. Also vielleicht stimmt es ja tatsächlich, dass Du die Anleitungen gründlicher lesen solltest, statt Dich über diesen Vorschlag zu beschweren. Wirklich neu ist tabu übrigens auch nicht. Das hat bereits drei Jahre auf dem Buckel.

\newline ist übrigens nicht das gleiche wie \\ schon gar nicht im Zusammenhang mit Zentrierung!

Verfasst: Do 20. Jun 2013, 16:18
von MoonKid
Noch so einer hat geschrieben:Vielleicht hältst Du Dich deshalb immer für unverstanden, weil andere tatsächlich nicht verstehen, was Dein Problem ist. Das könnte damit zu tun haben, dass Du etwas sehr salopp in Deinen Problembeschreibungen bist, etwa mit wenig genauen Angaben wie "sieht grottig aus" und "geht nicht".
Was ist daran salopp? Die Aussage bezog sich auf den Code der entsteht, wenn man mehrer tabular-Environments schachtelt.

Außerdem ging es hier nicht um "Unverständnis", sondern um den Ton und die ständige Pauschalisierung, das Neulinge keine Doku lesen möchten.
Das ich das möchte und auch versuche, aber mir je nach Niveau der Doku die Fähigkeit bzw. das Verständnis fehlt und augrund technischer Probleme (texdoc) Doku auch oft nicht zu finden ist, ist ja was anderes. Work in progress...
Noch so einer hat geschrieben:D Wenn ich mir beispielsweise die spread-Beispiele zur X-Spalte in der tabu-Anleitung anschaue, dann vermute ich, dass das doch geht und siehe da:
\begin{tabu} spread 0pt{X[c]X[c]X[c]}
Das klingt prima! Man zwängt die Tabelle einfach zusammen, in dem man ihr einen unrealistisch niedrige Breite vorgibt. Wird sogar an drei Stellen in der Doku im Code gezeigt. Asche über mein Haupt!

Aber irgendwas mach ich falsch.
Dieser Code macht einfach ne Tabelle mit drei Zeilen, wobei #2 mit "fünf" endet und #3 mit "555" beginnt.
\documentclass{scrartcl}

\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}

% Sprache
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

\usepackage{tabu}

\begin{document}
\begin{tabu} spread 0pt {X[c]X[c]X[c]}
eins & zwei             & drei \tabularnewline
vier & fünf\\ 555 & sechs
\end{tabu}
\end{document}

Verfasst: Do 20. Jun 2013, 16:20
von Besserwisser
MoonKid hat geschrieben:Warum wird man hier immer gleich angemongt, man würde keine Doku lesen und nicht genug suchen!?
Ich weiß jetzt nicht, was "angemongt" sein soll, aber dass Du die Anleitungen gründlicher lesen solltest, hast Du gerade selbst bewiesen. Das hatte ich Dir übrigens gar nicht nahe gelegt. Ich hatte Dir vielmehr nahegelegt, entweder Deine Suchstrategie oder Deine Fragestrategie zu überdenken. Zur Fragestrategie gehört auch das von "Noch so einer" angesprochene Thema der Problembeschreibung.

BTW: Was sieht denn an
\documentclass{scrartcl}

\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}

% Sprache
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}
\begin{document}
\begin{table}[h]
\begin{tabular}{ccc}
eins & zwei             & drei \\
vier & \begin{tabular}[t]{@{}c@{}} fünf\\ 555\end{tabular} & sechs
\end{tabular}
\end{table}
\end{document}
"grottig" aus? Falls Du das optionale Argument von tabular noch nicht kanntest, das ist nicht neu, das gab es schon bei LaTeX2.09 und steht auch in guten LaTeX-Einführungen oder Herbert Voß' Buch über den Satz von Tabellen. In l2kurz wird es zwar verwendet, aber AFAIR nicht erklärt, was mit der Kürze jener Einführung entschuldigt sei. Da sie neuerdings aber wieder gepflegt wird, kann man eventuell auch mal einen Hinweis an die neueren Autoren wie Marco Daniel schicken …

Verfasst: Do 20. Jun 2013, 16:26
von Besserwisser
Bei tabu funktioniert \\ nicht wie bei tabularx, deshalb muss man in dem Fall beispielsweise \linebreak verwenden:
\documentclass{scrartcl}

\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text}

% Sprache
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}
\usepackage{tabu}
\begin{document}
\begin{table}[h]
\begin{tabu} spread 0pt{X[c]X[c]X[c]}
eins & zwei             & drei \\
vier & fünf\linebreak 55 & sechs
\end{tabu}
\end{table}
\end{document}

Verfasst: Do 20. Jun 2013, 16:33
von MoonKid
Yeah, thats it. Thx.