Seite 1 von 1

siunitx Tabelle: zu großer Abstand

Verfasst: Mo 13. Dez 2021, 10:25
von LaTeX-newone
Hallo,

ich habe ein Problem mit einer siunitx Tabelle. In der Spalte "Energie" ist der Abstand zwischen den ersten Werten (92, 50 und 100) viel größer als bei den zweiten Werten (107, 200, 300). Unter "Verluststrom" sieht der Abstand "Zahl-bis" und "bis-Zahl" besser und gleich aus. Wie bekomme ich es hin, dass die Abstände da gleich groß sind?
\documentclass[
    a4paper,				% Papierformat
    openright,				% Start Chapter rechte Seite
    numbers=noenddot,		
    parskip=half,		
    twoside,            		
    12pt,               		
    pagesize=auto,      		
    headsepline=on,  		
    captions=tableheading,	
    listof=totoc,   		
    bibliography=totoc,
]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english,french,ngerman]{babel}
\usepackage{booktabs}

\usepackage[
	locale=DE,
	per-mode=fraction,
	separate-uncertainty,
	range-phrase={{ bis }},
]{siunitx}
% #
% #
% #
\begin{document}
\begin{table}[]
\centering
\caption{Test}
\label{tab:my-table}
\begin{tabular}{@{}lScSSSScSc@{}}
\toprule
{\begin{tabular}[c]{@{}c@{}}Stoß-\\ Prozess\end{tabular}} &
  \multicolumn{3}{c}{\begin{tabular}[c]{@{}c@{}}Energie\\ (eV)\end{tabular}} &
  {\begin{tabular}[c]{@{}c@{}}Ionen-\\ strom\\ (pA)\end{tabular}} &
  {\begin{tabular}[c]{@{}c@{}}Länge\\ Experiment\\ (cm)\end{tabular}} &
  \multicolumn{3}{c}{\begin{tabular}[c]{@{}c@{}}Verlust-\\ strom\\ (mA)\end{tabular}} &
  {\begin{tabular}[c]{@{}c@{}}Strahl-\\ größe\\ (mm)\end{tabular}} \\ \midrule
Ion 1 & 92  & bis & 107 & 6,2 & 85,3 & 3,2 & bis & 5,4  & 1,2x1,2 \\
Ion 2 & 50  & bis & 200 & 3,1 & 74,9 & 1,4 & bis & 19,4 & 1,3x1,0 \\
Ion 3 & 100 & bis & 300 & 1,5 & 75,3 & 2,7 & bis & 21,4 & 1,6x1,4 \\ \bottomrule
\end{tabular}
\end{table}
% #
% #
\end{document}

Re: siunitx Tabelle: zu großer Abstand

Verfasst: Mo 13. Dez 2021, 10:54
von markusv
Gib den S-Spalten eine definierte Länge per table-format= vor. Die Zahlen dahinter stehen für die Stellen vor und nach dem Komma, bspw. 2.1 für zwei Stellen vor, eine Stelle nach dem Komma. Damit "weiß" die S-Spalte, welcher Inhalt die Spalte hat und stellt entsprechend die Länge ein. Ich habe noch die Spaltenabstände zwischen den S-Spalten und der "bis"-Spalte fest auf ein Leerzeichen mittel @{~} eingestellt, sodass auch hier der Abstand passt. Mit numproduct bekommt man auch noch die letzte Spalte schön hin.
\documentclass{scrreprt}

\usepackage{booktabs}

\usepackage[
	locale=DE,
	per-mode=fraction,
	separate-uncertainty,
	range-phrase={{ bis }},
]{siunitx}

\begin{document}
\begin{tabular}{@{}lS[table-format=3.0]@{~}c@{~}S[table-format=3.0]S[table-format=1.1]S[table-format=2.1]S[table-format=1.1]@{~}c@{~}S[table-format=2.1]c@{}}
\toprule
{\begin{tabular}[c]{@{}c@{}}Stoß-\\ Prozess\end{tabular}} &
  \multicolumn{3}{c}{\begin{tabular}[c]{@{}c@{}}Energie\\ (eV)\end{tabular}} &
  {\begin{tabular}[c]{@{}c@{}}Ionen-\\ strom\\ (pA)\end{tabular}} &
  {\begin{tabular}[c]{@{}c@{}}Länge\\ Experiment\\ (cm)\end{tabular}} &
  \multicolumn{3}{c}{\begin{tabular}[c]{@{}c@{}}Verlust-\\ strom\\ (mA)\end{tabular}} &
  {\begin{tabular}[c]{@{}c@{}}Strahl-\\ größe\\ (mm)\end{tabular}} \\ \midrule
Ion 1 & 92  & bis & 107 & 6,2 & 85,3 & 3,2 & bis & 5,4  & \numproduct{1,2x1,2} \\
Ion 2 & 50  & bis & 200 & 3,1 & 74,9 & 1,4 & bis & 19,4 & \numproduct{1,3x1,0} \\
Ion 3 & 100 & bis & 300 & 1,5 & 75,3 & 2,7 & bis & 21,4 & \numproduct{1,6x1,4} \\ \bottomrule
\end{tabular}
\end{document}

Re: siunitx Tabelle: zu großer Abstand

Verfasst: Mo 13. Dez 2021, 11:01
von LaTeX-newone
Super, danke. Das ist genau was ich gesucht habe.