我的 MWE 是这样的:
\documentclass{article}
\usepackage{endfloat}
\usepackage{enotez}
\begin{document}
\endnote{First endnote}
\begin{figure}
\caption{Hi! \endnote{Second endnote}}
\end{figure}
\endnote{Third endnote}
\printendnotes
\end{document}
正如您在注释列表中看到的,第二个尾注丢失了,没有任何警告或错误消息。我当然可以接受这种极端情况下的功能减少,但我想知道这种情况在没有通知用户的情况下发生是故意的/已知的还是被认为是错误。
编辑:降低 MWE 以使其独立于endfloat
:
\documentclass{article}
\usepackage{enotez}
\begin{document}
\endnote{Good endnote}
\printendnotes
\endnote{Missing endnote}
\end{document}
答案1
如果您指定\printendnotes
,它会关闭自动打印\AtEndDocument
。因此\endnote
标题中的 执行得太晚了。此外,如果您不指定短标题,您将得到两个尾注(3 和 4)。
\documentclass{article}
\usepackage{endfloat}
\usepackage{enotez}
\begin{document}
\endnote{First endnote}
\begin{figure}
\caption[Hi!]{Hi! \endnote{Second endnote}}
\end{figure}
\endnote{Third endnote}
\processdelayedfloats
\printendnotes
\end{document}
如果您希望尾注出现在尾浮动之前,则可以使用保存框(每个包含尾注的图形一个)。
\documentclass{article}
\usepackage{endfloat}
\usepackage{enotez}
\makeatletter
\newcommand{\setcaptype}[1]% #1 = figure or table
{\def\@captype{#1}}
\makeatother
\newsavebox{\figureA}
\begin{document}
\endnote{First endnote}
\savebox{\figureA}{\begin{minipage}{\columnwidth}
\setcaptype{figure}% or use \captionof from caption or capt-of packages
\caption[Hi!]{Hi! \endnote{Second endnote}}
\end{minipage}}%
\begin{figure}
\usebox\figureA
\end{figure}
\endnote{Third endnote}
\printendnotes
\end{document}