如何在 csvreader 中转义 # 字符

如何在 csvreader 中转义 # 字符

我正在关注这个csvsimple 文档我遇到了一个问题,我的 csv 文件有一个保留字符:#我尝试过用 a 转义它,blackslash(\)也尝试过附加[respect sharp]\csvreader(因为这样可以转义下划线),但都无济于事。我知道你可以将 [respect sharp] 与 一起使用\csvautotabular,但我似乎找不到如何使用 csvreader 来做到这一点

这是我的代码:

\begin{tabular}{|r|l|c|}\hline%
   & Person & Matr.~No.\\\hline\hline
   \csvreader[tabular=|r|l|l|, table head=\hline, table foot=\hline]%
   {csv/scientists.csv}{name=\name,description=\desc}%
   {\thecsvrow & \name & \desc}%
\end{tabular}

这是我的 csv 代码:

name, description
Locking, {Priced standard #2.  Priced outside #1.}

收到Illegal parameter number in definition of \csv@col@body错误

答案1

respect sharp密钥确实是正确的密钥。您的代码并没有真正编译成我认为您想要的(将代码嵌入到人们可以使用的完整可编译文档中对将来的问题很有帮助。)

这是您发布的代码版本。如您所见,csvautotabularcsvreader都允许相同的respect sharp选项。我删除了命令tabular中的规范csvreader,因为我认为您并不真正想要表中的表。

\documentclass{article}
\begin{filecontents*}{\jobname.csv}
name, description
Locking,{Priced standard #2.  Priced outside #1.}
\end{filecontents*}
\usepackage{csvsimple}
\begin{document}
\csvautotabular[respect sharp]{\jobname.csv}

\bigskip

\begin{tabular}{|r|l|c|}
   \hline%
   & Person & Matr.~No.\\\hline\hline
   \csvreader[ table head=\hline, table foot=\hline, respect sharp]%
   {\jobname.csv}{name=\name,description=\desc}%
   {\thecsvrow & \name & \desc}
   \\\hline%
\end{tabular}
\end{document}

代码输出

相关内容