我想dec sep align
同时使用和条件格式。我设法单独使它们工作,但它们一起使用会使列中的每个值翻倍。
\documentclass[]{article}
\usepackage{booktabs,pgfplotstable,colortbl}
\begin{document}
\begin{table}[h!]
\pgfplotstabletypeset[%
columns/A/.style={%
postproc cell content/.style={
/pgfplots/table/@cell content/.initial={}{
\pgfmathparse{int(less(##1,0))}
\ifnum\pgfmathresult=1
\cellcolor{green}{##1}
\else
{##1}
\fi
}
},
dec sep align,
},
% columns/.style={
% dec sep align
% },
col sep=comma
]{ ,A,B,C,D
1,-2.27,-32.94,134.32,-19.92
2,3.40,13.53,106.51,11.79
3,-116.5,-6.43,208.59,-0.11
4,-16.47,-2.38,299.76,-9.76
}
\end{table}
\end{document}
其结果如下
所评论的解决方案也不起作用。
理想情况下,我希望所有列都遵守条件格式dec sep align
,A、B 和 D 列也遵守条件格式。到目前为止,我设法让 A 列遵守条件格式,但前提是我不同时使用dec sep align
。
这是一个dec sep align
无法与条件格式一起使用的错误,还是我只是不明白如何使用它们?
答案1
请查看当前第 12 页的脚注pgfplotstable 手册。看起来dec sep align
不太适合\cellcolor
。
至于双重输入,该dec sep align
选项将输入拆分为两列,并将您的post proc
应用于这两列。使用.initial
并添加##1
将用原始条目覆盖已解析的条目,从而产生双重输入。使用add
并删除##1
允许拆分doc sep align
继续进行;但是,\cellcolor
比必要的大,第二个单元格覆盖了第一个单元格的一小部分(我推测这是手册中提到的悬垂部分):
\documentclass[]{article}
\usepackage{booktabs,pgfplotstable,colortbl,siunitx}
\begin{document}
\begin{table}[h!]
\pgfplotstabletypeset[%
columns/A/.style={
postproc cell content/.style={
/pgfplots/table/@cell content/.add={}{
\pgfmathparse{int(less(##1,0))}
\ifnum\pgfmathresult=1
\cellcolor{green}
\fi
}
},
dec sep align={c}},
columns/B/.style={dec sep align={c}},
columns/C/.style={dec sep align={c}},
columns/D/.style={dec sep align={c}},
col sep=comma
]{ ,A,B,C,D
1,-2.27,-32.94,134.32,-19.92
2,3.40,13.53,106.51,11.79
3,-116.5,-6.43,208.59,-0.11
4,-16.47,-2.38,299.76,-9.76
}
\end{table}
\end{document}