goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Tabellenlinie mit cmidrule in tabularx

 

Lowrider614
Forum-Anfänger
Forum-Anfänger

Beiträge: 40
Anmeldedatum: 03.08.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.11.2018, 22:02     Titel: Tabellenlinie mit cmidrule in tabularx
  Antworten mit Zitat      
Hallo,

ich möchte eine Tabelle erstellen, aber die unterste Linie soll nicht über die ganze Tabellenbreite gehen. Dazu nutze ich das Paket bookmark. Als Tabellenumgebung nutze ich tabularx. Beim kompilieren des Minimalbeispiels erhalte ich folgende Fehlermeldung:
Zitat:

You have used a \hline command in the wrong place, probably outside a table. If the \hline command is written inside a table, try including \ before it.

Ich verstehe schon, dass bookmark sich im Hintergrund hline bedient, aber was muss ich nun ändern, damit die Fehlermeldung weggeht? Die Tabelle wird auch richtig erstellt, eigentlich stört mich nur die Fehlermeldung.

Danke für eure Hilfe,

schöne Grüße

Tim


Minimalbeispiel (ich weiß, es ist zu lang. Aber das ist genau die Umgebung in welcher der Fehler auftritt und ich wollte eventuelle Nebenwirkungen von Paketen berücksichtigen)
Code • Öffne in Overleaf

\documentclass[a4paper,oneside,12pt]{article}

\usepackage{tabularx}
\usepackage{multirow}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{graphicx}

\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}

\newcommand*\rot{\rotatebox{90}}

\begin{document}

\begin{table}[htb]
\sffamily
\centering
\caption{Einfluss der Niederhalter- und Gegenhalterkraft auf den Glattschnittanteil}
   \begin{tabularx}{0.5\textwidth}{X L{0.05\textwidth} C{0.05\textwidth} C{0.05\textwidth} C{0.05\textwidth}}
               &     & \multicolumn{3}{c}{Niederhalterkraft in \si{\kilo\newton}}\\
              &     & 900               & 1000              & 1100\\
      \cmidrule{2-5}
              & 300 & \SI{90}{\percent} & \SI{92}{\percent} & \SI{90}{\percent}\\
              & 400 & \SI{91}{\percent} & \SI{90}{\percent} & \SI{92}{\percent}\\
              & 500 & \SI{94}{\percent} & \SI{92}{\percent} & \SI{91}{\percent}\\
              \rot{\rlap{\shortstack{Gegenhalter-\\ kraft in \si{\kilo\newton}}}}
       \cmidrule{2-5}
   \end{tabularx}
\label{tab:ParameterstudieKraefte}
\end{table}

\end{document}
 


#Edit: In Overleafv1 bricht das Kompilieren mit einem Fehler ab. Wenn man den letzten \cmidrule Befehl auskommentiert, läuft es durch. Der Fehler ist derselbe wie in Overleafv2.
_________________

"Wenn du nicht helfen kannst, dann störe. Dabei sein ist alles."
Jürgen von der Lippe
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 1472
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: ---
     Beitrag Verfasst am: 30.11.2018, 22:43     Titel:
  Antworten mit Zitat      
Dein Beispiel gibt eine Fehlermeldung aus, aber nicht die von Dir beschriebene. Nach dem Ende Deines Befehls \rot fehlt ein \\.

Wenn Deine Tabelle nicht so aussehen muss, dann möchte ich meinen Änderungsvorschlag einbringen, welcher sich an den Beispielen in tabsatz orientiert:

Code • Öffne in Overleaf
\documentclass[a4paper,12pt]{article}

\usepackage[utf8]{inputenc}% Voreinstellung bei einer aktuellen Arbeitsumgebung
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{caption}

\sisetup{
   locale=DE,
   detect-all
}

\newcommand*{\thead}[1]{%
   \begin{tabular}[t]{@{}l@{}}#1\end{tabular}%
}

\begin{document}
\begin{table}[htb]
   \sffamily
   \centering
   \caption{Einfluss der Niederhalter- und Gegenhalterkraft auf den Glattschnittanteil}
   \label{tab:ParameterstudieKraefte}
   \begin{tabular}{
      S[table-format=3]
      *3{S[table-format=2]
}
   }
   \toprule
   {\thead{Gegenhalter-\\kraft in \si{\kN}}}  
   & \multicolumn{3}{l}{\thead{Niederhalter-\\kraft in \si{\kN}}}\\
   \cmidrule(lr){2-4}
   & {900}         & {1000}        & {1100}\\
   & \si{\percent} & \si{\percent} & \si{\percent}\\
   \midrule
   300 & 90 & 92 & 90\\
   400 & 91 & 90 & 92\\
   500 & 94 & 92 & 91\\
   \bottomrule
   \end{tabular}
\end{table}
\end{document}
Private Nachricht senden Benutzer-Profile anzeigen

Lowrider614
Forum-Anfänger
Forum-Anfänger

Beiträge: 40
Anmeldedatum: 03.08.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.12.2018, 11:12     Titel:
  Antworten mit Zitat      
Hallo Bartman,

vielen Dank für deine Antwort und die neu entworfene Tabelle.

Folgendes gebe ich zu bedenken:
Deine Tabelle trägt extrem auf, was die Höhe angeht. In vielen Arbeiten gibt es eine maximale Seitenbegrenzung, wo eine solch ausladende Tabelle nicht förderlich ist. Da ist es dann leider so, dass einem das schönste Layout nichts nützt, wenn dadurch die Seitenbeschränkung gerissen wird. Daher habe ich deinen Vorschlag ein wenig angepasst, aber das Rotieren der Gegenhalterkraft aufgegeben, das hat mir gut gefallen.

Fragen:
1. Wie kriege ich die oberste Linie so lang wie die anderen Linien in meinem Beispiel?
2. Was macht das \newcommand Kommando genau? Das ist mir noch nicht ganz klar.


Code • Öffne in Overleaf

\documentclass[a4paper,12pt]{article}

\usepackage[utf8]{inputenc}% Voreinstellung bei einer aktuellen Arbeitsumgebung
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{caption}

\sisetup{
   locale=DE,
   detect-all
}

\newcommand*{\thead}[1]{%
   \begin{tabular}[t]{@{}l@{}}#1\end{tabular}%
}

\begin{document}
\begin{table}[htb]
   \sffamily
   \centering
   \caption{Einfluss der Niederhalter- und Gegenhalterkraft auf den Glattschnittanteil}
   \label{tab:ParameterstudieKraefte}
   \begin{tabular}{
      S[table-format=3]
      *3{S[table-format=2]
}
   }
   {\thead{Gegenhalter-\\kraft in \si{\kN}}}  
   & \multicolumn{3}{l}{\thead{Niederhalter-\\kraft in \si{\kN}}}\\
   \cmidrule(lr){2-4}
   & {900}         & {1000}        & {1100}\\
   %& \si{\percent} & \si{\percent} & \si{\percent}\\
   \midrule
   300 & 90\,\si{\percent} & 92\,\si{\percent} & 90\,\si{\percent}\\
   400 & 91\,\si{\percent} & 90\,\si{\percent} & 92\,\si{\percent}\\
   500 & 94\,\si{\percent} & 92\,\si{\percent} & 91\,\si{\percent}\\
   \midrule
   \end{tabular}
\end{table}
\end{document}
 

_________________

"Wenn du nicht helfen kannst, dann störe. Dabei sein ist alles."
Jürgen von der Lippe
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 1472
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: ---
     Beitrag Verfasst am: 01.12.2018, 14:29     Titel:
  Antworten mit Zitat      
Code • Öffne in Overleaf
\documentclass[a4paper,12pt]{article}

\usepackage[utf8]{inputenc}% Voreinstellung bei einer aktuellen Arbeitsumgebung
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{caption}

\sisetup{
   locale=DE,
   detect-all
}

\newcommand*{\thead}[1]{%
   \begin{tabular}[t]{@{}l@{}}#1\end{tabular}%
}

\begin{document}
\begin{table}[htb]
   \sffamily
   \centering
   \caption{Einfluss der Niederhalter- und Gegenhalterkraft auf den Glattschnittanteil}
   \label{tab:ParameterstudieKraefte}
   \begin{tabular}{
      S[table-format=3]
      *3{S[table-format=2, table-space-text-post=\,\si{\percent}
]}% Erweiterung für das Prozentzeichen in den Zellen
   }
   {\thead{Gegenhalter-\\kraft in \si{\kN}}}  
   & \multicolumn{3}{l}{\thead{Niederhalter-\\kraft in \si{\kN}}}\\
   \midrule% <- geändert
   & {900}         & {1000}        & {1100}\\
   %& \si{\percent} & \si{\percent} & \si{\percent}\\
   \midrule
   300 & 90\,\si{\percent} & 92\,\si{\percent} & 90\,\si{\percent}\\
   400 & 91\,\si{\percent} & 90\,\si{\percent} & 92\,\si{\percent}\\
   500 & 94\,\si{\percent} & 92\,\si{\percent} & 91\,\si{\percent}\\
   \midrule
   \end{tabular}
\end{table}
\end{document}


Der Befehl \newcommand und die tabular-Umgebung dürften in den LaTeX-Einführungen erklärt werden. Mein Einführungswerk des Herrn Schlosser konnte mir jedenfalls weiterhelfen. Herr Weh behandelt auf seiner Website vielleicht nicht alles, aber doch einige Inhalte, die in einführender Literatur angesprochen werden.
Private Nachricht senden Benutzer-Profile anzeigen

Lowrider614
Forum-Anfänger
Forum-Anfänger

Beiträge: 40
Anmeldedatum: 03.08.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.12.2018, 11:51     Titel:
  Antworten mit Zitat      
Hallo Bartman,

danke für die überarbeitete Antwort.

Ich entnehme deiner Antwort, dass es wohl nicht möglich ist, den \cmidrule Befehl dazu zu bewegen, die Linie nach rechts zu verlängern, weshalb er durch den \midrule Befehl zu ersetzen ist.

Zudem erreiche ich mit der unten stehenden Variante das Gleiche, wie du mit der table-space-text-post Definition. Ich persönlich bevorzuge meine Variante, da dann die Definition von Zahlen und Einheiten in meinem Dokument durchgängig ist. Vorher stellte diese Tabelle einen Sonderfall dar, den ich mir so erspare.

Vielen Dank für deine Hilfe, ich setze den Thread auf beantwortet.

Schöne Grüße

Tim

Code • Öffne in Overleaf

\documentclass[a4paper,12pt]{article}

\usepackage[utf8]{inputenc}% Voreinstellung bei einer aktuellen Arbeitsumgebung
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage{siunitx}
\usepackage{booktabs}
\usepackage{caption}

\sisetup{
   locale=DE,
   detect-all
}

\newcommand*{\thead}[1]{%
   \begin{tabular}[t]{@{}l@{}}#1\end{tabular}%
}

\begin{document}
\begin{table}[htb]
   \sffamily
   \centering
   \caption{Einfluss der Niederhalter- und Gegenhalterkraft auf den Glattschnittanteil}
   \label{tab:ParameterstudieKraefte}
   \begin{tabular}{
      S[table-format=3]
      *3{S[table-format=2]
}%, table-space-text-post=\,\si{\percent}]}% Erweiterung für das Prozentzeichen in den Zellen % <- geändert
   }
   {\thead{Gegenhalter-\\kraft in \si{\kN}}}  
   & \multicolumn{3}{l}{\thead{Niederhalter-\\kraft in \si{\kN}}}\\
   \midrule
   & {900}         & {1000}        & {1100}\\
   %& \si{\percent} & \si{\percent} & \si{\percent}\\
   \midrule
   300 & \SI{90}{\percent} & \SI{92}{\percent} & \SI{90}{\percent}\\ % <- geändert
   400 & \SI{91}{\percent} & \SI{90}{\percent} & \SI{92}{\percent}\\ % <- geändert
   500 & \SI{94}{\percent} & \SI{92}{\percent} & \SI{90}{\percent}\\ % <- geändert
   \midrule
   \end{tabular}
\end{table}
\end{document}
 

_________________

"Wenn du nicht helfen kannst, dann störe. Dabei sein ist alles."
Jürgen von der Lippe
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 1472
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: ---
     Beitrag Verfasst am: 02.12.2018, 15:11     Titel:
  Antworten mit Zitat      
Lowrider614 hat Folgendes geschrieben:
Ich entnehme deiner Antwort, dass es wohl nicht möglich ist, den \cmidrule Befehl dazu zu bewegen, die Linie nach rechts zu verlängern, weshalb er durch den \midrule Befehl zu ersetzen ist.


Beide Befehle werden in der Dokumentation von booktabs erläutert. Ich habe den Befehl ersetzt, weil \midrule, ohne weitere Einstellungen in einem Argument, die Länge ermöglicht, die Du gewünscht hast.
Private Nachricht senden Benutzer-Profile anzeigen

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 - 2018 goLaTeX.de