我正在清理我的类文件,但不清楚某些行的正确顺序。例如(替换\RequirePackage
并\usepackage
放入 MWE 中):
\documentclass{article}
\usepackage{mathtools}
\usepackage{tabularray}
\UseTblrLibrary{amsmath}
\begin{document}
foo
\end{document}
第 2 行,mathtools
加载并修补amsmath
。此后,根据其文档,第 4 行将tabularray
加载amsmath
以提供附加功能。
amsmath
我猜测对提供的修改mathtools
不会被后者覆盖,但我还没有找到方法来确认让某些包amsmath
再次尝试加载没有任何缺点。
这里使用的几个包只是一个例子,因为我对触发加载tikz
或的包也有类似的担忧hyperref
。所以我的问题不是(希望)关于那些具体的例子。提前致谢。
答案1
包永远不会被重新加载(除了fontenc
,它相当特殊)。 中的代码\usepackage
确保包只被加载一次,并且任何再次加载的尝试要么被忽略,要么引发错误。这意味着您对包的宏所做的任何更改都不会被覆盖。
如果您只执行\usepackage
两次,第二次调用将被忽略。如果您使用\usepackage
选项调用包,并且两次调用之间的选项不同,则会引发“选项冲突”错误(这还不够详细,但本质上就是这样的)。