使用 csvsimple 包的百分比符号

使用 csvsimple 包的百分比符号

我正在使用包csvsimple来读取.csv文件。问题是,在某些单元格中我有百分比,例如:

a,b
1,10%
3,16%

如果我保留%s,则第一个 s 之后的所有内容%都会被省略,也就是说,它的行为就像注释一样。如果我%使用s 退出,\%则会出现编译错误。

例子:

\documentclass{minimal}
\usepackage{csvsimple}
\begin{document}
\csvautotabular{tab.csv}
\end{document}

在哪里tab.csv

a,b
1,2%
2,5%

包裹也出现了同样的问题datatool

答案1

您可以添加评估某些键的可能性,这是默认\csvautotabular命令所不允许的。

\documentclass{article}
\usepackage{csvsimple}

\newcommand{\csvloopx}[2][]{\csvloop{#1,#2}}
\newcommand{\csvautotabularx}[2][]{\csvloopx[#1]{autotabular={#2}}}
\newcommand{\respectpercent}{\catcode`\%=12\relax}

\begin{document}
\csvautotabularx[before table=\respectpercent]{tab.csv}
\end{document}

在此处输入图片描述

datatool使用以下命令可以获得类似的效果\DTLloadrawdb

\documentclass{article}
\usepackage{datatool}
\begin{document}
\DTLloadrawdb{tab}{tab.csv}
\DTLdisplaydb{tab}
\end{document}

相关内容