Ich möchte gerne alles im Tabellenkopf fettgedruckt haben. Leider bekomme ich das mit den SI-Einheiten nicht hin.

alt text

Code

\documentclass[oneside]{scrbook}

\usepackage{booktabs}
\usepackage[locale=DE]{siunitx}
    \sisetup{
        group-digits=true,          %% Zifferngruppierung an/aus
        group-separator=\, ,        %% Zeichen für Zifferngruppierung
        group-minimum-digits=5,     %% Ziffern ab # Ziffern gruppieren
        detect-all %,               %% Benutze gleiche Schriftarten wie im Text
    }

\begin{document}

\begin{table}
\sisetup{round-mode=places,round-precision=2}
\begin{tabular}{SSS}
\toprule
{\bfseries Zeit}    &   {\bfseries OTR} &   {\bfseries CTR} \\ 
{\bfseries[\si{\hour}]} &   {\bfseries[\si{\mol\per\liter\per\hour}]}   &   {\bfseries[\si{\mol\per\liter\per\hour}]}   \\ 
\midrule
-1.033  &   6.23703     &   7.526166    \\
    -1  &   6.753242    &   7.555112    \\
-0.967  &   6.672168    &   7.53116 \\
\bottomrule
\end{tabular}
\end{table}

\end{document}

gefragt 10 Sep '13, 15:02

Bettina's gravatar image

Bettina
665161923
Akzeptiert-Rate: 25%

bearbeitet 12 Sep '13, 07:52

saputello's gravatar image

saputello
11.1k154365

2

Es funktioniert, wenn du \bfseries zusätzlich noch vor die Einheiten schreibst, also \bfseries[\si{\bfseries\mol\per\liter\per\hour}].

(10 Sep '13, 16:01) Qrrbrbirlbel

Vielen Danke @Qrr. Ich habe schon eine ganze Weile im Internet gesucht und rumprobiert. Noch eine Frage: Warum hast du deine Antwort in den Kommentar gepackt?

(10 Sep '13, 16:05) Bettina

@Bettina Das eigentlich komische ist, dass {\bfseries[\si{\hour}]} ohne Problem funktioniert, wenn es im Fließtext geschrieben ist. Eventuell gibt es hier doch noch eine Option, die das Ganze beeinflusst. Ganz allgemein, arbeitet siunitx ja viel im Mathe-Modus; evtl. kann man hier noch mit \boldmath arbeiten. (Aber ich habe leider gerade keine Zeit, selbst das Manual durchzuarbeiten.)

(10 Sep '13, 16:08) Qrrbrbirlbel

Ach so. Naja, für mich funktioniert deine Lösung auf jeden Fall :-). Wie gesagt, vielen Dank.

(10 Sep '13, 16:12) Bettina

Obwohl Dir Qrrbrbirbel bereits verraten hat, wie man es durch die Hintertür (ich gehe davon aus, dass das in siunitx eigentlich nicht so vorgesehen ist) doch schafft, sei darauf hingewiesen, dass man SI-Einheiten nicht ohne Not fett setzen sollte. Das SI-System besteht nämlich nicht nur aus Einheiten, sondern legt auch Schreibweisen fest. Dabei ist festgelegt, dass Einheitenzeichen »unabhängig von der sie umgebenden Schrift in aufrechter Schrift« zu setzen sind.

Ebenso ist übrigens die Bedeutung von geschweiften und eckigen Klammern im SI-System festgelegt. So hat {A} die Bedeutung Zahlenwert von A (A ist dabei eine Größe), während [A] die Bedeutung Einheit von A besitzt. Die bei Laien, die mit dem SI-System nicht vertraut sind, oft vorzufindende Schreibweise, dass Einheiten in eckige Klammern gesetzt werden, ist damit nach SI nicht korrekt, da Einheiten selbst keine Einheiten haben können. Hier einige korrekte Beispiele:

  • {t} = 100: Zahlenwert von t ist 100. Daraus folgt übrigens automatisch, dass t = 100 s gilt, weil die SI-Einheit der Zeit die Sekunde, also s ist.
  • [t] = s: Einheit von t ist s, also die Sekunde.
  • t/h: Zeit in Stunden. Hier wurde also für die Zeit keine SI-Einheit verwendet, was nach dem SI-System vermieden werden sollte.

Neben den Größen, den Werten und den Einheiten gibt es übrigens auch noch die Dimension. Das näher auszuführen, würde hier aber zu weit führen.

Siehe dazu auch Schreibweise von Größen, Zahlenwerten und Einheiten im Wikipedia-Artikel »Internationales Einheitensystem«, sowie ggf. den Wikipedia-Artikel über Dimensionen.

Nachdem ich nun die Hauptursache, warum es so schwer ist, Einheiten fett zu setzen, und warum man sie nicht fett setzen sollte, erklärt habe, will ich auf die eigentliche Beantwortung der Frage zurück kommen. Man kann bei siunitx nämlich unter Missachtung obiger Vorschrift für das Setzen von SI-Einheiten und -Größen durchaus die Erkennung für die umgebende Schrift einschalten. siunitx versucht dann, die Zahlen und Einheiten entgegen den SI-Regeln mit den Attributen der umgebenden Schrift zu setzen. In der Anleitung sind dazu mehrere detect-…-Optionen zu finden. Diese funktionieren allerdings nicht innerhalb von S-Spalten, weil innerhalb der S-Spalten die Schrift ebenfalls umgeschaltet wird und damit die detect-Option nur diese Schriftumschaltung erkennt.

Allerdings ist es im Sinne der Trennung von Form und Inhalt ohnehin besser, wenn man nicht für jede Zelle des Tabellenkopfes einzeln eine physische Auszeichnung vornimmt, sondern schlicht einen Spaltentyp für Tabellenköpfe – nennen wir ihn h für head – definiert und dann diesen verwendet. Damit ist die Lösung dann ganz einfach:

Open in Online-Editor
\documentclass[oneside]{scrbook}

\usepackage{booktabs}
\usepackage[locale=DE]{siunitx}
    \sisetup{
        group-digits=true,          %% Zifferngruppierung an/aus
        group-separator=\, ,        %% Zeichen für Zifferngruppierung
        group-minimum-digits=5,     %% Ziffern ab # Ziffern gruppieren
        detect-all %,               %% Benutze gleiche Schriftarten wie im Text
    }

\newcolumntype{h}{>{\bfseries\boldmath\sisetup{detect-all}}c} % Spaltentyp für Tabellenköpfe

\begin{document}

\begin{table}
\sisetup{round-mode=places,round-precision=2}
\begin{tabular}{SSS}
\toprule
\multicolumn1h{Zeit} &  \multicolumn1h{OTR} & \multicolumn1h{CTR} \\ 
\multicolumn1h{\small $[t]=\si{\hour}$} & \multicolumn1h{\small
  [OTR] = \si{\mol\per\liter\per\hour}} & \multicolumn1h{\small $1 / (\si{\mol\per(\liter\hour)})$}   \\ 
\midrule
-1.033  &   6.23703     &   7.526166    \\
    -1  &   6.753242    &   7.555112    \\
-0.967  &   6.672168    &   7.53116 \\
\bottomrule
\end{tabular}
\end{table}

\end{document}

mit dem Ergebnis

fette Tabellenköpfe

Ich habe mir erlaubt im Sinne obiger Erklärung in der Tabelle drei der vielen nach SI korrekten Schreibweisen für die Angabe der Einheit zu verwenden, wobei ich davon ausgehe, dass OTR und CTR textuelle Beschreibungen sind. Sind es hingegen Formelzeichen für Größen, so müssten sie kursiv gesetzt werden. Falls mol/(L h) die Einheit einer bekannten SI-Größe ist, könnte man in den eckigen Klammern OTR und CTR auch durch die zu dieser Einheit gehörende Größe in Text- oder Symbolform ersetzen. Natürlich sollte man in der Realität nicht drei unterschiedliche Schreibweisen für die drei Spalten verwenden, sondern sich auf eine beschränken.

Am Rande erwähnt: Die SI-Einheit für das Volumen ist übrigens der Kubikmeter, m³, abgeleitet von der Basiseinheit der Länge. L³ ist nach SI das Zeichen für die zugehörige Dimension. Deshalb wird der Liter oft mit einem kleinen l abgekürzt. Weil das aber zu leicht mit einer 1 zu verwechseln ist, wird alternativ gerne ein ℓ in Schreibschrift oder doch ein L verwendet. Will man es richtig machen, verwendet man daher einfach dm³: m³ ist ja die SI-Einheit, d ist ein erlaubter Präfix für dezi (Zehntel), 1 dm³ = 1 ℓ. In der Chemie ist das allerdings absolut nicht gebräuchlich. Dort kombiniert man die SI-Basiseinheit mol in der Regel mit dem Liter (wahlerweise mit großem L oder kleinem Schreibschrift-ℓ).

Permanenter link

beantwortet 10 Sep '13, 18:47

saputello's gravatar image

saputello
11.1k154365
Akzeptiert-Rate: 51%

bearbeitet 12 Mär '15, 08:12

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×254
×34
×8

gestellte Frage: 10 Sep '13, 15:02

Frage wurde gesehen: 23,328 Mal

zuletzt geändert: 12 Mär '15, 08:12