Pgfplotstable 没有标题行

Pgfplotstable 没有标题行

我想排版一个有多列标题的表格仅有的。这是我目前的尝试

\documentclass{article}
\usepackage{pgfplotstable}
\usepackage{booktabs}
\usepackage{array}
\usepackage{colortbl}

\begin{document}
\pgfplotstabletypeset[col sep=&, header=false,
every head row/.style={
before row={%
\toprule
Facteurs & \multicolumn{5}{c}{Niveaux}\\
}},
every last row/.style={
after row=\bottomrule},
display columns/0/.style={string type}
]
{%
\pgfutilensuremath{\chi} & 8 & 11 & 14 & &
5 & 8 & 11 & 14 & 45 & 2.456
q & 8 & 11 & 14 & & 3
x & 8 & 11 & 14 & 5612345 & 4
b & 8 & 11 & 14 & & 5
}
\end{document}

结果如下:

在此处输入图片描述

如何删除图中用红色圈出的标题行?

答案1

从 PGFPlots 1.6 版开始(我认为),output empty row可以使用一个新键来抑制行的打印。这可以按照您的风格使用:

\documentclass{article}
\usepackage{pgfplotstable}
\usepackage{booktabs}

\begin{document}
\pgfplotstabletypeset[
    col sep=&, header=false,
    every head row/.style={ 
        output empty row,
        before row={%
            \toprule
            Facteurs & \multicolumn{5}{c}{Niveaux}\\
        }
    },
    every last row/.style={
        after row=\bottomrule
    },
    display columns/0/.style={string type}
]
{%
\pgfutilensuremath{\chi} & 8 & 11 & 14 & &
5 & 8 & 11 & 14 & 45 & 2.456
q & 8 & 11 & 14 & & 3
x & 8 & 11 & 14 & 5612345 & 4
b & 8 & 11 & 14 & & 5
}
\end{document}

如果你使用的是旧版本,无法或不想更新,这里有一个稍微粗暴的解决方法。你可以添加代码

\makeatletter
\pgfplotsset{
    /pgfplots/table/omit header/.style={%
        /pgfplots/table/typeset cell/.append code={%
            \ifnum\c@pgfplotstable@rowindex=-1
                \pgfkeyslet{/pgfplots/table/@cell content}\pgfutil@empty%
            \fi
        }
    }
}
\makeatother

在您的序言中,这将使样式omit header row可用。如果您在 中使用该键\pgfplotstable,则每个表格单元格的输出例程将被修改,检查我们是否位于行号-1(标题行),如果是,则不会生成任何输出。

\documentclass{article}
\usepackage{pgfplotstable}
\usepackage{booktabs}


\makeatletter
\pgfplotsset{
    /pgfplots/table/omit header/.style={%
        /pgfplots/table/typeset cell/.append code={%
            \ifnum\c@pgfplotstable@rowindex=-1
                \pgfkeyslet{/pgfplots/table/@cell content}\pgfutil@empty%
            \fi
        }
    }
}
\makeatother

\begin{document}
\pgfplotstabletypeset[
    col sep=&,
    header=false,
    every head row/.style={
        before row={%
            \toprule
            Facteurs & \multicolumn{5}{c}{Niveaux}\\
        }
    },
    every last row/.style={
        after row=\bottomrule
    },
    display columns/0/.style={string type},
    omit header
]
{%
\pgfutilensuremath{\chi} & 8 & 11 & 14 & &
5 & 8 & 11 & 14 & 45 & 2.456
q & 8 & 11 & 14 & & 3
x & 8 & 11 & 14 & 5612345 & 4
b & 8 & 11 & 14 & & 5
}
\end{document}

相关内容