
Ich versuche, Werte aus einer CSV-Datei in einer Tabelle anzuzeigen. Dazu verwende ich das Makro \csvreader
. Ich möchte, dass die Tabelle folgendermaßen aussieht:
mit einem toprule
, den Spaltenköpfen, einem midrule
, den Werten ohne Zeile und einem bottomrule
.
Hier ist der Code, den ich erstellt habe
\begin{tabular}{*{4}{c}}%
\toprule
\textbf{Mesh} & $h$ & \textbf{nDof $\P_1$} & \textbf{nDof $\P_2$}\\
\midrule
\csvreader[head to column names]{fig/meshInformation3D.csv}{}
{\texttt{\mesh} & \pgfmathprintnumber{\hAvg} & \pgfmathprintnumber{\nDofPUn} & \pgfmathprintnumber{\nDofPDeux}\\}
\\\bottomrule
\end{tabular}
Für jede Zeile zeige ich die Informationen der CSV-Zeile an und füge dann eine ein \\
. Mit diesem Code erhalte ich das folgende Ergebnis
mit einer zusätzlichen Leerzeile. Ich habe versucht, das \\
vor dem zu entfernen \bottomrule
, aber es führte zu dem Fehler Misclaced \noalign. \bottomrule->\noalign
.
Wie kann ich diese zusätzliche Zeile entfernen?
Antwort1
Die Verwendung der Option late after line=\\
löst dieses Problem:
\documentclass{article}
\usepackage{pgf}
\usepackage{amssymb}
\usepackage{csvsimple}
\usepackage{booktabs}
\begin{filecontents}[noheader]{mylist.csv}
mesh, hAvg, nDofPUn, nDofPDeux
M0 , 0.86, 47384 , 327000
M1 , 0.74, 68993 , 473000
\end{filecontents}
\begin{document}
\begin{tabular}{*{4}{c}}%
\toprule
\textbf{Mesh} & $h$ & \textbf{nDof $\mathbb{P}_1$} & \textbf{nDof $\mathbb{P}_2$} \\
\midrule
\csvreader[head to column names, late after line=\\]{mylist.csv}{}{
\texttt{\mesh} &
\pgfmathprintnumber{\hAvg} &
\pgfmathprintnumber{\nDofPUn} &
\pgfmathprintnumber{\nDofPDeux}
}
\bottomrule
\end{tabular}
\end{document}