zelleninterner Zeilenumbruch ohne explizite Spaltenbreite

Tabellen und Grafiken erstellen und anordnen


MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

zelleninterner Zeilenumbruch ohne explizite Spaltenbreite

Beitrag 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.
XeLaTeX, TeX Live, vim-latexsuite

Besserwisser

Beitrag 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.

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag 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).
XeLaTeX, TeX Live, vim-latexsuite

Noch so einer

Beitrag 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!

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag 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}
XeLaTeX, TeX Live, vim-latexsuite

Besserwisser

Beitrag 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 …

Besserwisser

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

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

Yeah, thats it. Thx.
XeLaTeX, TeX Live, vim-latexsuite

Antworten