我刚刚开始使用 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 文件的内容,例如我想将变量重命名givenname
为givennamex
\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*
环境之前)。