关于这个问题缺失数字,在更新枚举 \item 并使用 hyperref 时视为零我了解到我必须从问题中定义我的自定义命令如何识别自定义环境中的枚举短标签?hyperref
在要加载的包之前。
然而,我的论文应该使用这个类abntex2
,并且这个abntex2
类有包含这个包的绝妙而非凡的想法hyperref
他们的源代码,没有任何实际理由。
现在,我不知道如何hyperref
在定义代码后包含包。到目前为止,我尝试\RequirePackage{enumitem}
在加载类之前使用和定义我的命令abntex2
。然而,LaTeX 抛出了错误
enumitem.sty:1587:LaTeX 错误:环境描述未定义。
\PassOptionsToPackage{shortlabels}{enumitem}
\RequirePackage{enumitem}
\let\itemenumerateoptional\item
\newcounter{enumerateoptionalcount}
\def\renewenumerateoptionalitem{%
\let\itemenumerateoptional\item
\renewcommand{\item}[1][]{%
\refstepcounter{enumerateoptionali}% increment the counter
\itemenumerateoptional[\bfseries##1~\theenumerateoptionali]%
}%
}
\newlist{enumerateoptional}{enumerate}{1}
\setlist[enumerateoptional]{
before=\renewenumerateoptionalitem,
label=\arabic*,
nosep,
labelindent=20mm,
leftmargin=*,
after=\let\item\itemenumerateoptional,
}
\documentclass{abntex2}
\begin{document}
\begin{enumerateoptional}[1.]
\item[Some first] item one
\item[Some second] item two
\end{enumerateoptional}
\end{document}
Babel <3.12> and hyphenation patterns for 76 language(s) loaded.
(D:\latex\enumitem.sty
D:\latex\enumitem.sty:1587: LaTeX Error: Environment description undefined.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help
D:\latex\enumitem.sty:1587: ==> Fatal error occurred, no output PDF file produced!
相关问题
答案1
重新定义 \H@item 而不是 \item。即使 hyperref 加载过早,这也应该有效:
\documentclass[12pt]{article}
\errorcontextlines 10000
\usepackage{hyperref}
\usepackage[shortlabels]{enumitem}
\makeatletter
\def\renewenumerateoptionalitem{%
\let\itemenumerateoptional\H@item
\renewcommand{\H@item}[1][]{%
\refstepcounter{enumerateoptionali}% increment the counter
\itemenumerateoptional[\bfseries##1~\theenumerateoptionali]%
}%
}
\makeatother
\newlist{enumerateoptional}{enumerate}{1}
\setlist[enumerateoptional]{
before=\renewenumerateoptionalitem,
label=\arabic*,
nosep,
labelindent=20mm,
leftmargin=*,
}
\begin{document}
\begin{enumerateoptional}[1.]
\item[Some first] item one \label{test}
\item[Some second] item two
\item abc
\end{enumerateoptional}
\ref{test}
\end{document}