siunitx 形式のテーブル内の接尾辞の間隔が一貫していません

siunitx 形式のテーブル内の接尾辞の間隔が一貫していません

siunitx を使用して、2 つの価格が連続するテーブルを作成し、数字をわかりやすく一貫性のある形で表示したいと考えています。データ行で通貨記号を繰り返さないように、関連する列に接尾辞として挿入します。行ごとに 1 つの価格タグを使用する場合は、この方法でも問題ありませんが、2 つ目の価格タグを使用する場合は、行ごとに発生するたびに、siunitx によって接尾辞用に確保されるスペースが増加するようです。以下に、ごく簡単な例を示します。

\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}

最初の列のフォーマットを正しく設定すると、2 番目の列の空白が多すぎます。2 番目の列を正しく設定すると、通貨記号が最初の列の数字に移動します。

(参考までに: 私は Debian texlive パッケージの lualatex、バージョン 2015.20160117-1 を使用しています。)

これを機能させる方法について何か提案はありますか?

答え1

ここに画像の説明を入力してください

% 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}

関連情報