siunitx Abstand zwischen Spalten

Tabellen und Grafiken erstellen und anordnen


yellowbird
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: Fr 28. Aug 2015, 16:49

siunitx Abstand zwischen Spalten

Beitrag von yellowbird »

Hallo zusammen,

ich habe eine sehr breite Tabelle (13 Spalten) mit \begin{landscape} schon im Querformat, und weil sie so lang ist mit \begin{longtable} auch über 2 Seiten.

Ich habe siunitx und S columns verwendet, damit die Werte Kommazentriert dargestellt werden. Nun ragt die Tabelle leider rechts in die Kopfzeile der Seite hinein. Deshalb würde ich gerne den Abstand zwischen den Spalten verringern und habe das Ganze mit \tabcolsep=0.01pt versucht.
Kompoiliert, aber ändert nicht viel. Gibt es einen Trick den Abstand der S-Spalten von siunitx zu verringern?

Vielen Dank!

Gast0815

Beitrag von Gast0815 »

Vielleicht hilft die table-format Option. Mit S[table-format=x.y] kannst du beispielsweise angeben, für wie viele Ziffern x vor dem Komma und Nachkommastellen y Platz geschaffen werden soll. Die automatische Zuteilung schafft oft zu viel Platz, falls mehr Nachkommastellen als Ziffern vor dem Komma oder umgekehrt vorhanden sind.

Stamm-

Statt einer Beschreibung auch etwas herzeigen

Beitrag von Stamm- »

Fertige einfach ein Minimalbeispiel an. Das muss ja nur die Tabelle und die dafür benötigten Pakete enthalten.

Benutzeravatar
iTob
Forum-Meister
Forum-Meister
Beiträge: 1221
Registriert: Mo 19. Apr 2010, 22:19
Kontaktdaten:

Beitrag von iTob »

GGf. kannst du händisch den Abstand zwischen den Spalten entfernen oder ersetzen, in dem du @{} bzw. @{\hspace{2mm}} in die Spaltendefinition einfügst. Siehe dazu auch meinen Blog-Artikel: Tabellen: Erweiterte Spaltendefinitionen

Das funktioniert aber nur, um den Abstand zwischen den Spalten zu ändern. Wie schon gesagt reserviert siunitx innerhalb der Spalte Platz für die Ziffern.
Ich biete Hilfe, Beratung und Schulung für alle Fragen rund um TeX, Buchgestaltung und Textsatz, sowie Grafik- und Kommunikationsdesign.
Mehr Infos und Kontakt unter tobiw.de.

Hier schreibe ich über TeX: Mein Blog „TeX-Beispiel des Monats“ (Deutsch) und TeX.tips (Englisch).

yellowbird
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: Fr 28. Aug 2015, 16:49

Beitrag von yellowbird »

Danke für eure Tipps!

Hier erstmal das Minimal-Beispiel mit dem geschilderten Problem:
\documentclass[a4paper,12pt,onesite]{book}

\usepackage{geometry}
\usepackage{comment}
\usepackage[utf8]{inputenc}
\usepackage[]{xcolor}
\usepackage[ngerman]{babel}
\usepackage{setspace}
\usepackage{fancyhdr}
\usepackage[authoryear, round]{natbib}
\usepackage{graphicx}
\usepackage{color}
\usepackage{transparent}
\usepackage{booktabs} %Für Tabellen im "wissenschaftlichen Stil" mit ausschließlich horizontalen Linien
\usepackage[justification=RaggedRight, singlelinecheck=false]{caption} 
\usepackage{siunitx} %Zur individuellen Anpassung der Abstände zwischen den Spalten
\usepackage{dcolumn} %Zur kommazentrierten Darstellung in den Spalten         
\usepackage[flushleft]{threeparttable} %Für Anmerkungen etc. unter der Tabelle
\usepackage{picins}
\usepackage{xspace}
\usepackage[colorlinks=false, pdfborder={0 0 0}]{hyperref}
\usepackage[figure]{hypcap} %Für Tabellenverweise im Text 
\usepackage{pxfonts}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{subfig}
\usepackage{float}
\usepackage{titlesec}
\usepackage{framed}
\usepackage{nicefrac}
\usepackage{chngcntr}
\usepackage{ltxtable}
\usepackage{filecontents}
\usepackage{pdflscape}
\usepackage{mathabx}




\sisetup{input-symbols = ()} % "(" and ")" are ordinary inputs
\counterwithout{footnote}{chapter}

\bibpunct[:~]{(}{)}{;}{a}{}{,~}


% Seitengröße 
\geometry{a4paper, top=25mm, left=25mm, right=25mm, bottom=20mm,
headsep=10mm, footskip=12mm, textwidth=160mm}




% Zeilenabstand 
\setstretch{1.5}

\newcommand{\tabhead}[1]{\textbf{#1}}
\renewcommand{\tabularxcolumn}[1]{>{\centering\arraybackslash}p{#1}}
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}

\begin{document}

\chapter{Hier steht der Kapitelname}
\newpage


\begin{landscape}
\begin{scriptsize}
\begin{singlespace}
\begin{filecontents}{table.tex}
\begin{longtable}{p{.2\textwidth} SSSSSSSSSSSS}



\caption{Hier stehte der Tabellenname für den Header und das Tabellenverzeichnis} \\

		\toprule
			\tabhead{} & 
			\multicolumn{3}{c}{\tabhead{2000}} & 
			\multicolumn{3}{c}{\tabhead{2001}} & 
			\multicolumn{3}{c}{\tabhead{2002}} &
			\multicolumn{3}{c}{\tabhead{2003}} \\
			\cmidrule(lr){2-4}
			\cmidrule(lr){5-7}
			\cmidrule(lr){8-10}
			\cmidrule(lr){11-13}
			&
			\multicolumn{3}{c}{\textbf{Frage}} & 
			\multicolumn{3}{c}{\textbf{Frage}} & 
			\multicolumn{3}{c}{\textbf{Frage}} &
			\multicolumn{3}{c}{\textbf{Frage}} \\
			
			& 
			{keine} & 
			{schwache} & 
			{enge} & 
			{keine} & 
			{schwache} & 
			{enge} & 
			{keine} & 
			{schwache} &
			{enge} & 
			{keine} & 
			{schwache} &
			{enge} \\
			
	
			
				\midrule
				\endfirsthead
				\caption[]{Hier stehte der Tabellenname für den Header und das Tabellenverzeichnis} \\

		\toprule
					\tabhead{} & 
			\multicolumn{3}{c}{\tabhead{2000}} & 
			\multicolumn{3}{c}{\tabhead{2001}} & 
			\multicolumn{3}{c}{\tabhead{2002}} &
			\multicolumn{3}{c}{\tabhead{2003}} \\
			\cmidrule(lr){2-4}
			\cmidrule(lr){5-7}
			\cmidrule(lr){8-10}
			\cmidrule(lr){11-13}
			&
			\multicolumn{3}{c}{\textbf{Frage}} & 
			\multicolumn{3}{c}{\textbf{Frage}} & 
			\multicolumn{3}{c}{\textbf{Frage}} &
			\multicolumn{3}{c}{\textbf{Frage}} \\
			
			& 
			{keine} & 
			{schwache} & 
			{enge} & 
			{keine} & 
			{schwache} & 
			{enge} & 
			{keine} & 
			{schwache} &
			{enge} & 
			{keine} & 
			{schwache} &
			{enge} \\
			
	 

			
				\midrule
				\endhead
				\addlinespace
				\midrule
				
				\multicolumn{13}{r}{\footnotesize Wird auf der nächsten Seite fortgesetzt \dots}
			\endfoot
			\bottomrule
			\multicolumn{13}{l}{\footnotesize $^+p<0.1$, $^*p<0.05$, $^{**}p<0.01$, $^{***}p<0.001$}
			\endlastfoot
			
			

test-test 	&	 0.121\sym{***}	&	 -0.029\sym{***}	&	 -0.093\sym{***}	&	 0.106\sym{***}	&	 -0.032\sym{***}	&	 -0.073\sym{***}	&	 0.246\sym{***}	&	 -0.108\sym{***}	&	 -0.139\sym{***}	&	 0.242\sym{***}	&	 -0.102\sym{***}	&	 -0.140\sym{***}\\

\end{longtable}
\end{filecontents}


\LTXtable{\textwidth}{table.tex}
\end{singlespace}
\end{scriptsize}
\end{landscape}

\end{document}
Dann habe ich verusucht die Abstände durch den Vorschlag mit der table-format Einstellung zu lösen. Das wurde zwar "besser", aber leider sehr sehr unleserlich:
\documentclass[a4paper,12pt,onesite]{book}

\usepackage{geometry}
\usepackage{comment}
\usepackage[utf8]{inputenc}
\usepackage[]{xcolor}
\usepackage[ngerman]{babel}
\usepackage{setspace}
\usepackage{fancyhdr}
\usepackage[authoryear, round]{natbib}
\usepackage{graphicx}
\usepackage{color}
\usepackage{transparent}
\usepackage{booktabs} %Für Tabellen im "wissenschaftlichen Stil" mit ausschließlich horizontalen Linien
\usepackage[justification=RaggedRight, singlelinecheck=false]{caption} 
\usepackage{siunitx} %Zur individuellen Anpassung der Abstände zwischen den Spalten
\usepackage{dcolumn} %Zur kommazentrierten Darstellung in den Spalten         
\usepackage[flushleft]{threeparttable} %Für Anmerkungen etc. unter der Tabelle
\usepackage{picins}
\usepackage{xspace}
\usepackage[colorlinks=false, pdfborder={0 0 0}]{hyperref}
\usepackage[figure]{hypcap} %Für Tabellenverweise im Text 
\usepackage{pxfonts}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{subfig}
\usepackage{float}
\usepackage{titlesec}
\usepackage{framed}
\usepackage{nicefrac}
\usepackage{chngcntr}
\usepackage{ltxtable}
\usepackage{filecontents}
\usepackage{pdflscape}
\usepackage{mathabx}




\sisetup{input-symbols = ()} % "(" and ")" are ordinary inputs
\counterwithout{footnote}{chapter}

\bibpunct[:~]{(}{)}{;}{a}{}{,~}


% Seitengröße 
\geometry{a4paper, top=25mm, left=25mm, right=25mm, bottom=20mm,
headsep=10mm, footskip=12mm, textwidth=160mm}




% Zeilenabstand 
\setstretch{1.5}

\newcommand{\tabhead}[1]{\textbf{#1}}
\renewcommand{\tabularxcolumn}[1]{>{\centering\arraybackslash}p{#1}}
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}

\begin{document}

\chapter{Hier steht der Kapitelname}
\newpage


\begin{landscape}
\begin{scriptsize}
\begin{singlespace}
\begin{filecontents}{table.tex}
\begin{longtable}{p{.2\textwidth} *{12}{S[table-format=1.3]}}



\caption{Hier stehte der Tabellenname für den Header und das Tabellenverzeichnis} \\

		\toprule
			\tabhead{} & 
			\multicolumn{3}{c}{\tabhead{2000}} & 
			\multicolumn{3}{c}{\tabhead{2001}} & 
			\multicolumn{3}{c}{\tabhead{2002}} &
			\multicolumn{3}{c}{\tabhead{2003}} \\
			\cmidrule(lr){2-4}
			\cmidrule(lr){5-7}
			\cmidrule(lr){8-10}
			\cmidrule(lr){11-13}
			&
			\multicolumn{3}{c}{\textbf{Frage}} & 
			\multicolumn{3}{c}{\textbf{Frage}} & 
			\multicolumn{3}{c}{\textbf{Frage}} &
			\multicolumn{3}{c}{\textbf{Frage}} \\
			
			& 
			{keine} & 
			{schwache} & 
			{enge} & 
			{keine} & 
			{schwache} & 
			{enge} & 
			{keine} & 
			{schwache} &
			{enge} & 
			{keine} & 
			{schwache} &
			{enge} \\
			
	
			
				\midrule
				\endfirsthead
				\caption[]{Hier stehte der Tabellenname für den Header und das Tabellenverzeichnis} \\

		\toprule
					\tabhead{} & 
			\multicolumn{3}{c}{\tabhead{2000}} & 
			\multicolumn{3}{c}{\tabhead{2001}} & 
			\multicolumn{3}{c}{\tabhead{2002}} &
			\multicolumn{3}{c}{\tabhead{2003}} \\
			\cmidrule(lr){2-4}
			\cmidrule(lr){5-7}
			\cmidrule(lr){8-10}
			\cmidrule(lr){11-13}
			&
			\multicolumn{3}{c}{\textbf{Frage}} & 
			\multicolumn{3}{c}{\textbf{Frage}} & 
			\multicolumn{3}{c}{\textbf{Frage}} &
			\multicolumn{3}{c}{\textbf{Frage}} \\
			
			& 
			{keine} & 
			{schwache} & 
			{enge} & 
			{keine} & 
			{schwache} & 
			{enge} & 
			{keine} & 
			{schwache} &
			{enge} & 
			{keine} & 
			{schwache} &
			{enge} \\
			
	 

			
				\midrule
				\endhead
				\addlinespace
				\midrule
				
				\multicolumn{13}{r}{\footnotesize Wird auf der nächsten Seite fortgesetzt \dots}
			\endfoot
			\bottomrule
			\multicolumn{13}{l}{\footnotesize $^+p<0.1$, $^*p<0.05$, $^{**}p<0.01$, $^{***}p<0.001$}
			\endlastfoot
			
			

test-test 	&	 0.121\sym{***}	&	 -0.029\sym{***}	&	 -0.093\sym{***}	&	 0.106\sym{***}	&	 -0.032\sym{***}	&	 -0.073\sym{***}	&	 0.246\sym{***}	&	 -0.108\sym{***}	&	 -0.139\sym{***}	&	 0.242\sym{***}	&	 -0.102\sym{***}	&	 -0.140\sym{***}\\

\end{longtable}
\end{filecontents}


\LTXtable{\textwidth}{table.tex}
\end{singlespace}
\end{scriptsize}
\end{landscape}

\end{document}
Dann habe ich versucht den 2. Versuch mit S[table-format=1.3]@{\hspace{2mm}} zu kombinieren, sodass er schmale Spalten macht, aber Platz dazwischen lässt. Leider ergibt das nur Fehlermeldungen!

Hat jemand noch eine Idee?

Dankeschön!
Zuletzt geändert von yellowbird am So 3. Apr 2016, 19:57, insgesamt 1-mal geändert.

yellowbird
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: Fr 28. Aug 2015, 16:49

Beitrag von yellowbird »

Zuletzt geändert von yellowbird am So 3. Apr 2016, 19:58, insgesamt 1-mal geändert.

Besserwisser

Beitrag von Besserwisser »

Minimal ist anders:
\documentclass[a4paper,12pt,onesite]{book}

\usepackage{geometry}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{booktabs} %Für Tabellen im "wissenschaftlichen Stil" mit ausschließlich horizontalen Linien
\usepackage{siunitx} %Zur individuellen Anpassung der Abstände zwischen den Spalten
\usepackage{pxfonts}
\usepackage{pdflscape}
\usepackage{longtable}

\sisetup{input-symbols = ()} % "(" and ")" are ordinary inputs
% Seitengröße
\geometry{a4paper, top=25mm, left=25mm, right=25mm, bottom=20mm,
headsep=10mm, footskip=12mm, textwidth=160mm}

\newcommand{\tabhead}[1]{\textbf{#1}}
\newcommand*\sym[1]{\ensuremath{^{#1}}}

\begin{document}

\begin{landscape}
\scriptsize
\begin{longtable}{p{.2\textwidth}*{12}{S[table-format=2.3]}@{\quad}}
\caption{Hier stehte der Tabellenname für den Header und das Tabellenverzeichnis} \\
\toprule
\tabhead{} &
\multicolumn{3}{c}{\tabhead{2000}} &
\multicolumn{3}{c}{\tabhead{2001}} &
\multicolumn{3}{c}{\tabhead{2002}} &
\multicolumn{3}{c}{\tabhead{2003}} \\
\cmidrule(lr){2-4}
\cmidrule(lr){5-7}
\cmidrule(lr){8-10}
\cmidrule(l){11-13}
&
\multicolumn{3}{c}{\textbf{Frage}} &
\multicolumn{3}{c}{\textbf{Frage}} &
\multicolumn{3}{c}{\textbf{Frage}} &
\multicolumn{3}{c}{\textbf{Frage}} \\
&
\multicolumn1c{keine} &
\multicolumn1c{schwache} &
\multicolumn1c{enge} &
\multicolumn1c{keine} &
\multicolumn1c{schwache} &
\multicolumn1c{enge} &
\multicolumn1c{keine} &
\multicolumn1c{schwache} &
\multicolumn1c{enge} &
\multicolumn1c{keine} &
\multicolumn1c{schwache} &
\multicolumn1c{enge} \\
\midrule
\endfirsthead
\caption[]{Hier stehte der Tabellenname für den Header und das Tabellenverzeichnis} \\
\toprule
\tabhead{} &
\multicolumn{3}{c}{\tabhead{2000}} &
\multicolumn{3}{c}{\tabhead{2001}} &
\multicolumn{3}{c}{\tabhead{2002}} &
\multicolumn{3}{c}{\tabhead{2003}} \\
\cmidrule(lr){2-4}
\cmidrule(lr){5-7}
\cmidrule(lr){8-10}
\cmidrule(lr){11-13}
&
\multicolumn{3}{c}{\textbf{Frage}} &
\multicolumn{3}{c}{\textbf{Frage}} &
\multicolumn{3}{c}{\textbf{Frage}} &
\multicolumn{3}{c}{\textbf{Frage}} \\
&
\multicolumn1c{keine} &
\multicolumn1c{schwache} &
\multicolumn1c{enge} &
\multicolumn1c{keine} &
\multicolumn1c{schwache} &
\multicolumn1c{enge} &
\multicolumn1c{keine} &
\multicolumn1c{schwache} &
\multicolumn1c{enge} &
\multicolumn1c{keine} &
\multicolumn1c{schwache} &
\multicolumn1c{enge} \\
\midrule
\endhead
\addlinespace
\midrule
\multicolumn{13}{r}{\footnotesize Wird auf der nächsten Seite fortgesetzt \dots}
\endfoot
\bottomrule
\addlinespace
\multicolumn{13}{l}{\footnotesize $^+p<0.1$, $^*p<0.05$, $^{**}p<0.01$, $^{***}p<0.001$}
\endlastfoot
test-test & 0.121\sym{***} & -0.029\sym{***} & -0.093\sym{***} & 0.106\sym{***} & -0.032\sym{***} & -0.073\sym{***} & 0.246\sym{***} & -0.108\sym{***} & -0.139\sym{***} & 0.242\sym{***} & -0.102\sym{***} & -0.140\sym{***}\\
\end{longtable}
\end{landscape}

\end{document}

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Yellowbird, du hast zwei mal (den selben Eintrag?) gepostet, bitte editiere Zusätze in den ersten und lösche dann den zweiten, oder bei versehentlicher Dopplung lösch den zweiten Eintrag. Ich suche bei so großen Posts nicht nach Differenzen.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

yellowbird
Forum-Anfänger
Forum-Anfänger
Beiträge: 12
Registriert: Fr 28. Aug 2015, 16:49

Beitrag von yellowbird »

Vielen Dank für das beispiel, welches ja auch problemlos mit der reduzierten Vorlage funktioniert. Nur leider funktioniert es bei der vollständigen Vorlage nicht....da ich mir soetwas bei der Vielzahl an Paketen schon dachte, habe ich vorsichtshalber alle Pakete gepostet.

Zwar wird keine Fehlermeldung ausgegeben, aber auch kein Abstand zwischen den Spalten (auch nicht mit \qquad). Ich habe die Vermutung, dass es an der Symbolen liegt, die ja nicht im Table-Format erscheinen. Oder an irgendeinem anderen Paket, welches das setzen der Abstände stört.

Gibt es vielleicht die Möglichkeit das longtable auf die Seitenbreite zu begrenzen, sodass siunitx die Spalten nur noch auf der Breite verteilen muss?

Vielen Dank für eure Hilfe!

Antworten