texlive 2019'da xpatch hatası?

Sep 09 2020

Biraz değiştirilmiş örneği pdflatex ve ardından makeindex ile çalıştırıyorum (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}

Bununla birlikte, bölüm başlığı Nomenclatureolmamasına rağmen hala oradadır. Derleme ayrıca çıktı verir, successbu yüzden kayboldum. Bu xpatchpaketteki bir hata mı ?

Yanıtlar

2 egreg Sep 09 2020 at 22:25

nomenclPaket son güncellenen ve şimdi varsayılan olarak kullandığı tocbasicpaket.

Eski yöntemi kullanabilmek için seçeneği ile paketi çağırmanız gerekir 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}

İle tocbasicyöntemle, sen yama zorunda \tocbasic@listhead, ancak bu belgenin diğer bölümlerinde üzerinde olumsuz etkileri olabilir.

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