我希望使用 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}