Seite 1 von 1
siunitx Abstand zwischen Spalten
Verfasst: So 3. Apr 2016, 01:45
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!
Verfasst: So 3. Apr 2016, 10:36
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.
Statt einer Beschreibung auch etwas herzeigen
Verfasst: So 3. Apr 2016, 11:26
von Stamm-
Fertige einfach ein
Minimalbeispiel an. Das muss ja nur die Tabelle und die dafür benötigten Pakete enthalten.
Verfasst: So 3. Apr 2016, 14:03
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.
Verfasst: So 3. Apr 2016, 17:16
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!
Verfasst: So 3. Apr 2016, 17:19
von yellowbird
Verfasst: So 3. Apr 2016, 19:15
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}
Verfasst: So 3. Apr 2016, 19:31
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.
Verfasst: So 3. Apr 2016, 20:21
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!