![假装包已经加载](https://linux22.com/image/273950/%E5%81%87%E8%A3%85%E5%8C%85%E5%B7%B2%E7%BB%8F%E5%8A%A0%E8%BD%BD.png)
我试图在同一个类中使用imakeidx
和包。由于依赖于包并提供与 regexpatch 相同的命令(相同的名称,改进的实现),这会导致错误(重新定义命令)。有没有办法假装我加载了包,这样里面就不会加载任何东西?(因为我之前加载过,所以一切都应该没问题)。regexpatch
imakeidx
xpatch
xpatch
xpatch
require
imakeidx
regexpatch
虽然我上面有一个具体的例子,但我对防止语句加载包的一般答案很感兴趣require
,对我的特殊情况的解决方法是一个奖励(我想要么我做错了什么,要么包作者会看一看)。
答案1
可以使用David的建议,但etoolbox
无论如何都必须加载:
\ProvidesFile{xpatch.sty}
\usepackage{etoolbox}
\usepackage{imakeidx}
\usepackage{regexpatch}
应该做。
答案2
egreg 回答了具体问题,但避免包加载的一般问题如评论中所述:
\documentclass{article}
\ProvidesFile{longtable.sty}
\usepackage{longtable}
\typeout{longtable is: \meaning\longtable}
\stop
生产
longtable is: undefined
显示包尚未加载,尽管\usepackage
。