尝试像在我的 MWE 中一样转置表格。结果很不错,但包含第一个额外的行,我想将其排除。阅读 pgf 手册,使用 skip 之间的行index={}{}
,但没有效果。如何删除第一个额外的行(colnames
等等...)?
\documentclass{article}
\usepackage{booktabs}
\usepackage{pgfplotstable}
\begin{document}
\pgfplotstableread{
N Ans
1 -36
2 33
3 -52
4 -22
5 33
6 38
7 48
8 -100
}\mytable
\pgfplotstabletranspose[string type]\mytablenew{\mytable}
\pgfplotstabletypeset[string type]{\mytablenew}
\end{document}
答案1
您可以在打印转置表时隐藏新创建的行,方法是Pgfplotstable 没有标题行(正如 Alenanno 在评论中所建议的那样)。
但是,这样您就无法使用诸如 之类的格式选项every head row
,这些选项在使用 时特别有用booktabs
,因为您没有打印头行。
您可以通过设置来阻止生成新行
colnames from=N, input colnames to=N
在\pgfplotstabletranspose
选项中。第一个选项告诉 PGFPlotstable 使用现有列(在本例中N
)作为转置表中的列名,第二个选项告诉 PGFPlotstable 将其用作N
原始列名的标题。
\documentclass{article}
\usepackage{booktabs}
\usepackage{pgfplotstable}
\begin{document}
\pgfplotstableread{
N Ans
1 -36
2 33
3 -52
4 -22
5 33
6 38
7 48
8 -100
}\mytable
\pgfplotstabletranspose[string type,
colnames from=N,
input colnames to=N
]\mytablenew{\mytable}
\pgfplotstabletypeset[
every head row/.style={
before row=\toprule,
after row=\midrule
},
every last row/.style={
after row=\bottomrule
},
string type]{\mytablenew}
\end{document}