Hallo,

Ich habe 2 Tabellen erstellt. Eine Tabelle habe ich normal formatiert Und eine weitere Tabelle habe ich mit booktabs erstellt. Leider gibt es zwischen den beiden Formatierungen einen wesentlichen Unterschied. Einmal wird bei mir meine Zahl als Komma-Zahl dargestellt 1,0 und einmal bei booktabs mit 1.0 Punkt dargestellt. Warum? :/ Danke

Open in Online-Editor
\documentclass[captions=tableabove]{scrartcl}
\usepackage{selinput,booktabs,siunitx}

\renewcommand*\familydefault{\sfdefault}
\begin{document}
\begin{table}
  \centering
  \caption{Header}
  \begin{tabular}{@{}rc*{6}{S}@{}}
    \toprule
   dfsgsd & 2 & -40,50 & 0,00 & 0,00 & -41,00 & 0,00 & 0,00\\
    \midrule
    & fgf & {1} & {2} & {3} & {4} & {5} & {6} \\
   dfg & 1 & 40,50 & 0,00 & 0,00 & 41,00 & 0,00 & 0,00\\
   dfsgsd & 2 & -40,50 & 0,00 & 0,00 & -41,00 & 0,00 & 0,00\\
    \bottomrule
  \end{tabular}
\end{table}

\begin{tabular}{|c|c|}\hline
   45,6 & 45,6 \\ \hline
   45,6 & 45,6 \\ \hline
   45,6 & 45,6 \\ \hline
   45,6 & 45,6 \\ \hline
 \end{tabular}

\end{document}

gefragt 16 Feb '15, 14:47

Harry93's gravatar image

Harry93
1135
Akzeptiert-Rate: 0%

bearbeitet 16 Feb '15, 14:48


Mit der Verwendung von booktabs hat die geänderte Ausgabe des Dezimaltrenners nichts zu tun, sondern mit dem genutzten Spaltentyp S und den Voreinstellungen des Paketes siunitx.

In der unteren Tabelle wird dagegen der Inhalt genauso ausgegeben, wie Du ihn angegeben hast.

In der oberen Tabelle nutzt Du den S-Spaltentyp aus dem Paket siunitx, damit die Zahlen formatiert und am Dezimaltrenner ausgerichtet ausgegeben werden. siunitx verwendet in der Voreinstellung den Punkt als Dezimaltrenner. Wenn Du möchtest, dass genau der Dezimaltrenner so wie in Deiner Eingabe verwendet wird, dann nutze die Option copy-decimal-marker.

Open in Online-Editor
\documentclass[captions=tableabove]{scrartcl}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},germandbls={ß}}
\usepackage{booktabs}
\usepackage[copy-decimal-marker]{siunitx}

\renewcommand*\familydefault{\sfdefault}
\begin{document}
\begin{table}
  \centering
  \caption{Header}
  \begin{tabular}{@{}rc*{6}{S}@{}}
    \toprule
   dfsgsd & 2 & -40,50 & 0,00 & 0,00 & -41,00 & 0,00 & 0,00\\
    \midrule
    & fgf & {1} & {2} & {3} & {4} & {5} & {6} \\
   dfg & 1 & 40.50 & 0.00 & 0.00 & 41.00 & 0.00 & 0.00\\
   dfsgsd & 2 & -40,50 & 0,00 & 0,00 & -41,00 & 0,00 & 0,00\\
    \bottomrule
  \end{tabular}
\end{table}
\end{document}

alt text

Du kannst aber auch über die Option output-decimal-marker={,}, oder in dem Du das Paket siunitx mit einem passenden Wert für die Option locale lädst, vorgeben, dass immer ein Komma als Trenner ausgegeben wird.

Open in Online-Editor
\documentclass[captions=tableabove]{scrartcl}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},germandbls={ß}}
\usepackage{booktabs}
\usepackage[output-decimal-marker={,}]{siunitx}

\renewcommand*\familydefault{\sfdefault}
\begin{document}
\begin{table}
  \centering
  \caption{Header}
  \begin{tabular}{@{}rc*{6}{S}@{}}
    \toprule
   dfsgsd & 2 & -40,50 & 0,00 & 0,00 & -41,00 & 0,00 & 0,00\\
    \midrule
    & fgf & {1} & {2} & {3} & {4} & {5} & {6} \\
   dfg & 1 & 40.50 & 0.00 & 0.00 & 41.00 & 0.00 & 0.00\\
   dfsgsd & 2 & -40,50 & 0,00 & 0,00 & -41,00 & 0,00 & 0,00\\
    \bottomrule
  \end{tabular}
\end{table}
\end{document}

alt text

Nebenbemerkung: Wenn Du das Paket selinput zum halbautomatischen Ermitteln der Eingabekodierung nutzen möchtest, musst Du auch den Befehl \SelectInputMappings mit entsprechenden Angaben im Argument machen.

Permanenter link

beantwortet 16 Feb '15, 15:11

esdd's gravatar image

esdd
15.9k164055
Akzeptiert-Rate: 63%

bearbeitet 16 Feb '15, 15:33

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:

×238
×4

gestellte Frage: 16 Feb '15, 14:47

Frage wurde gesehen: 5,320 Mal

zuletzt geändert: 16 Feb '15, 15:33