błąd xpatcha w texlive 2019?

Sep 09 2020

Uruchamiam lekko zmodyfikowany przykład z pdflatex, a następnie 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}

Jednak tytuł sekcji Nomenclaturenadal tam jest, podczas gdy nie powinien. Kompilacja również wychodzi, successwięc się zgubiłem. Czy to błąd w xpatchpakiecie?

Odpowiedzi

2 egreg Sep 09 2020 at 22:25

nomenclOpakowanie zostało ostatnio zaktualizowane, a teraz korzysta domyślnie z tocbasicpakietu.

Aby użyć starej metody, musisz wywołać pakiet z opcją 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}

W przypadku tej tocbasicmetody trzeba załatać \tocbasic@listhead, ale może to mieć niekorzystny wpływ na inne części dokumentu.

\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}