pgfplotstable: dec sep = {.} が期待どおりに動作しない

pgfplotstable: dec sep = {.} が期待どおりに動作しない

小数点の区切りとしてピリオド「.」を使用する必要がありますが、奇妙なことが起こるので、次のように記述します。

\documentclass[oneside]{scrbook}
\usepackage[spanish, es-tabla]{babel}
\usepackage{pgfplotstable}

\begin{document}
\pgfkeys{/pgf/number format/.cd,fixed,precision=2,dec sep={n}}
\pgfmathprintnumber{12.3456}
\pgfkeys{/pgf/number format/.cd,fixed,precision=2,dec sep={.}}
\pgfmathprintnumber{12.3456}
\pgfkeys{/pgf/number format/.cd,fixed,precision=2,dec sep={,}}
\pgfmathprintnumber{12.3456}
\end{document}

最初のものは期待どおりに動作しますが、他のものはカンマのみが表示されます。なぜこのようなことが起こるのでしょうか? 何かを忘れているのでしょうか? も試してみましたuse periodが、同じです。

答え1

文書内のカンマをピリオドに変更したい場合は、ゴンザロスの素晴らしい答えつまり、オプションbabelをロードしますes-nodecimaldot。この回答は、小数点記号をローカルでピリオドに変更する方法を示しています。これは、\decimalpointのコードに追加することで機能しますuse period

\documentclass[oneside]{scrbook}
\usepackage[spanish, es-tabla]{babel}
\usepackage{pgfplotstable}
\pgfkeys{/pgf/number format/.cd,use period/.append code={\decimalpoint}}
\begin{document}
\pgfmathprintnumber{12.3456}
\pgfmathprintnumber[use period]{12.3456}
\pgfmathprintnumber{12.3456}
\end{document}

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

関連情報