texlive 2019 中的 xpatch 有错误吗?

texlive 2019 中的 xpatch 有错误吗?

我正在运行稍微修改过的例子使用 pdflatex 然后 makeindex (makeindex -s nomencl.ist -o myfile.nls myfile.nlo)

\documentclass[]{article}
\usepackage{xpatch}
\usepackage{nomencl} 

\patchcmd{\thenomenclature}{\section*{\nomname}}{\relax}{\typeout{Success}}{\typeout{Failure}}

\makenomenclature 

\begin{document}
text
\nomenclature[1]{$\mu$}{variable}
\printnomenclature[0.9in]
\end{document}

但是,章节标题Nomenclature仍然在那里,而它不应该在那里。编译也输出了,success所以我很困惑。这是软件包中的错误吗xpatch

答案1

nomencl包最近已更新,现在默认使用该tocbasic包。

为了使用旧方法,您需要使用选项调用该包notocbasic

% arara: pdflatex
% arara: nomencl
% arara: pdflatex

\documentclass[]{article}
\usepackage{xpatch}
\usepackage[notocbasic]{nomencl} 

\patchcmd{\thenomenclature}{\section*{\nomname}}{\relax}{\typeout{Success}}{\typeout{Failure}}
\makenomenclature 

\begin{document}
text
\nomenclature[1]{$\mu$}{variable}
\printnomenclature[0.9in]
\end{document}

在此处输入图片描述

使用该tocbasic方法,您必须修补\tocbasic@listhead,但这可能会对文档的其他部分产生不利影响。

\documentclass[]{article}
\usepackage{xpatch}
\usepackage{nomencl}

\makeatletter
\patchcmd\tocbasic@listhead{\section*}{\@gobble}{}{}
\makeatother

\makenomenclature

\begin{document}
text
\nomenclature[1]{$\mu$}{variable}
\printnomenclature[0.9in]
\end{document}

相关内容