多个多列表格使第一行数据消失。还需要一些技巧让它看起来更好

多个多列表格使第一行数据消失。还需要一些技巧让它看起来更好

接下来是这个问题:

使用 pgfplotstable 进行多列

我的数据的第一行不知怎么的被弄乱了,下面是代码:

\documentclass{article}
\usepackage{booktabs}
\usepackage{pgfplotstable}
\usepackage[paperwidth=35cm]{geometry}

\begin{document}

\noindent\pgfplotstabletypeset[
 every head row/.style={
 before row={\toprule
   &
       &\multicolumn{2}{c}{32-2}
   &\multicolumn{2}{c}{128-4}
   &\multicolumn{2}{c}{256-8}
   &\multicolumn{2}{c}{32-4 w/o LS}
   &\multicolumn{2}{c}{128-4 w/o LS}
   &\multicolumn{2}{c}{256-8 w/o LS}
    },
},
display columns/1/.style={column name={Instance}},
display columns/2/.style={column name={n}},
display columns/3/.style={column name={Avg. Time}},
display columns/4/.style={column name={Avg. Qual.}},
display columns/5/.style={column name={Avg. Time}},
display columns/6/.style={column name={Avg. Qual.}},
display columns/7/.style={column name={Avg. Time}},
display columns/8/.style={column name={Avg. Qual.}},
display columns/9/.style={column name={Avg. Time}},
display columns/10/.style={column name={Avg. Qual.}},
display columns/11/.style={column name={Avg. Time}},
display columns/12/.style={column name={Avg. Qual.}},
display columns/13/.style={column name={Avg. Time}},
display columns/14/.style={column name={Avg. Qual.}},
every last row/.style={after row=\bottomrule},
string type
]
{
bur26a 26 94.6513 0.9995 145.6622 0.9999 202.7375 1.0000 1.4381 0.9707 2.0208 0.9770 2.9439 0.9786
chr25a 25 84.5684 0.8296 131.5305 0.8881 183.0491 0.9012 1.4192 0.3110 1.9670 0.3369 2.8968 0.3530
}

\end{document}

我发现,多列附近的一堆 & 是一种技巧,可以将它们与各自的列对正确对齐。

这些列样式线是为了使列具有相同的名称。

输出如下:

表输出

请注意第一行不存在,并且有一个不应该出现的 bur26a。

有幫忙嗎?謝謝。

答案1

如果数据表的第一行包含非数字条目,PGFPlotstable 会假定它包含列名。要关闭此功能,请设置header=false

编号columns以 开头0,而不是1,这解释了您的偏移量。

如果使用 在标题行上方引入一行before row,则需要使用 终止该行\\

\documentclass{article}
\usepackage{booktabs}
\usepackage{pgfplotstable}
\usepackage[paperwidth=35cm]{geometry}

\begin{document}

\noindent\pgfplotstabletypeset[
 every head row/.style={
 before row={\toprule
   &
   &\multicolumn{2}{c}{32-2}
   &\multicolumn{2}{c}{128-4}
   &\multicolumn{2}{c}{256-8}
   &\multicolumn{2}{c}{32-4 w/o LS}
   &\multicolumn{2}{c}{128-4 w/o LS}
   &\multicolumn{2}{c}{256-8 w/o LS}\\
  },
 after row=\midrule
},
display columns/0/.style={column name={Instance}},
display columns/1/.style={column name={n}},
display columns/2/.style={column name={Avg. Time}},
display columns/3/.style={column name={Avg. Qual.}},
display columns/4/.style={column name={Avg. Time}},
display columns/5/.style={column name={Avg. Qual.}},
display columns/6/.style={column name={Avg. Time}},
display columns/7/.style={column name={Avg. Qual.}},
display columns/8/.style={column name={Avg. Time}},
display columns/9/.style={column name={Avg. Qual.}},
display columns/10/.style={column name={Avg. Time}},
display columns/11/.style={column name={Avg. Qual.}},
display columns/12/.style={column name={Avg. Time}},
display columns/13/.style={column name={Avg. Qual.}},
every last row/.style={after row=\bottomrule},
string type,
header=false
]
{
bur26a 26 94.6513 0.9995 145.6622 0.9999 202.7375 1.0000 1.4381 0.9707 2.0208 0.9770 2.9439 0.9786
chr25a 25 84.5684 0.8296 131.5305 0.8881 183.0491 0.9012 1.4192 0.3110 1.9670 0.3369 2.8968 0.3530
}

\end{document}

相关内容