![命令 \AtBeginEnvironment 已定义](https://linux22.com/image/253392/%E5%91%BD%E4%BB%A4%20%5CAtBeginEnvironment%20%E5%B7%B2%E5%AE%9A%E4%B9%89.png)
我对 LaTeX 还很陌生。在 Windows 上,Miktex/Texmaker 几乎可以在需要时完成软件包安装,但在 Ubuntu 上,我一直从 CTAN 下载所需的软件包并手动安装。所以今天我在 Ubuntu 9.10 上安装了三个软件包:xfor、datatool 和 etoolbox。出于某种原因,我在快速构建时收到这个奇怪的错误:
(/usr/share/texmf/tex/latex/datatool/datatool-base.sty
Package: datatool-base 2012/07/18 v2.10 (NLCT)
(/usr/share/texmf/tex/latex/etoolbox/etoolbox.sty
Package: etoolbox 2011/01/03 v2.1 e-TeX tools for LaTeX
\etb@tempcnta=\count97
! LaTeX Error: Command \AtBeginEnvironment 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.
...
有人能帮我修复这个错误吗?我实际上是在使用大学提供的 cls 文件撰写论文。我正在使用 Texmaker 编辑器。
答案1
问题在于etextools
包中包含许多容易导致冲突的名称,如下面所讨论的:回复:软件包“etextools”与 biblatex 不兼容
答案2
我遇到了完全相同的问题,但这次是在 MikTeX 中,而不是 Ubuntu。所以我认为为 MikTeX 提供解决方案可能会有所帮助,因为这是在谷歌搜索错误消息时的第一个结果。
susis strolch 提供的链接不再有效,我在 Web Archive 中也找不到它。我在 Google 上搜索了错误消息,找到了一些德语论坛建议更新 MikTex 软件包两个都用户模式和管理员模式。以下是我执行的步骤:
- 以管理员身份运行 MikTeX 控制台,在介绍屏幕中选择 MikTex 管理员模式,检查更新并多次安装更新,直到不再显示更新
- 正常运行 MikTeX,选择“保持 MikTeX 用户模式”,再次检查更新并安装几次,直到不再显示更新
- 删除您要编译的文档中的所有辅助文件,例如 aux、log 等。
- 再次编译文档。安装所有缺失的软件包。
步骤 3 和 4 可能需要执行多次。如果错误消息仍然存在,请重新开始。请注意,在步骤 2 之后尝试编译它而不清除辅助文件会产生以下错误:pdflatex: major issue: User/administrator updates are out-of-sync
。清除辅助文件并再次编译可以解决这个问题。