Las notas al pie definidas con \newfootnoteseries no funcionan

Las notas al pie definidas con \newfootnoteseries no funcionan

Tengo problemas con las nuevas notas a pie de página definidas mediante \newfootnoteseries. El siguiente MWE

\documentclass{memoir}
\newfootnoteseries{P}

\begin{document}

\footnote{Test1}
\footnoteP{Test2}
\footnoteP{Test3\ss}

\end{document}

produce

prueba de nota al pie

es decir, el primero \footnotePno tiene texto; el segundo solo el \ss. El segundo también resulta en el error.

/home/zach/tex/cwrc/sandbox/footnotetest.tex:8: Missing \endcsname inserted.
<to be read again> 
                   \OT1\ss 
l.8 \footnoteP{Test3\ss}
                        
The control sequence marked <to be read again> should
not appear between \csname and \endcsname.

/home/zach/tex/cwrc/sandbox/footnotetest.tex:8: Extra \endcsname.
\@nameuse #1->\csname #1\endcsname 
                                   
l.8 \footnoteP{Test3\ss}
                        
I'm ignoring this, since I wasn't doing a \csname.

Estoy usando pdfTeX 3.141592653-2.6-1.40.25 y memorias 2023/08/21 v3.8.1

Creo que el error está en l. 8696,

      \rule\z@\footnotesep\ignorespaces\@nameuse{foottextfont#1 ##1}%

El ##1debe estar fuera del}

Respuesta1

¡Bicho desagradable! La macro \@footnotetextPtermina con

\@nameuse {foottextfontP #1}

en su cuerpo, en lugar de

\@nameuse {foottextfontP}#1

por lo tanto, el texto de la nota al pie se trata como parte del nombre de una macro, en lugar de estar compuesto, y la macro no está definida, por lo que \relaxse usa en su lugar. Sin embargo, el \ssbit genera un error y finalmente se compone.

El error está en la línea 8696 dememoir.cls

      \rule\z@\footnotesep\ignorespaces\@nameuse{foottextfont#1 ##1}%

cual debería ser

      \rule\z@\footnotesep\ignorespaces\@nameuse{foottextfont#1}##1%

Para su caso, puede parchear la macro generada:

\documentclass{memoir}
\usepackage{xpatch}

\newfootnoteseries{P}

\makeatletter
\xpatchcmd\@footnotetextP
  {\@nameuse {foottextfontP #1}}
  {\@nameuse {foottextfontP}#1}
  {}{}
\makeatother

\begin{document}

\footnote{Test1}
\footnoteP{\unexpanded{Test2}}
\footnoteP{\unexpanded{Test3\ss}}

\end{document}

ingrese la descripción de la imagen aquí

Presentar un informe de error.

información relacionada