使用最新的 TL 2015,以下是最小示例:
% \RequirePackage{etex}
\documentclass{article}
\usepackage{l3keys2e}
\usepackage{titlesec}
\usepackage{adjustbox}
\usepackage{footmisc}
\usepackage{booktabs}
\usepackage{mathtools}
\usepackage{microtype}
\usepackage{enumitem}
\usepackage{bookmark}
\usepackage{glossaries}
\usepackage{autonum}
\begin{document}
\end{document}
不起作用:
Package etex Warning: Extended allocation already in use.
(etex) etex.sty code will not be used.
(etex) To force etex package to load, add
(etex) \RequirePackage{etex}
(etex) at the start of the document.
)
! Undefined control sequence.
l.905 \globcount
\ettl@for@nested
?
! Undefined control sequence.
l.905 \globcount\ettl@for@nested
?
因为autonum
包。但是,它一旦开始工作:
- 之前删除的任何一个包
autonum
(与我的情况无关:我需要这些包), - 或者
autonum
在其他包之前加载(与我的情况无关:我还需要cleveref
作为最后一个加载的包,但有两个例外:hypdvips
和...autonum
), etex
或者像上面的警告中建议的那样加载了该包(但这个包现在被认为是过时的)。
你明白发生了什么吗?etex
虽然它已经过时了,但使用起来还安全吗?
答案1
该autonum
包加载etextools
,我不建议使用这个包,据我记得,它已被其作者宣布为“已死”。
由于奇怪的原因,加载后etex
,包裹上有一个\globcount\ettl@for@nested
可能\newcount
从一开始就存在的声明。
解决方法:定义\globcount
为\newcount
在加载之前autonum
。
\documentclass{article}
\usepackage{l3keys2e}
\usepackage{titlesec}
\usepackage{adjustbox}
\usepackage{footmisc}
\usepackage{booktabs}
\usepackage{mathtools}
\usepackage{microtype}
\usepackage{enumitem}
\usepackage{bookmark}
\usepackage{glossaries}
%\expandafter\def\csname [email protected]\endcsname{3000/12/31}
\let\globcount\newcount
\usepackage{autonum}
\begin{document}
\end{document}
%
如果您还想摆脱有关 的警告,请取消注释以 开头的行etex
。