当使用 LaTeX(或在我的情况下是 XeLaTeX)中的包时,我使用 加载包\usepackage[options]{package}
,但如何在文档的后面“取消使用”该包?
那可能吗?
答案1
不,这实际上是不可能的。(La)TeX 现在没有命名空间,这使得无法知道哪些宏是由哪些包定义的。此外,一些包可能会重新定义现有的宏,而旧的定义无法恢复。更改的长度或计数寄存器也是如此。
它可能可以\usepackage
在组内使用(\begingroup\usepackage[..]{..} \dosomething \endgroup
)来保持包更改在本地,但绝对不能保证这样做不会出现问题。无论如何,这不是好的编程风格。
但是,您可以重新定义甚至取消定义包中定义的宏,但这必须为每个宏手动完成。您可以标记该包未通过使用而加载\expandafter\let\csname ver@<name>.sty\endcsname\relax
,但这样做几乎没有意义。