控制所创建的表格中某一列的所有非标题单元格的文本大小的最简单方法是什么pgfplotstable
?
\documentclass{article}
\usepackage{pgfplotstable}
\begin{document}
\pgfplotstabletypeset[col sep=comma, header=has colnames]{
test1,test2
1,2
3,4
}
\end{document}
因此,例如,在此表中,我想更改2
和的大小4
。
我尝试玩.style={font=...}
,但无所获。此外,我发现columns/test2/.style={postproc cell content/.style={@cell content/.add={\scriptsize}{}}}
这里,但我不相信这是最简单的方法。
答案1
好的。这是一种可重复的设置方式。pgfkeys 通过/.list
处理程序提供键的迭代执行。在英语中,它将对列表中的每个元素执行相同的样式。例如,我已经将其添加\scriptsize
到单元格中并将它们设置为字符串类型。
\documentclass{article}
\usepackage{pgfplotstable}
\pgfplotstableset{
my iterating settings/.style={%
/pgfplots/table/columns/#1/.style={
string type,
postproc cell content/.style={
@cell content/.add={\scriptsize}{}
}
}
}
}
\begin{document}
\pgfplotstabletypeset[my iterating settings/.list={test1,test2,test3,test4}]{
test1 test2 test3 test4
1 2 6 8
3 4 7 9
c u b e
c a k e
}
\end{document}
太累了,不想输入列名,想要更简单的解决方案?我们仍然喜欢你。您可以使用列号索引来方便访问,因为它pgfplotstable
支持display columns/<col no>
语法。例如,我想让一些列加粗\footnotesize
(我不知道为什么)。
请注意,我已将输出移至string type
常规设置以应用于所有列,因为我们的迭代列表不会触及每一列,但所有列中都有文本。列号从零开始。
\documentclass[landscape]{article}
\usepackage{pgfplotstable}
\pgfplotstableset{
my num iterating settings/.style={%
/pgfplots/table/display columns/#1/.style={
postproc cell content/.style={
@cell content/.add={\footnotesize\bfseries}{}
}
}
}
}
\begin{document}
\hspace{-5cm}
\pgfplotstabletypeset[string type,
my num iterating settings/.list={0,1,...,4,8,10,...,15}
]{
test1 test2 test3 test4 test5 test6 test7 test8 test9 test10 test11 test12 test13 test14 test15 test16
1 2 6 8 1 2 6 8 1 2 6 8 1 2 6 8
3 4 7 9 3 4 7 9 3 4 7 9 3 4 7 9
c u b e c u b e c u b e c u b e
c a k e c a k e c a k e c a k e
}
\end{document}
我可能复制粘贴了太多内容...