使用 enotez 获取末尾的尾注和每页的脚注(就像我们以前从 endnotes 包中获取的那样)

使用 enotez 获取末尾的尾注和每页的脚注(就像我们以前从 endnotes 包中获取的那样)

我希望使用 enotez 包重现以下内容:

\documentclass{article}
\usepackage{endnotes}

\begin{document}

My text\footnote{my footnote}

\newpage

\theendnotes

\end{document}

以上为我提供了脚注尾注。

我的尝试:

\documentclass{article}
\usepackage{enotez}

\begin{document}

My text\footnote{my footnote}

\newpage

\printendnotes

\end{document}

这给了我的仅有的脚注。

\documentclass{article}
\usepackage{enotez}
\let\footnote=\endnote

\begin{document}

My text\footnote{my footnote}

\newpage

\printendnotes

\end{document}

这给了我的仅有的尾注。

如何得到脚注和尾注来自 enotez 包?

答案1

您可以定义\footnote发出\footnote\endnote;这当然需要使用原始命令的别名\footnote

\documentclass{article}

\usepackage[papersize={52mm,74mm}]{geometry} % just to make a smaller picture

\usepackage{enotez}

\NewCommandCopy{\enotezfootnote}{\footnote}
\RenewDocumentCommand{\footnote}{om}{%
 \IfNoValueTF{#1}
   {\enotezfootnote{#2}\endnote{#2}}
   {\enotezfootnote[#1]{#2}\endnote[#1]{#2}}%
}
\makeatletter
\setenotez{mark-cs=\@gobble}
\makeatother

\begin{document}

My text\footnote{my footnote}

My text\footnote{my second footnote}

\clearpage
\printendnotes

\end{document}

在此处输入图片描述

答案2

以下是我们在 Latex-2 中实现此目的的方法。\footnote 需要参数。我在重新定义它时只使用了强制参数。您能告诉我如何像您在回答 @egreg 中那样检查可选的第一个参数吗?

\documentclass{article}

\usepackage{enotez}

\let\oldfootnote\footnote
\renewcommand{\footnote}[1]{
  \oldfootnote{#1}\endnote{#1}
}

% Without this we get ***two*** marks, one from the footnote
% and one from the endnote. This disables the endnote mark.

\makeatletter
\setenotez{mark-cs=\@gobble}
\makeatother


\begin{document}

My text\footnote{my footnote}
My text\footnote{my second footnote}

\clearpage
\printendnotes

\end{document}

相关内容