软件包不兼容:csvsimple 和 etextools

软件包不兼容:csvsimple 和 etextools

以下代码无法编译:

\documentclass{beamer}
\usepackage{csvsimple}
\usepackage{etextools}
\begin{document}
Hello!
\end{document}

错误信息是

! LaTeX Error: Command \csvloop already defined.
               Or name \end... illegal, see p.192 of the manual.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.920 \DeclareCmdListParser\csvloop{,}

解决这个问题的适当方法是什么?我目前能想到的唯一方法是\def\csvloop\@undefined在加载包之间调用,但这对我来说似乎有点激进。

是否已知此不兼容性?其中一个软件包是否已被弃用和/或可以被其他提供类似功能但不表现出此行为的软件包替代?

答案1

如果您需要其中的一些命令etextools,您可以scrlfileKOMA 脚本捆绑包。此包控制包、类和文件的加载及其行为。它还具有以安全方式将宏保存到辅助宏的功能,并在加载有问题的包后恢复它们。然后您可以:

  1. 加载csvsimple
  2. 保存 csvsimple-macrocsvloop
  3. 加载etextools
  4. 以可控的方式csvloop恢复csvsimple

请参阅第 263 页及以后的内容手动的,其中详细描述了不同的命令并提供了其使用示例。

相关内容