Executando cabeçalhos para notas finais: Notas para pp.

Executando cabeçalhos para notas finais: Notas para pp.

Muitos livros têm cabeçalhos nos quais você pode encontrar convenientemente as notas finais e as páginas às quais elas se referem. Eles podem estar no final de cada capítulo ou no final do livro. Os cabeçalhos correntes têm o formato “Notas para pp. xx – yy” para as notas finais. Oterminaispacote permite executar cabeçalhos deste formulário para opadrão,komascript, elivro de memóriasAulas. Funcionou para mim há algum tempo com o livro de memórias, mas agora está quebrado e dá uma mensagem de erro,Estilo de página indefinido. Este mwe é interrompido quando o pacote endheads (e seus comandos de suporte) é ativado. Alguém pode sugerir o que pode ser feito ao usarlivro de memóriase aterminaispacote para fazê-lo funcionar?

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

Responder1

Há um bug no arquivo de estilo endheads. Ele contém estas linhas:

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

Isso está claramente errado, pois \makeevenfoote \makeoddfootusa quatro argumentos como \makeevenheade \makeoddhead, sendo o primeiro o nome do estilo de página.

Não consigo entender por que isso funciona com uma versão mais antiga do livro de memórias ;-)

Para ser honesto, presumo que o bug sempre existiu, endheadsmas memoirrecentemente verifiquei se o estilo de página existe. Como o vazio é o padrão, não há muito problema se os comandos não forem executados corretamente.

De qualquer forma, você deve reportar ao mantenedor do endheads.

Como uma solução rápida, você pode desabilitar as chamadas erradas antes \makeevenfoote \makeoddfootdepois de carregar endheadse depois chamar as corretas assim:

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

Infelizmente não existe um patch mais limpo, pois as declarações são chamadas diretamente no pacote, não como parte de um comando que poderia ser corrigido.

Certifique-se de remover esta correção rápida assim que uma versão correta do pacote for lançada.

Alternativamente, você pode fazer uma cópia local do arquivo de estilo e substituir imediatamente as declarações erradas. Novamente, lembre-se de excluir a cópia local assim que uma versão fixa do estilo for lançada.

Responder2

Corrigi o bug e uma nova versão dos endheads foi enviada ao CTAN. Deve estar pronto em um ou dois dias. Obrigado a todos pela ajuda!

informação relacionada