Spaltenüberschrift in Tabellenspalten mit Dezimalausrichtung

Tabellen und Grafiken erstellen und anordnen


Handball_meets_latex
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Mo 29. Aug 2016, 17:40

Spaltenüberschrift in Tabellenspalten mit Dezimalausrichtung

Beitrag von Handball_meets_latex »

Hallo,

ich habe eine Frage: Ist es möglich die Spaltenüberschrift zu zentrieren, wenn man S-Spalten verwendet, um die Spalten an der Dezimalstelle auszurichten? Bei der Überschrift "Arith. Mittel" passt es, "FQ" geht auch, aber bei "Median" sieht es arg verrutscht aus. Ich habe auch schon versucht die Überschriften rechtsbündig zu machen, aber es zeigt leider keinen Effekt. Ich wäre für jede ordentliche Fassung dankbar ;-). Ich habe in dem Minimalbeispiel einige Zeilen rausgenommen. Normalerweise erstreckt sich die Tabelle über 2 Seiten, aber so ist es erst mal übersichtlicher.

Also schon mal vielen Dank und viele Grüße :-)!
%
\documentclass[a4paper, 12pt, captions=tableabove,oneside,numbers=noenddot]{scrreprt}
\usepackage[T1]{fontenc} %Umlaute etc. werden in Ausgabe wiedergegeben
\usepackage[utf8]{inputenc} %Umlaute können eingegeben werden und plattformübergreifende Kodierung
\usepackage[ngerman]{babel} %Sprache und neue Rechtschreibung, Anpassung an gewünschte Sprache
\usepackage{longtable} % zur Darstellung einer Tabelle über mehrere Seiten
\usepackage{multirow} % für mehrzeilige Zellen
\usepackage{siunitx}
\usepackage{filecontents} % Für lange Tabellen mit fester Gesamtbreite zusammen mit ltxtable
\usepackage{ltxtable} % Für lange Tabellen mit fester Gesamtbreite zusammen mit filecontents
\usepackage{booktabs} % Für horizontale Linien in Tabellen
\usepackage{textcomp}
\usepackage{pdflscape}
\begin{document}
\begin{landscape}
\begin{filecontents}{table-geordnet.auto}
		
		\renewcommand{\arraystretch}{1.5}
		\setlength{\tabcolsep}{5mm}
		\begin{longtable}{p{5.5cm}S[table-format=3.1,table-comparator=true,table-number-alignment=center, output-decimal-marker={,}]S[table-format=3.1,table-comparator=true,table-number-alignment=center, output-decimal-marker={,}]S[table-format=1.2,table-comparator=true,table-number-alignment=center, output-decimal-marker={,}]S[table-format=3.1,table-comparator=true,table-number-alignment=center, output-decimal-marker={,}]S[table-format=3.1,table-comparator=true,table-number-alignment=center, output-decimal-marker={,}]S[table-format=1.2,table-comparator=true,table-number-alignment=center, output-decimal-marker={,}]}
			\caption{Add caption} \label{tab:geordnet}\\
			\toprule
			& \multicolumn{3}{c}{Teilstichprobe 1} & \multicolumn{3}{c}{Teilstichprobe 2}\\
			\cmidrule(lr){2-4} \cmidrule(lr){5-7}
			& \multicolumn{1}{c}{Artih. Mittel} & \multicolumn{1}{r}{Median} & \multicolumn{1}{c}{FQ} & \multicolumn{1}{c}{Arith. Mittel} & \multicolumn{1}{c}{Median} & \multicolumn{1}{c}{FQ}\\
			\endfirsthead \caption{Fortsetzung: Tabelle}
			\\
			\toprule
			& \multicolumn{3}{c}{Teilstichprobe 1} & \multicolumn{3}{c}{Teilstichprobe 2}\\
			& {Arith. Mittel} & {Median} & {FQ} & {Arith. Mittel} & {Median} & {FQ}\\
			\midrule \endhead
			\midrule
			& \multicolumn{6}{c}{\underline{Übergreifende Kategorie 1}}\\
			Variable 1 & 100,0\%&	100,0\%&	0,00 &	100,0\%& 100,0\%&	0,00\\ 			
			Variable 2 & 98,9\%&	100,0\%&	0,01 &	96,7\%&	98,5\%&	0,03\\
			Variable 3 & 88,9\%&	94,5\%&	0,11 &	88,0\%&	88,9\%&	0,12 \\
			
			\bottomrule
		\end{longtable}
	\end{filecontents}
\LTXtable{\linewidth}{table-geordnet.auto}
\end{landscape}

	
\end{document} 

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Hallo!

Weniger ist manchmal mehr:
sage den Spalten mittels table-space-text-post, dass hinter den Zahlen noch etwas steht. Das verbessert automatisch die Anordnung. Da du schon siunitx nutzt, habe ich gleich noch das Prozentzeichen angepasst.
\begin{filecontents}{table-geordnet.auto}
      \renewcommand{\arraystretch}{1.5}
      \setlength{\tabcolsep}{5mm}
      \begin{longtable}{p{5.5cm}*{2}{S[table-format=3.1, output-decimal-marker={,},table-space-text-post ={\,\si{\percent}}]S[table-format=3.1,output-decimal-marker={,},table-space-text-post ={\,\si{\percent}}]S[table-format=1.2,output-decimal-marker={,}]}}
         \caption{Add caption} \label{tab:geordnet}\\
         \toprule
         & \multicolumn{3}{c}{Teilstichprobe 1} & \multicolumn{3}{c}{Teilstichprobe 2}\\
         \cmidrule(lr){2-4} \cmidrule(lr){5-7}
         & {Artih. Mittel} & {Median} & {FQ} & {Arith. Mittel} & {Median} & {FQ}\\
         \endfirsthead \caption{Fortsetzung: Tabelle}
         \\
         \toprule
         & \multicolumn{3}{c}{Teilstichprobe 1} & \multicolumn{3}{c}{Teilstichprobe 2}\\
         & {Arith. Mittel} & {Median} & {FQ} & {Arith. Mittel} & {Median} & {FQ}\\
         \midrule \endhead
         \midrule
         & \multicolumn{6}{c}{\bfseries Übergreifende Kategorie 1}\\
         Variable 1 & 100,0\,\si{\percent}&   100,0\,\si{\percent}&   0,00 &   100,0\,\si{\percent}& 100,0\,\si{\percent}&   0,00\\          
         Variable 2 & 98,9\,\si{\percent}&   100,0\,\si{\percent}&   0,01 &   96,7\,\si{\percent}&   98,5\,\si{\percent}&   0,03\\
         Variable 3 & 88,9\,\si{\percent}&   94,5\,\si{\percent}&   0,11 &   88,0\,\si{\percent}&   88,9\,\si{\percent}&   0,12 \\      
         \bottomrule
      \end{longtable}
\end{filecontents}
\documentclass[a4paper, 12pt, captions=tableabove,oneside,numbers=noenddot]{scrreprt}
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage[ngerman]{babel} 
%\usepackage{longtable} %bereits geladen
\usepackage{siunitx}
\usepackage{ltxtable}
\usepackage{booktabs}
\usepackage{pdflscape}
\begin{document}
\begin{landscape}
\LTXtable{\linewidth}{table-geordnet.auto}
\end{landscape}
\end{document}
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen.

Handball_meets_latex
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Mo 29. Aug 2016, 17:40

Beitrag von Handball_meets_latex »

Hallo,

vielen Dank für deine schnelle Hilfe. So sieht es gut aus :-). Danke!!!

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

Beitrag von Bartman »

Die Grundlage meiner Änderungen ist das Beispiel von markusv.

Meine Gestaltung der Spaltentypen zeigt lediglich eine Alternative.

Für die zweite bis letzte Seite fehlt der Aufruf von \cmidrule.

Falls Du ein Tabellenverzeichnis benutzt, sollte dieses nur einen Eintrag für die Tabelle enthalten.
\begin{filecontents}{table-geordnet.auto}
\renewcommand{\arraystretch}{1.5}
\setlength{\tabcolsep}{5mm}
\begin{longtable}{
	X
	*{2}{
		*{2}{
			S[table-format=3.1, table-space-text-post=\,\si{\percent}]
		}
		S[table-format=1.2]
	}
}
\caption{Add caption}
\label{tab:geordnet}\\
\toprule
& \multicolumn{3}{c}{Teilstichprobe 1} & \multicolumn{3}{c}{Teilstichprobe 2}\\
\cmidrule(lr){2-4} \cmidrule(lr){5-7}
& {Artih. Mittel} & {Median} & {FQ} & {Arith. Mittel} & {Median} & {FQ}\\
\endfirsthead 
\caption[]{Fortsetzung: Tabelle}\\% <- [] für Tabellenverzeichnis eingefügt
\toprule
& \multicolumn{3}{c}{Teilstichprobe 1} & \multicolumn{3}{c}{Teilstichprobe 2}\\
\cmidrule(lr){2-4} \cmidrule(lr){5-7}% <- eingefügt
& {Arith. Mittel} & {Median} & {FQ} & {Arith. Mittel} & {Median} & {FQ}\\
\midrule 
\endhead
\midrule
& \multicolumn{6}{c}{\bfseries Übergreifende Kategorie 1}\\
Variable 1 & 100,0\,\si{\percent}&   100,0\,\si{\percent}&   0,00 &   100,0\,\si{\percent}& 100,0\,\si{\percent}&   0,00\\          
Variable 2 & 98,9\,\si{\percent}&   100,0\,\si{\percent}&   0,01 &   96,7\,\si{\percent}&   98,5\,\si{\percent}&   0,03\\
Variable 3 & 88,9\,\si{\percent}&   94,5\,\si{\percent}&   0,11 &   88,0\,\si{\percent}&   88,9\,\si{\percent}&   0,12 \\      
Variable 1 & 100,0\,\si{\percent}&   100,0\,\si{\percent}&   0,00 &   100,0\,\si{\percent}& 100,0\,\si{\percent}&   0,00\\          
Variable 2 & 98,9\,\si{\percent}&   100,0\,\si{\percent}&   0,01 &   96,7\,\si{\percent}&   98,5\,\si{\percent}&   0,03\\
Variable 3 & 88,9\,\si{\percent}&   94,5\,\si{\percent}&   0,11 &   88,0\,\si{\percent}&   88,9\,\si{\percent}&   0,12 \\      
Variable 1 & 100,0\,\si{\percent}&   100,0\,\si{\percent}&   0,00 &   100,0\,\si{\percent}& 100,0\,\si{\percent}&   0,00\\          
Variable 2 & 98,9\,\si{\percent}&   100,0\,\si{\percent}&   0,01 &   96,7\,\si{\percent}&   98,5\,\si{\percent}&   0,03\\
Variable 3 & 88,9\,\si{\percent}&   94,5\,\si{\percent}&   0,11 &   88,0\,\si{\percent}&   88,9\,\si{\percent}&   0,12 \\      
Variable 1 & 100,0\,\si{\percent}&   100,0\,\si{\percent}&   0,00 &   100,0\,\si{\percent}& 100,0\,\si{\percent}&   0,00\\          
Variable 2 & 98,9\,\si{\percent}&   100,0\,\si{\percent}&   0,01 &   96,7\,\si{\percent}&   98,5\,\si{\percent}&   0,03\\
Variable 3 & 88,9\,\si{\percent}&   94,5\,\si{\percent}&   0,11 &   88,0\,\si{\percent}&   88,9\,\si{\percent}&   0,12 \\      
Variable 1 & 100,0\,\si{\percent}&   100,0\,\si{\percent}&   0,00 &   100,0\,\si{\percent}& 100,0\,\si{\percent}&   0,00\\          
Variable 2 & 98,9\,\si{\percent}&   100,0\,\si{\percent}&   0,01 &   96,7\,\si{\percent}&   98,5\,\si{\percent}&   0,03\\
Variable 3 & 88,9\,\si{\percent}&   94,5\,\si{\percent}&   0,11 &   88,0\,\si{\percent}&   88,9\,\si{\percent}&   0,12 \\      
Variable 1 & 100,0\,\si{\percent}&   100,0\,\si{\percent}&   0,00 &   100,0\,\si{\percent}& 100,0\,\si{\percent}&   0,00\\          
Variable 2 & 98,9\,\si{\percent}&   100,0\,\si{\percent}&   0,01 &   96,7\,\si{\percent}&   98,5\,\si{\percent}&   0,03\\
Variable 3 & 88,9\,\si{\percent}&   94,5\,\si{\percent}&   0,11 &   88,0\,\si{\percent}&   88,9\,\si{\percent}&   0,12 \\      
\bottomrule
\end{longtable}
\end{filecontents}

\documentclass[fontsize=12pt, captions=tableabove, numbers=noenddot, listof=totoc]{scrreprt}
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage{lmodern}% <- eingefügt
\usepackage[ngerman]{babel} 
\usepackage[locale=DE]{siunitx}% <- geändert
\usepackage{ltxtable}
\usepackage{booktabs}
\usepackage{pdflscape}
\usepackage{scrhack}% für showframe im Querformat
\usepackage{showframe}

\begin{document}
\tableofcontents
\listoftables

\begin{landscape}
\LTXtable{\linewidth}{table-geordnet.auto}
\end{landscape}
\end{document}
Wenn das Prozentzeichen nicht in den Datenzellen stehen muss, darf es in die Spaltenbeschriftung verschoben werden.
\begin{filecontents}{table-geordnet.auto}
\renewcommand{\arraystretch}{1.5}
\setlength{\tabcolsep}{5mm}
\begin{longtable}{
   X% Ersatz für p{5.5cm}
   *{2}{
      *{2}{
         S[table-format=3.1]
      }
      S[table-format=1.2]
   }
}
\caption{Add caption}
\label{tab:geordnet}\\
\toprule
& \multicolumn{3}{c}{Teilstichprobe 1}   & \multicolumn{3}{c}{Teilstichprobe 2}\\
\cmidrule(lr){2-4} \cmidrule(lr){5-7}
& {Arith. Mittel} & {Median}      & {FQ} & {Arith. Mittel} & {Median}      & {FQ} \\
& \si{\percent}   & \si{\percent} &      & \si{\percent}   & \si{\percent} &      \\
\endfirsthead 
\caption[]{Fortsetzung: Tabelle}\\% <- [] für Tabellenverzeichnis eingefügt
\toprule
& \multicolumn{3}{c}{Teilstichprobe 1}   & \multicolumn{3}{c}{Teilstichprobe 2}   \\
\cmidrule(lr){2-4} \cmidrule(lr){5-7}% <- eingefügt
& {Arith. Mittel} & {Median}      & {FQ} & {Arith. Mittel} & {Median}      & {FQ} \\
& \si{\percent}   & \si{\percent} &      & \si{\percent}   & \si{\percent} &      \\
\midrule 
\endhead
\midrule
& \multicolumn{6}{c}{\bfseries Übergreifende Kategorie 1}\\
Variable 1 &  100,0 &  100,0 &  0,00 &  100,0 &  100,0 &  0,00 \\          
Variable 2 &   98,9 &  100,0 &  0,01 &   96,7 &   98,5 &  0,03 \\
Variable 3 &   88,9 &   94,5 &  0,11 &   88,0 &   88,9 &  0,12 \\      
Variable 1 &  100,0 &  100,0 &  0,00 &  100,0 &  100,0 &  0,00 \\          
Variable 2 &   98,9 &  100,0 &  0,01 &   96,7 &   98,5 &  0,03 \\
Variable 3 &   88,9 &   94,5 &  0,11 &   88,0 &   88,9 &  0,12 \\      
Variable 1 &  100,0 &  100,0 &  0,00 &  100,0 &  100,0 &  0,00 \\          
Variable 2 &   98,9 &  100,0 &  0,01 &   96,7 &   98,5 &  0,03 \\
Variable 3 &   88,9 &   94,5 &  0,11 &   88,0 &   88,9 &  0,12 \\      
Variable 1 &  100,0 &  100,0 &  0,00 &  100,0 &  100,0 &  0,00 \\          
Variable 2 &   98,9 &  100,0 &  0,01 &   96,7 &   98,5 &  0,03 \\
Variable 3 &   88,9 &   94,5 &  0,11 &   88,0 &   88,9 &  0,12 \\      
Variable 1 &  100,0 &  100,0 &  0,00 &  100,0 &  100,0 &  0,00 \\          
Variable 2 &   98,9 &  100,0 &  0,01 &   96,7 &   98,5 &  0,03 \\
Variable 3 &   88,9 &   94,5 &  0,11 &   88,0 &   88,9 &  0,12 \\      
Variable 1 &  100,0 &  100,0 &  0,00 &  100,0 &  100,0 &  0,00 \\          
Variable 2 &   98,9 &  100,0 &  0,01 &   96,7 &   98,5 &  0,03 \\
Variable 3 &   88,9 &   94,5 &  0,11 &   88,0 &   88,9 &  0,12 \\      
\bottomrule
\end{longtable}
\end{filecontents}

\documentclass[fontsize=12pt, captions=tableabove, numbers=noenddot, listof=totoc]{scrreprt}
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage{lmodern}% <- eingefügt
\usepackage[ngerman]{babel} 
\usepackage[locale=DE]{siunitx}% <- geändert
\usepackage{ltxtable}
\usepackage{booktabs}
\usepackage{pdflscape}
\usepackage{scrhack}% für showframe im Querformat
\usepackage{showframe}

\begin{document}
\tableofcontents
\listoftables

\begin{landscape}
\LTXtable{\linewidth}{table-geordnet.auto}
\end{landscape}
\end{document}

Antworten