As notas de rodapé definidas com \newfootnoteseries não funcionam

As notas de rodapé definidas com \newfootnoteseries não funcionam

Estou tendo problemas com novas notas de rodapé definidas usando \newfootnoteseries. O seguinte MWE

\documentclass{memoir}
\newfootnoteseries{P}

\begin{document}

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

\end{document}

produz

Teste de nota de rodapé

ou seja, o primeiro \footnotePnão possui texto; o segundo apenas o \ss. O segundo também resulta no erro

/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.

Estou usando pdfTeX 3.141592653-2.6-1.40.25 e livro de memórias 2023/08/21 v3.8.1

Acho que o bug está em l. 8696,

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

O ##1deveria estar fora do}

Responder1

Inseto desagradável! A macro \@footnotetextPtermina com

\@nameuse {foottextfontP #1}

em seu corpo, em vez de

\@nameuse {foottextfontP}#1

portanto, o texto da nota de rodapé é tratado como parte de um nome de macro, em vez de ser composto, e a macro é indefinida, portanto \relaxé usada. No entanto, o \ssbit aciona um erro e eventualmente é digitado.

O erro está na linha 8696 domemoir.cls

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

qual deveria ser

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

Para o seu caso, você pode corrigir a macro gerada:

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

insira a descrição da imagem aqui

Arquive um relatório de bug.

informação relacionada