Ich möchte eine Tabelle mit zwei Preisen in einer Zeile erstellen und verwende dabei siunitx, um eine ansprechende und einheitliche Darstellung der Zahlen zu erreichen. Ich versuche, das Währungssymbol in den Datenzeilen nicht zu wiederholen und füge es als Suffix in die entsprechenden Spalten ein. Das funktioniert gut mit einem Preisschild pro Zeile; bei einem zweiten scheint siunitx jedoch den für das Suffix reservierten Platz mit jedem Vorkommen pro Zeile zu vergrößern. Hier ist ein ziemlich minimales Beispiel:
\documentclass{scrartcl}
\usepackage{polyglossia}
\usepackage{siunitx}
\sisetup{table-number-alignment=right}
\newcolumntype{E}[0]{S[
table-figures-decimal=0,
table-align-text-post=true,
table-space-text-post={€}]<{€}}
\begin{document}
\begin{tabular}{EE}
63 & 126 \\
49 & 49 \\
\end{tabular}
\end{document}
Wenn ich das Format der ersten Spalte richtig hinbekomme, sind in der zweiten Spalte zu viele Leerzeichen. Wenn ich die zweite Spalte richtig hinbekomme, wird das Währungssymbol in die Zahlen der ersten Spalte verschoben.
(Falls es wichtig ist: Ich verwende lualatex aus den Debian-Texlive-Paketen, Version 2015.20160117-1.)
Irgendwelche Vorschläge, wie ich das zum Laufen bringen kann?
Antwort1
% arara: lualatex
\documentclass{scrartcl}
\usepackage{polyglossia}
\usepackage{siunitx}
\newcolumntype{E}[1]{S[%
,table-format=#1
,table-space-text-post={\,€}]<{\,€}
}
\begin{document}
% Quote taken from the manual page 71
When processing tables, \verb|siunitx| will expand anything stored
inside a macro, unless it is long or protected. \LaTeXe{} robust
commands are also detected and are not expanded.
Values which would otherwise be expanded
can be protected by wrapping them in a set of braces. As \TeX{} itself
will expand the first token in a table cell before \verb|siunitx|
can act on it, using the $\varepsilon$-\TeX{} protected mechanism is the
recommended course of action to prevent expansion of macros in
table cells. (As is shown in the table, \TeX's expansion of
\LaTeXe{} robust commands can lead to unexpected results.)
\bigskip
\begin{tabular}{E{2.0}E{3.0}}
63 & 126 \cr
49 & 49 \cr
\end{tabular}
\end{document}