列のヘッダー行の列区切り記号を小数点区切りで配置

列のヘッダー行の列区切り記号を小数点区切りで配置

縦棒区切りの列を作成したいと思います。数値の書式を「dec sep align」に設定すると、縦棒区切りが消えます。MWE は次のとおりです。

\documentclass{article}
\usepackage{array}
\usepackage{pgfplots}
\pgfplotsset{compat=1.5.1}
\usepackage{pgfplotstable}
\begin{document}
\pgfplotstabletypeset
    [columns/A/.style={column type={|r|}},
     columns/B/.style={dec sep align, column type/.style={|}{|}},
     columns/C/.style={dec sep align, column type/.style={|}{|}},
     outfile=TestTable.tex
    ]{
      A    B     C
     1  1.23  1.23
     20 3.4   5.654
    }
\end{document}

生成されたコードでは、確かに縦棒は表示されません。

\begin {tabular}{|r|r<{\pgfplotstableresetcolortbloverhangright }@{}l<{\pgfplotstableresetcolortbloverhangleft }r<{\pgfplotstableresetcolortbloverhangright }@{}l<{\pgfplotstableresetcolortbloverhangleft }}%
A&\multicolumn {2}{c}{B}&\multicolumn {2}{c}{C}\\%
\pgfutilensuremath {1}&$1$&$.23$&$1$&$.23$\\%
\pgfutilensuremath {20}&$3$&$.4$&$5$&$.65$\\%
\end {tabular}%

何が間違っているのでしょうか?

ありがとう、ジュフイ

答え1

column type/.add={}{|}ではなくを使用する必要があります/.style。また、整列した列のヘッダー行で垂直線を機能させるには、 を使用する必要がありますdec sep align={c|}

\documentclass{article}
\usepackage{array}
\usepackage{pgfplots}
\pgfplotsset{compat=1.5.1}
\usepackage{pgfplotstable}
\begin{document}
\pgfplotstabletypeset
    [columns/A/.style={column type={|r|}},
     columns/B/.style={dec sep align={c|}, column type/.add={}{|}},
     columns/C/.style={dec sep align={c|}, column type/.add={}{|}},
    % outfile=TestTable.tex
    ]{
      A    B     C
     1  1.23  1.23
     20 3.4   5.654
    }
\end{document}

関連情報