软件包 minted 和 tcolorbox 产生 LaTeX 错误:命令 \gather 已定义

软件包 minted 和 tcolorbox 产生 LaTeX 错误:命令 \gather 已定义

minted在 Miktex 发行版大规模更新后,我观察到了包和之间的冲突tcolorbox。有趣的是,如果我删除该选项,编译将成功运行最多tcolorbox 库。在其他情况下,我看到了 Latex 错误消息:

! LaTeX Error: Command \gather already defined.

MNWE:

\listfiles
\documentclass{scrbook}
\usepackage{minted} 
\show\gather  
\usepackage[most]{tcolorbox}
\show\gather

\begin{document}
  Test
\end{document}

答案1

这是由于软件包引起的lineno。当前版本补丁环境gather,即使它之前没有被定义。因此amsmath无法再加载lineno。因此,因为tcolorbox使用选项most加载amsmath,你应该加载minted(加载lineno tcolorbox

\listfiles
\documentclass{scrbook}
\usepackage[most]{tcolorbox}
\usepackage{minted} 

\begin{document}
  Test
\end{document}

而且因为的当前版本tcolorbox也有一个模块minted,所以我建议使用:

\listfiles
\documentclass{scrbook}
\usepackage[most,minted]{tcolorbox}

\begin{document}
  Test
\end{document}

答案2

由于包依赖关系,可能不清楚哪个包加载了什么。使用\需要包可能是一种更安全的选择,因为它可以确保数学总是首先加载。

\RequirePackage{amsmath}
\documentclass{scrbook}
\usepackage{minted}   
\usepackage[most]{tcolorbox}

\begin{document}
  Test
\end{document}

相关内容