Multicolumn bei tabularx Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


Gast

Multicolumn bei tabularx

Beitrag von Gast »

Hallo zusammen,

ich habe eine Tabelle mit zwei Spalten. Eine kurze mit Zahlen links und eine mit längerem Text. Meine Tabelle habe ich mit tabularx auf Textbreite gebracht. Ich möchte allerdings unter dem unteren Strich der Tabelle Anmerkungen als Text schreiben, die die gesamte Textbreite umfassen sollen. Ich wollte das mit multicolumn machen, weiß aber nicht, wie ich die volle Textbreite nutzen kann und nicht nur die X-Spalte. Wenn ich die tabularx-Dokumentation richtig verstanden habe, soll man X-Spalten auch nicht überschreiten, so lange man nicht weiß was man tut. Vielleicht weiß das hier aber jemand oder hat einen anderen Lösungsweg, das würde mir sehr helfen.

Vielen Dank und viele Grüße

Mein Minimalbeispiel:
\documentclass[12pt]{article}
\usepackage{tabularx,lipsum}
\begin{document}
\begin{tabularx}{\textwidth}{lX}
    \hline
    Zahl&Text\\
    \hline
1,00&\lipsum*[2]\\
2,00&\lipsum*[2]\\
\hline
     &\multicolumn{1}{X}{\lipsum*[2]}\\
\end{tabularx}
\end{document}

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2466
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Sieh Dir mal das Paket booktabs an.

Warum schreibst Du die Anmerkungen nicht unter die Tabelle?

nocm
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Fr 9. Mär 2018, 07:40

Beitrag von nocm »

Hallo,

du musst vor multicolumn das & weg lassen und natürlich auch sagen, dass er beide Spalten nutzen soll und nicht nur eine. Bei der Breite wird es etwas tricky, weil du mit der Option p eine feste Breite vorgeben musst. Da hilft dann leider nur etwas probieren.
\documentclass[12pt]{article} 
\usepackage{tabularx,lipsum} 
\begin{document} 
\begin{tabularx}{\textwidth}{lX} 
    \hline 
    Zahl&Text\\ 
    \hline 
1,00&\lipsum*[2]\\ 
2,00&\lipsum*[2]\\ 
\hline 
     \multicolumn{2}{p{13.5cm}}{\lipsum*[2]}\\ 
\end{tabularx} 
\end{document} 
Grüße

Gast

Beitrag von Gast »

Hallo,

vielen Dank das löst mein Problem.

Daran, dass ich in dem Fall die Breite auch einfach händisch festlegen kann, habe ich nicht gedacht, ich wollte partout die Textbreite nehmen. Aber so ist es ja viel einfacher und für meine Zwecke völlig ausreichend.

Dass das & zu viel war und die Spaltenanzahl nicht gestimmt hatte, war klar. Nur da ich nur eine X-Spalte hatte, hatte es dazu geführt, dass auf der rechten Seite so viel fehlt, wie die l-Spalte breit ist.
Da habe ich es lieber mit & aufgeschrieben.

Es sind Anmerkungen, die direkt zur Tabelle gehören wie Quellen und Definitionen. Die möchte ich schon direkt unter die Tabellen schreiben, aber es stimmt, dass ich das kürzen sollte, bzw. auf Fließtext, Anmerkungen und Fußnoten verteilen kann.

Vielen Dank nochmal und viele Grüße

Gast

Beitrag von Gast »

Statt die Breite zu erraten, kann man sie auch berechnen, dann stimmt sie auch:
\documentclass[12pt]{article} 
\usepackage{tabularx,lipsum}
\usepackage{booktabs}
\begin{document} 
\noindent\begin{tabularx}{\textwidth}{lX} 
    \toprule
    Zahl&Text\\ 
    \midrule 
1,00&\lipsum*[2]\\ 
2,00&\lipsum*[2]\\ 
\midrule
     \multicolumn{2}{p{\dimexpr \textwidth-2\tabcolsep}}{\lipsum*[2]}\\ 
\end{tabularx} 
\end{document}
Anonymous hat geschrieben:Es sind Anmerkungen, die direkt zur Tabelle gehören wie Quellen und Definitionen. Die möchte ich schon direkt unter die Tabellen schreiben
Das tun sie auch, wenn man sie direkt unter die Tabelle, also nach dem \end{tabularx} schreibt:
\documentclass[12pt]{article} 
\usepackage{tabularx,lipsum}
\usepackage{booktabs}
\begin{document} 
\noindent\begin{tabularx}{\textwidth}{lX} 
    \toprule
    Zahl&Text\\ 
    \midrule 
1,00&\lipsum*[2]\\ 
2,00&\lipsum*[2]\\ 
\bottomrule
\end{tabularx}
\lipsum[2]
\end{document}
oder
\documentclass[12pt]{article} 
\usepackage{tabularx,lipsum}
\usepackage{booktabs}
\begin{document} 
\noindent\begin{tabularx}{\textwidth}{lX} 
    \toprule
    Zahl&Text\\ 
    \midrule 
1,00&\lipsum*[2]\\ 
2,00&\lipsum*[2]\\ 
\bottomrule
\end{tabularx}
\hspace*{\tabcolsep}%
\parbox{\dimexpr\textwidth-2\tabcolsep}{\lipsum[2]}
\end{document}
Desweiteren sei auf threeparttable hingewiesen.

Gast

Beitrag von Gast »

Danke!

Ihr habt Recht. Ich hätte es auch einfach unter die Tabelle schreiben können und mir einiges an Zeit erspart. Aber so weiß ich, wie man die Textbreite festlegt, auch nicht verkehrt...

Gast

Beitrag von Gast »

Für Zahlenspalten sei übrigens wieder einmal [d]siunitx[/d] empfohlen. Darüber hinaus sei darauf hingewiesen, dass man zweispaltige Tabellen oftmals durch Listen ersetzen kann.

Antworten