考虑到这个 MWE,我希望在行上获得粗体样式。highlight
的样式适用于列,但不适用于行。
\documentclass{standalone}
\usepackage{pgfplotstable}
\begin{document}
\pgfplotstableset{highlight/.append style={
postproc cell content/.append code={
\pgfkeysalso{@cell content=\textbf{##1}}%
}
}}
\pgfplotstabletypeset[
every first column/.style={highlight,/pgf/number format/sci},
every last row/.style={highlight,/pgf/number format/sci}, %does not work
col sep=&,row sep=\\]{
colA & colB & colC \\
11 & 12 & 13 \\
21 & 22 & 23 \\
}
\end{document}
您有什么想法吗?这似乎postproc cell content
对行不起作用。
编辑
另一个问题是\pgfkeysalso
删除sci
格式....
\documentclass{standalone}
\usepackage{pgfplotstable}
\begin{document}
\pgfplotstableset{hhb/.append style={
postproc cell content/.append code={
\pgfkeysalso{@cell content=\textbf{##1}}%
}
}}
\pgfplotstabletypeset[
every first column/.style={highlight,/pgf/number format/sci},
% every last row/.append style={highlight},
%every first column/.style={sci,postproc cell content/.append style= {/pgfplots/table/@cell content/.add={\bf}{coucou}}},
col sep=&,row sep=\\]{
colA & colB & colC \\
11 & 12 & 13 \\
3E+4 & 22 & 23 \\
}
\end{document}
编辑2:
为了避免前面的问题,语法必须是:
\pgfplotstableset{hhc/.style={
postproc cell content/.append style={
/pgfplots/table/@cell content/.add={$\bf}{$},
}
}}
但这只适用于列,不适用于行。
编辑3:
使第 I 行显示为粗体的解决方案:
\pgfplotstableset{
highlightrow/.style={
postproc cell content/.append code={
\count0=\pgfplotstablerow
\advance\count0 by1
\ifnum\count0=#1
\pgfkeysalso{@cell content/.add={$\bf}{$}}
%\pgfkeysalso{@cell content=\textbf{##1}}%
\fi
},
},
}
使用示例:
\pgfplotstabletypeset[ highlightrow={2},
col sep=&,row sep=\\]{
colA & colB & colC \\
11 & 12 & 13 \\
3E+4 & 22 & 23 \\
}
答案1
你是对的,postproc 选项仅适用于特定于列的选项。
为了限制它们的应用到特定的行,您必须使它们依赖于行索引\pgfplotstablerow
:
\documentclass{standalone}
\usepackage{pgfplotstable}
\begin{document}
\pgfplotstableset{
highlight/.append style={
postproc cell content/.append code={
\pgfkeysalso{@cell content=\textbf{##1}}%
},
},
highlight last row/.style={
postproc cell content/.append code={
\count0=\pgfplotstablerow
\advance\count0 by1
\ifnum\count0=\pgfplotstablerows
\pgfkeysalso{@cell content=\textbf{##1}}%
\fi
},
},
}
\pgfplotstabletypeset[
every first column/.style={highlight,/pgf/number format/sci},
highlight last row,
every last row/.style={/pgf/number format/sci},
col sep=&,row sep=\\]{
colA & colB & colC \\
11 & 12 & 13 \\
21 & 22 & 23 \\
}
\end{document}
手册上关于这个特定方面的说明相当不清楚;我改进了手册并引入了检测此类问题的检查。