Seite 1 von 1
Tabellenspalten an unterschiedlichen Kriterien ausrichten
Verfasst: Mi 12. Feb 2020, 11:19
von gzzhuj
Hallo,
ich möchte, dass meine Tabelle die Ausrichtung der Zahlen anhand unterschiedlicher Kriterien vornimmt. Für die Spalten 3 und 4 ist mir das Ausrichten am Komma gelungen. In der ersten Spalte sind jedoch Bereiche angegeben. Hier hätte ich gern, dass die Spalten anhand der ... ausgerichtet werden. Leider habe ich im siunitx-Manual dafür keinen passenden Separator gefunden.
Außerdem wäre es schön, wenn die zweite Zeile schmaler würde...
Ich habe hier noch nie etwas gepostet, ich hoffe mein Beispiel funktioniert.
\documentclass[a4paper,12pt,titlepage]{scrbook}
\usepackage[automark]{scrpage2}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage[font={small,sf},labelfont=bf,labelsep=space,justification=raggedright]{caption}
\usepackage{siunitx}
\begin{document}
\begin{table}[!htb]
\caption[Tabellenname im IV]{Tabellenname im Text}
\label{tab:zigzag}
\centering
\begin{tabular}{
l|
l
S[table-format=3.1,table-comparator=true,table-number-alignment = left, table-space-text-post={***}]
S[table-format=2.5,table-comparator=true,table-number-alignment = left, table-space-text-post={***}]
}\hline
{\textbf{Material}} & \textbf{gültiger Temperaturbereich in} \boldmath$^{\circ} C$&\boldmath$\lambda_0$ \textbf{in W/(mK)}&\textbf{B in }\boldmath$^{\circ} C$\\ \hline \hline
\textbf{1} & -73...927 & 404,5 & -0,0723 \\
\textbf{2} & 0...600 & -241,8 & -0,04678 \\ \hline
\end{tabular}
\end{table}
\end{document}
Off-Topic: Gratulation und Hinweis auf veraltetes Paket
Verfasst: Mi 12. Feb 2020, 12:16
von Gast
gzzhuj hat geschrieben:Ich habe hier noch nie etwas gepostet, ich hoffe mein Beispiel funktioniert.
Ja, das ist sehr gut, für das erste Mal ist es sogar super!
Es sei allerdings darauf hingewiesen, dass
scrpage2 schon seit einigen Jahren veraltet ist. Da der KOMA-Script-Autor angekündigt hat, veraltete Dinge nach und nach aus KOMA-Script zu entfernen, solltest du das dringend durch den offiziellen Nachfolger
scrlayer-scrpage ersetzen.
Übrigens braucht man \usepackage[utf8]{inputenc} mit halbwegs aktuellen LaTeX-Installation auch nicht mehr, das es seit LaTeX 2018-04-01 Voreinstellung ist.
Außerdem sind a4paper und titlepage bei
scrbook die Voreinstellung und können damit ebenfalls entfallen.
Sämtliche Einstellungen, die du mit
caption vorgenommen hast, könnte man übrigens auch direkt mit KOMA-Script erledigen. Es spricht aber auch nichts gegen dier Verwendung von
caption.
Verfasst: Mi 12. Feb 2020, 13:52
von markusv
Tolles
Minimalbeispiel!
Mein Vorschlag: Setze die Punkte als Spaltentrenner. Anbei mein MB mit einigen kleinen Sachen, die ich anders machen würde:
\documentclass{scrbook}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage[locale=DE]{siunitx}
\begin{document}
\begin{table}[htb]
\caption[Tabellenname im IV]{Tabellenname im Text}
\label{tab:zigzag}
\centering\sisetup{detect-all,per-mode=symbol}
\begin{tabular}{
>{\bfseries}lS[table-format=-2.0]@{\,\dots\,}S[table-format=3.0,table-number-alignment=left]S[table-format=-3.1]S[table-format=-1.5]
}\toprule
Material &\multicolumn{2}{p{3cm}}{\bfseries gültiger Temp.-bereich in \si{\celsius}}&{\bfseries\boldmath$\lambda_0$ in \si{\watt\per\metre\per\kelvin}}&{\bfseries B in \si{\celsius}}\\ \midrule
{1} & -73&927 & 404,5 & -0,0723 \\
{2} & 0&600 & -241,8 & -0,04678 \\ \bottomrule
\end{tabular}
\end{table}
\end{document}
Verfasst: Mi 12. Feb 2020, 14:14
von Bartman
Anonymous hat geschrieben:Sämtliche Einstellungen, die du mit caption vorgenommen hast, könnte man übrigens auch direkt mit KOMA-Script erledigen.
Auch die Einstellung labelsep=space?
@gzzhuj
Sollte die Ausrichtung am Dezimaltrennzeichen in der S-Spalte der Bereichsangabe nicht erwünscht sein, dann möchte ich die folgende Alternative vorschlagen:
\documentclass[fontsize=12pt,captions=tableheading]{scrbook}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{booktabs}
\usepackage[font={small,sf},labelfont=bf,labelsep=space,justification=raggedright]{caption}
\usepackage[locale=DE, per-mode=symbol, detect-all]{siunitx}
\usepackage{array}
\usepackage{threeparttable}
\usepackage{etoolbox}% für \AtBeginEnvironment
\usepackage{showframe}
\AtBeginEnvironment{tablenotes}{\footnotesize}
\newcommand{\thead}[1]{\begin{tabular}[t]{@{}>{\bfseries}l@{}}#1\end{tabular}}
\begin{document}
\begin{table}[!htb]
\centering
\begin{threeparttable}
\caption[Tabellenname im IV]{Tabellenname im Text}
\label{tab:zigzag}
\centering
\sisetup{table-space-text-post={***}}
\begin{tabular}{
>{\bfseries}l
>{$}r<{$}@{\,\dots\,}
>{$}l<{$}
S[table-format=3.1]
S[table-format=2.5]
}
\toprule
Material &
\multicolumn{2}{l}{\thead{gültiger Temperatur-\\bereich in \si{\celsius}}} &
\boldmath$\lambda_0$ \textbf{in \si{\W\per\m\per\kelvin}} &
\textbf{B in \si{\celsius}}\\
\midrule
1 & -73 & 927 & 404,5\tnote{***} & -0,0723 \\
2 & 0 & 600 & -241,8 & -0,04678 \\
\bottomrule
\end{tabular}
\begin{tablenotes}
\item[***] Text
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}
Verfasst: Mi 12. Feb 2020, 14:32
von markusv
Bartman hat geschrieben:Auch die Einstellung labelsep=space?
\renewcommand*{\captionformat}{~}
Verfasst: Mi 12. Feb 2020, 14:38
von Bartman
@markusv Danke.
\documentclass[fontsize=12pt,captions=tableheading]{scrbook}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{booktabs}
\usepackage[locale=DE, per-mode=symbol, detect-all]{siunitx}
\usepackage{array}
\usepackage{threeparttable}
\usepackage{etoolbox}% für \AtBeginEnvironment
\usepackage{showframe}
\AtBeginEnvironment{tablenotes}{\footnotesize}
\newcommand{\thead}[1]{\begin{tabular}[t]{@{}>{\bfseries}l@{}}#1\end{tabular}}
\setkomafont{caption}{\sffamily\small}
\setkomafont{captionlabel}{\bfseries}
\setcaptionalignment{l}
\renewcommand*{\captionformat}{~}
\begin{document}
\begin{table}[!htb]
\centering
\caption[Tabellenname im IV]{Tabellenname im Text}
\label{tab:zigzag}
\sisetup{table-space-text-post={***}}
\begin{threeparttable}
\begin{tabular}{
>{\bfseries}l
>{$}r<{$}@{\,\dots\,}
>{$}l<{$}
S[table-format=+3.1]% Vorzeichen ergänzt
S[table-format=+1.5]% s. o.
}
\toprule
Material &
\multicolumn{2}{l}{\thead{gültiger Temperatur-\\bereich in \si{\celsius}}} &
\boldmath$\lambda_0$ \textbf{in \si{\W\per\m\per\K}} &
\textbf{B in \si{\celsius}}\\
\midrule
1 & -73 & 927 & 404,5\tnote{***} & -0,0723 \\
2 & 0 & 600 & -241,8 & -0,04678 \\
\bottomrule
\end{tabular}
\begin{tablenotes}
\item[***] Text
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}