我正在尝试使用 缩进表格第一列中的某些单词PGFplotstable
。除了在单词前面添加 4 个空格外,我找不到其他方法来实现这一点。不幸的是,pgfplotstable
或者 latex 会删除空格,因此单词不会缩进。在下面的 MWE 中,可以看到“cat c”和“cat f”应该缩进,但渲染后它们会左对齐。
我找到了这个选项trim cells=true|false
,但关闭它却没有任何效果。
\documentclass{article}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{filecontents}
\begin{document}
\begin{filecontents}{testdata.csv}
category, value, value 2
cat a, 1, 7
cat b, 2, 6
cat c, 3, 5
cat d, 4, 4
cat e, 5, 3
cat f, 6, 2
cat g, 7, 1
\end{filecontents}
\pgfplotstableread[col sep=comma]{testdata.csv}\datatable
\pgfplotstabletypeset[
trim cells=false,
col sep=comma,
columns/category/.style={string type,column type=l}
]{\datatable}
\end{document}
答案1
您可以使用样式every row no <index>
来设置before row=\quad
所需的行。
如果需要以相同的方式更改大量行,则可以在首先调用时以逗号分隔列表的形式提供行号
\pgfplotstableset{
every row no list/.code 2 args={
\pgfplotsforeachungrouped \rownumber in {#1} {
\pgfplotsset{/pgfplots/table/every row no \rownumber/.append style={#2}}
}
}
}
定义一个新键every row no list
。
\documentclass{article}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{filecontents}
\begin{document}
\begin{filecontents}{testdata.csv}
category, value, value 2
cat a, 1, 7
cat b, 2, 6
cat c, 3, 5
cat d, 4, 4
cat e, 5, 3
cat f, 6, 2
cat g, 7, 1
\end{filecontents}
\pgfplotstableset{
every row no list/.code 2 args={
\pgfplotsforeachungrouped \rownumber in {#1} {
\pgfplotsset{/pgfplots/table/every row no \rownumber/.append style={#2}}
}
}
}
\pgfplotstableread[col sep=comma]{testdata.csv}\datatable
\pgfplotstabletypeset[
trim cells=false,
col sep=comma,
columns/category/.style={string type,column type=l},
every row no list={2,5}{before row=\quad}
]{\datatable}
\end{document}