Mit \newfootnoteseries definierte Fußnoten funktionieren nicht

Mit \newfootnoteseries definierte Fußnoten funktionieren nicht

Ich habe Probleme mit neuen Fußnoten, die mit definiert wurden \newfootnoteseries. Die folgenden MWE

\documentclass{memoir}
\newfootnoteseries{P}

\begin{document}

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

\end{document}

produziert

Fußnotentest

d. h., der erste \footnotePhat keinen Text; der zweite nur den \ss. Der zweite führt auch zu dem Fehler

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

Ich verwende pdfTeX 3.141592653-2.6-1.40.25 und Memoir 2023/08/21 v3.8.1

Ich denke, der Fehler liegt auf l. 8696,

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

Das ##1sollte außerhalb der}

Antwort1

Böser Fehler! Das Makro \@footnotetextPendet mit

\@nameuse {foottextfontP #1}

in seinem Körper, statt

\@nameuse {foottextfontP}#1

Der Fußnotentext wird also als Teil eines Makronamens behandelt, anstatt gesetzt zu werden. Da das Makro nicht definiert ist, \relaxwird es stattdessen verwendet. Das \ssBit löst jedoch einen Fehler aus und wird schließlich gesetzt.

Der Fehler liegt in Zeile 8696 vonmemoir.cls

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

Das sollte sein

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

Für Ihren Fall können Sie das generierte Makro patchen:

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

Bildbeschreibung hier eingeben

Senden Sie einen Fehlerbericht.

verwandte Informationen