
多くの本には、巻末の注とそれが参照するページを簡単に見つけることができるランニングヘッダーがあります。各章の終わりや本の終わりにある場合があります。巻末の注のランニングヘッダーは、「pp. xx–yyへの注」という形式です。エンドヘッドパッケージでは、この形式のヘッダーの実行を許可します。標準、コマ文字、 そして伝記クラス。しばらく前にmemoirで動作しましたが、今は壊れていてエラーメッセージが表示されます。未定義のページスタイルこのmweは、endheadsパッケージ(およびそのサポートコマンド)がアクティブになっているときに壊れます。伝記そしてそのエンドヘッドそれを動作させるためのパッケージですか?
\documentclass[openany,oldfontcommands]{memoir}
\usepackage{endnotes}
\usepackage{ifthen}
\usepackage{endheads} % requires oldfontcommands option for memoir class
\setupendnoteheaders
\titleinnotestrue
\setstyleforchapternotebegin{\begin{flushleft}\begin{bf}\normalsize}
\setstyleforchapternoteend{\end{bf}\end{flushleft}}
\begin{document}
\chapter{One}
\resetendnotes
\setcounter{secnumdepth}{0}
Text for chapter one with an endnote. \endnote{chp 1 fn 1}
\chapter{Two}
\resetendnotes
\setcounter{secnumdepth}{0}
This is a second endnote. It is the first endnote of chp. 2.
\endnote{chp 2 fn 1 or second fn of the book}. Here is a second endnote of chp. 2. \endnote{chp2 fn 2}
\newpage
\addcontentsline{toc}{chapter}{\protect\numberline{} \the\notescontentsname}
\theendnotes
\end{document}
答え1
スタイル ファイルにバグがありますendheads
。次の行が含まれています:
\@ifclassloaded{memoir}{
\makepagestyle{endnotesstyle}
\makeevenhead{endnotesstyle}{{\small\textrm{\thepage}}}{{\small{\em \the\notesheadername~\mymarks}}}{}
\makeoddhead{endnotesstyle}{}{{\small{\em \the\notesheadername~\mymarks}}}{{\small\textrm{\thepage}}}
\makeevenfoot{}{}{}
\makeoddfoot{}{}{}
これは明らかに間違っています。 および は および と\makeevenfoot
同様\makeoddfoot
に 4 つの引数を取り\makeevenhead
、\makeoddhead
最初の引数はページスタイルの名前です。
なぜこれが古いバージョンのメモワールで機能するのか理解できません ;-)
正直に言うと、バグは常に存在していたと思いますendheads
が、memoir
最近はページスタイルが存在するかどうかをチェックしています。空がデフォルトなので、コマンドが適切に実行されなくても大きな問題は発生しません。
とにかく、 のメンテナーに報告する必要がありますendheads
。
簡単な修正方法として、ロード前に\makeevenfoot
との間違った呼び出しを無効にして、ロード後に次のように正しい呼び出しを呼び出すことができます。\makeoddfoot
endheads
\let\origmakeevenfoot\makeevenfoot
\def\makeevenfoot#1#2#3{}
\let\origmakeoddfoot\makeoddfoot
\def\makeoddfoot#1#2#3{}
\usepackage{endheads} % requires oldfontcommands option for memoir class
\let\makeevenfoot\origmakeevenfoot
\let\makeoddfoot\origmakeoddfoot
\makeevenfoot{endnotesstyle}{}{}{}
\makeoddfoot{endnotesstyle}{}{}{}
残念ながら、宣言はパッチを適用できるコマンドの一部としてではなく、パッケージ内で直接呼び出されるため、よりクリーンなパッチはありません。
正しいバージョンのパッケージがリリースされたらすぐに、このクイックフィックスを削除してください。
あるいは、スタイル ファイルのローカル コピーを作成し、間違った宣言をその場ですぐに置き換えることもできます。この場合も、スタイルの修正バージョンがリリースされたらすぐにローカル コピーを削除することを忘れないでください。
答え2
バグを修正し、エンドヘッドの新しいバージョンを CTAN に送信しました。1 日かそこらで公開されるはずです。ご協力いただいた皆様、ありがとうございました。