在表格中显示 csv 文件时规则出现问题

在表格中显示 csv 文件时规则出现问题

我正在尝试在表格中显示 csv 文件中的值。为此,我使用了宏\csvreader。我希望 tabulat 像这样:

期望结果

其中toprule,a 表示列头,amidrule表示无线的值,a 表示bottomrule

这是我编写的代码

\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}

对于每一行,我显示 csv 行的信息,然后插入一个\\。使用此代码,我得到以下结果

结果

带有一个额外的空行。我尝试删除\\前面的\bottomrule,但导致错误Misclaced \noalign. \bottomrule->\noalign

我怎样才能删除这行多余的内容?

答案1

使用该选项late after line=\\可以解决这个问题:

\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}

在此处输入图片描述

相关内容