我使用 pgfplotstable 并希望对特定列进行后格式化。除其他事项外,我需要复制其内容。我的问题是,postproc cell content
作为直接参数,它工作正常,pgfplotstabletypeset
但当我尝试将其放入样式中以便可以将其用于多个表时,它却不行。
\documentclass[11pt]{article}
\usepackage{pgfplotstable}
\begin{document}
\begin{table}
\centering
\pgfplotstableread{
A B C
1 3.5 2.4
2 1.2 6.7
3 2.1 3.3
}\data
\pgfplotstableset{
debug,
mytable/.style={
columns={A,B,C},
columns/A/.style={string type,
postproc cell content/.style={
@cell content=\ensuremath{##1 \leftrightarrow ##1}
}
},
}
}
\pgfplotstabletypeset[
mytable,
% columns/A/.style={string type,
% postproc cell content/.style={
% @cell content=\ensuremath{##1 \leftrightarrow ##1}
% }
% }
]{\data}
\caption{Some important table}
\end{table}
\end{document}
当我启用注释行时,它看起来应该如此,如果没有它们,原始数字就会丢失。
抱歉,无法发布图片...
答案1
这有点难以解释(你甚至可以称其为错误),但每次参数通过样式时,扩展都会#
丢失。所以你需要四个#
字符。
\documentclass[11pt]{article}
\usepackage{pgfplotstable}
\begin{document}
\begin{table}
\centering
\pgfplotstableread{
A B C
1 3.5 2.4
2 1.2 6.7
3 2.1 3.3
}\data
\pgfplotstableset{
debug,
mytable/.style={
columns={A,B,C},
columns/A/.style={string type,
postproc cell content/.style={
@cell content=\ensuremath{####1 \leftrightarrow ####1}
}
},
}
}
\pgfplotstabletypeset[
mytable,
% columns/A/.style={string type,
% postproc cell content/.style={
% @cell content=\ensuremath{##1 \leftrightarrow ##1}
% }
% }
]{\data}
\caption{Some important table}
\end{table}
\end{document}