미주에 대한 헤더 실행: xx~yy 페이지에 대한 참고 사항

미주에 대한 헤더 실행: xx~yy 페이지에 대한 참고 사항

많은 책에는 미주와 해당 미주가 참조하는 페이지를 편리하게 찾을 수 있는 머리글이 있습니다. 각 장의 끝이나 책의 끝 부분에 있을 수 있습니다. 실행 중인 헤더는 미주에 대한 "Notes to pp. xx–yy" 형식을 갖습니다. 그만큼엔드헤드패키지는 다음에 대해 이 형식의 헤더 실행을 허용합니다.기준,코마스크립트, 그리고회상록클래스. 그것은 회고록으로 얼마 전에는 효과가 있었지만 지금은 깨져서 오류 메시지가 나타납니다.정의되지 않은 페이지 스타일. 이 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{}{}{}

\makeevenfootand 와 \makeoddfoot마찬가지로 4 개의 인수를 취하고 첫 번째 인수가 페이지 스타일의 이름이므로 이것은 분명히 잘못된 것입니다 .\makeevenhead\makeoddhead

왜 이것이 이전 버전의 회고록에서 작동하는지 이해할 수 없습니다 ;-)

솔직히 말해서 버그는 항상 있었던 것 같지만 endheads최근 memoir에는 페이지 스타일이 존재하는지 확인하고 있습니다. 비어 있음이 기본값이므로 명령이 제대로 실행되지 않더라도 크게 문제가 되지는 않습니다.

어쨌든 의 관리자에게 보고해야 합니다 endheads.

빠른 수정으로, 로드하기 전에 잘못된 호출을 비활성화하고 나중에 다음과 같이 올바른 호출을 호출할 수 \makeevenfoot있습니다 .\makeoddfootendheads

\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으로 전송되었습니다. 하루 정도 지나면 올라올 거에요. 도움을 주신 모든 분들께 감사드립니다!

관련 정보