
Muchos libros tienen encabezados en los que se pueden encontrar cómodamente las notas finales y las páginas a las que hacen referencia. Pueden estar al final de cada capítulo o al final del libro. Los encabezados consecutivos tienen el formato "Notas a las páginas xx-yy" para las notas finales. ElextremosEl paquete permite ejecutar encabezados de este formulario para elestándar,komascript, ymemoriaclases. Me funcionó hace algún tiempo con las memorias, pero ahora está roto y da un mensaje de error.Estilo de página indefinido. Este mwe se rompe cuando se activa el paquete endheads (y sus comandos de soporte). ¿Alguien puede sugerir qué se puede hacer al usarmemoriay elextremospaquete para que funcione?
\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}
Respuesta1
Hay un error en el archivo de estilo endheads
. Contiene estas líneas:
\@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{}{}{}
Esto es claramente incorrecto, ya que \makeevenfoot
y \makeoddfoot
toma cuatro argumentos como \makeevenhead
y \makeoddhead
, siendo el primero el nombre del estilo de página.
No puedo entender por qué esto funciona con una versión anterior de las memorias ;-)
Para ser honesto, asumo que el error siempre estuvo presente, endheads
pero memoir
recientemente estoy verificando si el estilo de página existe. Como el vacío es el valor predeterminado, no hace mucho mal si los comandos no se ejecutan correctamente.
De todos modos, debes informar al mantenedor de endheads
.
Como solución rápida, puede desactivar las llamadas incorrectas antes \makeevenfoot
y \makeoddfoot
antes de cargar endheads
y luego llamar a las correctas de esta manera:
\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}{}{}{}
Desafortunadamente, no existe un parche más limpio ya que las declaraciones se llaman directamente en el paquete, no como parte de un comando que pueda parchearse.
Asegúrese de eliminar esta solución rápida tan pronto como se publique una versión correcta del paquete.
Alternativamente, puede hacer una copia local del archivo de estilo y reemplazar las declaraciones incorrectas inmediatamente allí. Nuevamente, recuerde eliminar la copia local tan pronto como se publique una versión corregida del estilo.
Respuesta2
Solucioné el error y se envió una nueva versión de los cabezales a CTAN. Debería estar listo en aproximadamente un día. ¡Gracias a todos por su ayuda!