Werte in longtable mit SIunitx-Spalte markieren

4 views
Skip to first unread message

Christian Gollwitzer

unread,
Mar 31, 2021, 9:31:52 AMMar 31
to
Hallo zusammen,

ich benutze longtable zusammen mit einem Spaltenformat von siunitx, um
lange Zahlenreihen auszudrucken, die unterschiedliche Größen haben.
Jetzt möfhcte ich manche Werte auszeichnen, z.B. mit einem angehägnten
Sternchen oder als Kursivdruck/Fettdruck. Der Hintergrund ist, dass
manche Werte berechnet sind, andere gemessen, und das will ich in der
Tabellenunterschrift erklären, etwa "The values marked wit an asterisk *
are computed".

Hier ein Beispiel der Tabelle - die Vorlage habe ich von Rolf übernommen:

========================== 8< =================
\documentclass{scrartcl}
\usepackage{longtable}
\usepackage{siunitx}

\begin{document}
\begin{longtable}{
S[table-format=5.1]@{\extracolsep{\fill}}
S[table-format=3.1]
}
\caption{Spectral responsivity of the detector and measurement
uncertainty.}
\label{tab:result} \\[.2ex]
\endlastfoot
\multicolumn{1}{c}{Photon Energy} &
\multicolumn{1}{c}{Wavelength} \\
\multicolumn{1}{c}{$/\si{\eV}$} &
\multicolumn{1}{c}{$/\si{\nm}$} \\
\endfirsthead
\endfoot
20.0*&62.0\\
127*&9.80\\
1000&1.24*\\
8000&0.155*\\
\end{longtable}

\end{document}
=========================== >8 ===================

Wenn man ganz naiv die Sternchen hinzufügt wie oben, dann werden die
einfach irgendwohin gedruckt und überlappen sich z.T. mit den Werten.

https://imgur.com/a/WCiY5EI

Kursivdruck hab ich gar nicht geschafft.

Christian

Christian Gollwitzer

unread,
Mar 31, 2021, 9:42:06 AMMar 31
to
... ich habe gerade bemerkt, dass das Überdrucken daher kommt, weil
nicht genug PLatz für die zweite Spalte angegeben war:

Am 31.03.21 um 15:31 schrieb Christian Gollwitzer:
> S[table-format=5.1]@{\extracolsep{\fill}}
> S[table-format=3.1]

-> S[table-format=3.3]

> https://imgur.com/a/WCiY5EI

Jetzt sieht es so aus: https://imgur.com/a/02B94NZ

Das geht einigermaßen, ich finde das aber optisch immer noch nicht so
schön, da bei den größeren Zahlen dann die Sterne so weit vom Wert weg
sind. Gibt es eine Möglichkeit für Fettdruck/Kursivdruck?

Christian

Holger Schieferdecker

unread,
Mar 31, 2021, 10:33:41 AMMar 31
to
Am 31.03.2021 um 15:31 schrieb Christian Gollwitzer:
> Hallo zusammen,
>
> ich benutze longtable zusammen mit einem Spaltenformat von siunitx, um
> lange Zahlenreihen auszudrucken, die unterschiedliche Größen haben.
> Jetzt möfhcte ich manche Werte auszeichnen, z.B. mit einem angehägnten
> Sternchen oder als Kursivdruck/Fettdruck. Der Hintergrund ist, dass
> manche Werte berechnet sind, andere gemessen, und das will ich in der
> Tabellenunterschrift erklären, etwa "The values marked wit an asterisk *
> are computed".

Für Dein Sternchen habe ich keine Lösung, aber für Fettdruck spuckt
Google was aus:

https://tex.stackexchange.com/a/66256

Leider stimmt dann die Ausrichtung nicht mehr so ganz.

%%%
\documentclass{scrartcl}
\usepackage{longtable}
\usepackage{etoolbox,siunitx}
\robustify\bfseries

\begin{document}
\sisetup{detect-weight=true,detect-inline-weight=math}
\begin{longtable}{
S[table-format=5.1]@{\extracolsep{\fill}}
S[table-format=3.1]
}
\caption{Spectral responsivity of the detector and measurement uncertainty.}
\label{tab:result} \\[.2ex]
\endlastfoot
\multicolumn{1}{c}{Photon Energy} &
\multicolumn{1}{c}{Wavelength} \\
\multicolumn{1}{c}{$/\si{\eV}$} &
\multicolumn{1}{c}{$/\si{\nm}$} \\
\endfirsthead
\endfoot
\bfseries 20.0&62.0\\
\bfseries 127&9.80\\
1000&\bfseries 1.24\\
8000.2&\bfseries 0.155\\
\end{longtable}

\end{document}
%%%

Unter dem Link findet sich noch was zur Einfärbung des Zellhintergrunds,
vielleicht wäre das auch für Dich geeignet.

Holger

Ulrike Fischer

unread,
Apr 1, 2021, 5:48:08 AMApr 1
to
Am Wed, 31 Mar 2021 15:31:49 +0200 schrieb Christian Gollwitzer:

> Hallo zusammen,
>
> ich benutze longtable zusammen mit einem Spaltenformat von siunitx, um
> lange Zahlenreihen auszudrucken, die unterschiedliche Größen haben.
> Jetzt möfhcte ich manche Werte auszeichnen, z.B. mit einem angehägnten
> Sternchen oder als Kursivdruck/Fettdruck. Der Hintergrund ist, dass
> manche Werte berechnet sind, andere gemessen, und das will ich in der
> Tabellenunterschrift erklären, etwa "The values marked wit an asterisk *
> are computed".

> Wenn man ganz naiv die Sternchen hinzufügt wie oben, dann werden die
> einfach irgendwohin gedruckt und überlappen sich z.T. mit den Werten.

> Kursivdruck hab ich gar nicht geschafft.

Die Dokumentation hat dazu sowohl Beispiele als auch Erklärungen.

\documentclass{scrartcl}
\usepackage{longtable}
\usepackage{siunitx}

\begin{document}
\begin{longtable}{
S[table-format=5.1,table-space-text-post={*}]@{\extracolsep{\fill}}
S[table-format=2.3,table-space-text-post={*},table-align-text-post =
false,detect-all]
}
\caption{Spectral responsivity of the detector and measurement
uncertainty.}
\label{tab:result} \\[.2ex]
\endlastfoot
\multicolumn{1}{c}{Photon Energy} &
\multicolumn{1}{c}{Wavelength} \\
\multicolumn{1}{c}{$/\si{\eV}$} &
\multicolumn{1}{c}{$/\si{\nm}$} \\
\endfirsthead
\endfoot
20.0*&62.0\\
127*&9.80\\
1000&\itshape 1.24*\\
8000&\itshape 0.155*\\
\end{longtable}

\end{document}

Fettdruck kann problematisch sein, weil die Schrift breiter läuft.

--
Ulrike Fischer
http://www.troubleshooting-tex.de/

Christian Gollwitzer

unread,
Apr 1, 2021, 11:27:25 AMApr 1
to
Am 01.04.21 um 11:48 schrieb Ulrike Fischer:
>> Kursivdruck hab ich gar nicht geschafft.
>
> Die Dokumentation hat dazu sowohl Beispiele als auch Erklärungen.
>
> \documentclass{scrartcl}
> \usepackage{longtable}
> \usepackage{siunitx}
>
> \begin{document}
> \begin{longtable}{
> S[table-format=5.1,table-space-text-post={*}]@{\extracolsep{\fill}}
> S[table-format=2.3,table-space-text-post={*},table-align-text-post =
> false,detect-all]

Das war es! Vielen Dank! Kursiv sieht tatsächlich am Besten aus.

Ich hatte naiverweise nur das Beispiel in der Doku unter 4.6 angeschaut,
wo \color{} und \textsuperscript{a} benutzt wurde, und da funktioniert
es "einfach" ohne weitere Optionen.


Christian
Reply all
Reply to author
Forward
0 new messages