goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 99610
Top-Poster: Johannes_B (5059)

Wir begrüßen unseren neuesten Benutzer Kaleun.

Links:


Mit Unterstützung von DANTE e.V.: Deutschsprachige Anwendervereinigung TeX. Danke den Mitgliedern!





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Probleme mit longtable Umgebung

 

Gast
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.07.2019, 17:43     Titel: Probleme mit longtable Umgebung
  Antworten mit Zitat      
Code
%
\documentclass[a4paper]{article}
\usepackage{lipsum}
\usepackage{longtable,array}
\usepackage{tabularx, booktabs,ragged2e} % für Tabellen
\newcolumntype{L}{>{\RaggedRight\arraybackslash}X}
\newlength\mylength\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}

\usepackage{lipsum}

\begin{document}

\lipsum

\setlength\mylength{\dimexpr\textwidth-5\arrayrulewidth-8\tabcolsep}
%\centering
\begin{longtable}{p{.4\mylength}C{.2\mylength}C{.2\mylength}C{.2\mylength}}
\caption{Table caption}\\
\toprule
Model & R$^2$ (HG + RT) & R$^2$ (RT) & R$^2$ (HG)\\
\midrule
 $(a) \, \, 6.02 \cdot 10^6 \cdot d_p^{-1.62}$ & 0.925 & 0.925 & 0.922\\
$(b) \, \, 5.20 \cdot 10^6 \cdot d_p^{-1.62} \cdot GMR^{0.15}$ & 0.966 & 0.977 & 0.946\\
$(c) \, \, 4.16 \cdot 10^6 \cdot d_p^{-1.57} \cdot GMR^{0.16}$ & 0.972 & 0.975 & 0.966\\
\midrule
\multicolumn{4}{l}{Hier soll ein Zellenumbruch erfolgen, damit der Text ueber zwei Zeilen innerhalb der verbundenen Spalte angezeigt wird.}\\                
\bottomrule            
\end{longtable}

\end{document}

 



Hallo zusammen,

ich habe zwei Probleme mit meiner Tabelle. Siehe MMB. Mir ist wichtig, dass meine Tabelle bündig mit dem Text ist. Funktioniert soweit gut. Außerdem ist mir wichtig, dass die erste Spalte mit den Formeln linksbündig ist und die restlichen drei Spalten zentriert sind. Das funktioniert auch soweit. Nun zu meinen Problemen: Ich habe Schwierigkeiten, wenn ich "(a)" vor die Formel schreibe. Momentan sind "(a)", "(b)", "(c)" in die Formel eingebunden/integriert. Obwohl es funktioniert, finde ich das suboptimal und würde auch sicherlich niemanden auffallen. Ich hätte aber gerne "(a)", "(b)", "(c)" vor der Formel stehen. Das funktioniert für die Zeilen mit den Formeln "b" und "c". Allerdings nicht für "(a)". Ich verstehe einfach nicht warum und bekomme es nicht kompiliert sofern das "(a)" vor der Gleichung steht...

Das zweite Problem besteht in der verbundenen unteren Zeile. Ich benötige hier einen Zeilenumbruch, da ich ansonsten nicht genügend Platz für meine Legende habe. Kann ich das irgendwie mit "p{}" realisieren?

Vielen Dank im Voraus!

Bartman
Forum-Meister
Forum-Meister


Beiträge: 1865
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: ---
     Beitrag Verfasst am: 08.07.2019, 18:41     Titel:
  Antworten mit Zitat      
Code
\documentclass[a4paper]{article}
\usepackage{lipsum}
\usepackage{longtable}
\usepackage{tabularx}% lädt array
\usepackage{booktabs, ragged2e}
\usepackage{showframe}

\newlength\mylength

\newcolumntype{L}{>{\RaggedRight}X}% \arraybackslash wird bei diesem Befehl nicht gebraucht
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}

\begin{document}
\lipsum

\setlength\mylength{\dimexpr\textwidth-5\arrayrulewidth-8\tabcolsep}
%\centering
\begin{longtable}{>{\RaggedRight}p{.4\mylength}C{.2\mylength}C{.2\mylength}C{.2\mylength}}
\caption{Table caption}\\
\toprule
Model & R$^2$ (HG + RT) & R$^2$ (RT) & R$^2$ (HG)\\
\midrule
{(a)} $6.02 \cdot 10^6 \cdot d_p^{-1.62}$ & 0.925 & 0.925 & 0.922\\
(b) $5.20 \cdot 10^6 \cdot d_p^{-1.62} \cdot GMR^{0.15}$ & 0.966 & 0.977 & 0.946\\
(c) $4.16 \cdot 10^6 \cdot d_p^{-1.57} \cdot GMR^{0.16}$ & 0.972 & 0.975 & 0.966\\
\midrule
\multicolumn{4}{p{\textwidth}}{Hier soll ein Zellenumbruch erfolgen, damit der Text ueber zwei Zeilen innerhalb der verbundenen Spalte angezeigt wird.}\\                
\bottomrule            
\end{longtable}
\end{document}


Mir ist gerade nicht bekannt, warum (a) hier in einer Gruppe stehen muss, aber Du bekommst so keine Fehlermeldung mehr. Bei einer eigenen Spalte für die drei Buchstaben ist die gleiche Maßnahme nötig.

Außerdem ist Deine erste Spalte nicht linksbündig ausgerichtet, sondern auf Blocksatz eingestellt.

Stattdessen könntest Du auch mit xltabular arbeiten und threeparttablex für die Legende verwenden.
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.07.2019, 08:04     Titel:
  Antworten mit Zitat      
Vielen Dank Bartman!

Funktioniert soweit alles wie ich es mir vorstelle. Allerdings ist die Tabelle nun nicht mehr bündig mit meinem Text bzw. ragt auf der rechten Seite ein wenig heraus. Hast du noch eine Idee wie ich das beheben kann?

Das mit dem (a) und der Gruppe nehme ich dann einfach so mal hin ohne genau zu verstehen warum das so ist. Ich danke dir für die Lösungsvorschlag.

Beste Grüße!

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.07.2019, 08:53     Titel:
  Antworten mit Zitat      
Für die \multicolumn{4}{p{\textwidth}} muss eine ähnliche Berechnung wie für \mylength stattfinden (oder der Leerraum unterbunden werden). Sonst sorgt die dafür, dass die Tabelle zu breit ist.

Das (a) muss in geschweifte Klammern, da \midrule ähnlich wie \cmdirule ein Argument in runden Klammern akzeptiert und das (a) sonst als Trim-Argument liest. Siehe auch https://tex.stackexchange.com/q/228755/35864

Ich würde dazu raten, GMR im Mathemodus nicht als GMR zu setzen sondern als \mathit{GMR} oder \mathrm{GMR} am besten definiert man dazu einen eigenen Befehl.

Dann würde ich noch die (a), (b), (c)-Nummerierung in eine eigene Spalte setzen.

Code
\documentclass[a4paper]{article}
\usepackage{lipsum}
\usepackage{longtable}
\usepackage{tabularx}% lädt array
\usepackage{booktabs, ragged2e}
\usepackage{showframe}
\newlength\mylength

\newcolumntype{L}{>{\RaggedRight}X}% \arraybackslash wird bei diesem Befehl nicht gebraucht
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}

\newcommand*{\GMR}{\mathrm{GMR}}
\newcommand*{\Rsq}{\mathrm{R}^2}

\begin{document}
\lipsum

\setlength\mylength{\dimexpr\textwidth-10\tabcolsep}
\centering
\begin{longtable}{>{\RaggedRight}p{.02\mylength}>{\RaggedRight}p{.42\mylength}*{3}{C{.186\mylength}}}
\caption{Table caption}\\
\toprule
\multicolumn{2}{>{\RaggedRight}p{.44\mylength}}{Model} & $\Rsq$ (HG + RT) & $\Rsq$ (RT) & $\Rsq$ (HG)\\
\midrule\relax
(a) & $6.02 \cdot 10^6 \cdot d_p^{-1.62}$ & 0.925 & 0.925 & 0.922\\
(b) & $5.20 \cdot 10^6 \cdot d_p^{-1.62} \cdot \GMR^{0.15}$ & 0.966 & 0.977 & 0.946\\
(c) & $4.16 \cdot 10^6 \cdot d_p^{-1.57} \cdot \GMR^{0.16}$ & 0.972 & 0.975 & 0.966\\
\midrule
\multicolumn{5}{p{\dimexpr\textwidth-2\tabcolsep}}{Hier soll ein Zellenumbruch erfolgen, damit der Text über zwei Zeilen innerhalb der verbundenen Spalte angezeigt wird.}\\
\bottomrule
\end{longtable}
\end{document}


Für Tabellen mit vielen Zahlen empfehle ich meist siunitx und die S-Spalte das habe ich jetzt nicht versucht einzubauen, aber vielleicht ist es ja was für die nächste Tabelle.

u_fischer
Forum-Meister
Forum-Meister


Beiträge: 3938
Anmeldedatum: 22.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.07.2019, 08:55     Titel:
  Antworten mit Zitat      
Bartman hat Folgendes geschrieben:

Mir ist gerade nicht bekannt, warum (a) hier in einer Gruppe stehen muss,


Weil wie die Dokumentation von booktabs sagt, "within a longtable, you can use the optional left and right trimming commands, which normally only work for
\cmidrules, with \toprule, \midrule and \bottomrule".

D.h. \midrule(rl) ist erlaubt und verkürzt die Linien. Das heißt aber auch, dass \midrule schaut, ob eine Klammer folgt, und (a) bringt es aus dem Tritt. Alles was, die beiden trennt hilft: \midrule\relax, \midrule{}.
_________________

Ulrike Fischer
www.troubleshooting-tex.de
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.07.2019, 09:42     Titel:
  Antworten mit Zitat      
Vielen Dank an euch alle. Es funktioniert jetzt einwandfrei und ich habe viel gelernt. Tolles Forum!

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2019 goLaTeX.de