如何更新 csvsimple 包中生成的 .csv 文件

如何更新 csvsimple 包中生成的 .csv 文件

我刚刚开始使用 csvsimple,它看起来是个很棒的软件包。我想知道是否可以执行以下操作

假设我有一个 .csv 文件,我将其复制到 .tex 文件中,如下所示:

\documentclass{article}
\usepackage{csvsimple}

\begin{filecontents*}{grade.csv}
    name,givenname,matriculation,gender,grade
    Maier,Hans,12345,m,1.0
    Huber,Anna,23456,f,2.3
    Weisbaeck,Werner,34567,m,5.0
\end{filecontents*}

\begin{document}
    \begin{tabular}{l|c}%
        \bfseries Person & \bfseries Matr.~No.% specify table head
        \csvreader[head to column names]{grade.csv}{}% use head of csv as column names
        {\\\hline\givenname\ \name & \matriculation}% specify your columns here
    \end{tabular}
\end{document}

\end{document}

生成一个带有表格的 PDF,没有问题

但是,假设我想在 .tex 文件中更改 csv 文件的内容,例如我想将变量重命名givennamegivennamex

\documentclass{article}
\usepackage{csvsimple}

\begin{filecontents*}{grade.csv}
    name,givennamex,matriculation,gender,grade
    Maier,Hans,12345,m,1.0
    Huber,Anna,23456,f,2.3
    Weisbaeck,Werner,34567,m,5.0
\end{filecontents*}

\begin{document}
    \begin{tabular}{l|c}%
        \bfseries Person & \bfseries Matr.~No.% specify table head
        \csvreader[head to column names]{grade.csv}{}% use head of csv as column names
        {\\\hline\givennamex\ \name & \matriculation}% specify your columns here
    \end{tabular}
\end{document}

\end{document}

这实际上不起作用。但是,如果我在再次编译文件之前手动删除生成的 grade.csv 文件,它就会起作用。我认为 Latex 从第一次编译生成了一个 .csv 文件,但它不会在第二次编译时更新 .csv 文件

当我更改 .csv 文件的内容时,有没有办法更新生成的 .csv 文件?

提前谢谢了

答案1

添加\usepackage{filecontents}到序言中(显然在filecontents*环境之前)。

相关内容