newlfm クラスの使用時に \fancy@reset、\f@ncyolh、\f@ncyorh で未定義の制御シーケンス エラーが発生する

newlfm クラスの使用時に \fancy@reset、\f@ncyolh、\f@ncyorh で未定義の制御シーケンス エラーが発生する

TeXLive 2017 にアップデートしましたが、newlfm.clsエラーなしで動作しませんでした。以下に最小限の例を示します。

\documentclass{newlfm}
\begin{document}
\begin{newlfm}
\end{newlfm}
\end{document}

\fancy@resetLaTex は、、\f@ncyolhおよびで未定義の制御シーケンス エラーをスローします\f@ncyorh

エラーの原因は何ですか? 何が足りないのでしょうか?

答え1

おそらく次のパッチ(etoolbox)で十分です:

\usepackage{etoolbox}

\makeatletter
\patchcmd{\@zfancyhead}{\fancy@reset}{\f@nch@reset}{}{}
\patchcmd{\@set@em@up}{\f@ncyolh}{\f@nch@olh}{}{}
\patchcmd{\@set@em@up}{\f@ncyolh}{\f@nch@olh}{}{}
\patchcmd{\@set@em@up}{\f@ncyorh}{\f@nch@orh}{}{}
\makeatother

このエラーは、パッケージ依存変数をハードコーディングしたことが原因で発生し、これは更新されたリリースで変更されました。fancyhdr上記を前文に追加すると、古いfancyhdr名前が新しい名前に置き換えられます。

関連情報