
Ich möchte eine Tabelle mit einer mehrspaltigen Überschrift setzennur. Hier ist mein aktueller Versuch
\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}
was zu folgendem Ergebnis führt:
Wie kann ich die im Bild rot eingekreiste Überschriftenzeile entfernen?
Antwort1
Ab Version 1.6 von PGFPlots (glaube ich) output empty row
ist ein neuer Schlüssel verfügbar, der das Drucken einer Zeile unterdrückt. Dieser kann in Ihrem Stil verwendet werden:
\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}
Wenn Sie eine frühere Version verwenden und nicht aktualisieren können/wollen, gibt es hier einen etwas brutalen Workaround. Sie können den Code hinzufügen
\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
in Ihrer Präambel, die einen Stil omit header row
verfügbar macht. Wenn Sie diesen Schlüssel in verwenden \pgfplotstable
, wird die Ausgaberoutine für jede Tabellenzelle um eine Prüfung ergänzt, ob wir uns in Zeilennummer -1
(der Kopfzeile) befinden, und wenn ja, wird keine Ausgabe generiert.
\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}