Como combinar notas de rodapé aninhadas com memórias?

Como combinar notas de rodapé aninhadas com memórias?

Quero implementar as notas de rodapé aninhadas que aparecem em uma única sequência, como emNotas de rodapé aninhadascom a aula de memórias. Embora a solução dada por Werner como resposta a essa pergunta funcione à primeira vista, por ser baseada nas definições da classe do artigo, ela elimina o recurso de notas de rodapé múltiplas nas memórias (semelhante a \usepackage[multiple]{footmisc}). O mwe abaixo mostra o problema. A formatação correta das notas de rodapé pode ser verificada comentando as redefinições de \footnotemarke \footnotetext.

\documentclass{memoir}

\usepackage{letltxmacro}

\newcounter{fnmarkcntr}
\newcounter{fntextcntr}
\makeatletter
\renewcommand{\footnotemark}{%
   \@ifnextchar[\@xfootnotemark
     {\stepcounter{fnmarkcntr}%
      \refstepcounter{footnote}\label{footnotemark\thefnmarkcntr}%
      \protected@xdef\@thefnmark{\thefootnote}%
      \@footnotemark}}
\makeatother
\LetLtxMacro{\oldfootnotetext}{\footnotetext}
\renewcommand{\footnotetext}[1]{%
  \refstepcounter{fntextcntr}
  \oldfootnotetext[\ref{footnotemark\thefntextcntr}]{#1}
}

\begin{document}

This text has footnotes%
\footnote{Which contains sub-footnotes\footnotemark% \multfootsep
\footnotemark that should be marked clearly as separate}%
\footnotetext{This footnote should be labeled `2'}%
\footnotetext{This footnote should be labeled `3'}%
\footnote{Another footnote}%

\end{document}

A saída possui notas de rodapé mal formatadas, tanto no texto principal quanto na primeira nota de rodapé: saída mwe

Sem os dois \renewcommands, obtemos a saída padrão que numera as notas de rodapé incorretamente: insira a descrição da imagem aqui

Acho que \m@makefootnotemark(e talvez outras macros) do livro de memórias precise ser modificado, mas sua definição (e uso) é muito complicada para eu descobrir a mudança necessária por analogia.

Responder1

Não tenho certeza se isso é motivo. Acho que o \labelcomando introduz espaço para atrapalhar a digitação de várias notas de rodapé. Este é um exemplo prático:

\documentclass{memoir}
\newcounter{myfn}
\newcounter{tpmyfn}
\makeatletter
\def\footnotemark{\@ifnextchar [\@xfootnotemark%
{\advance\c@myfn1\c@tpmyfn\numexpr\value{myfn}+\value{footnote}%
\protected@xdef\@thefnmark{\thetpmyfn}%
\@footnotemark}}
      
\def\footnotetext{%
     \@ifnextchar [\@xfootnotenext%
     {\stepcounter{footnote}\c@myfn0\protected@xdef\@thefnmark{\thempfn}%
    \@footnotetext}}
\makeatother
\begin{document}

This text has footnotes%
\footnote{Which contains sub-footnotes\footnotemark\footnotemark that should be marked clearly as separate}%
\footnotetext{This footnote should be labeled `2'}%
\footnotetext{This footnote should be labeled `3'}%
\footnote{Another footnote}%
\end{document}

insira a descrição da imagem aqui insira a descrição da imagem aqui

informação relacionada