第 2 页enotez 包文档说
\endnote 在表格、小页面、浮动块和标题中运行良好。
然而,标记尾注似乎会导致问题。尝试引用该图最终会在标题中引用注释。有什么解决方法吗?作为附加问题,如果标记的尾注出现在方程式中(在 MWE 中注释掉),有没有什么方法可以避免灾难?
\documentclass{article}
\usepackage{amsmath}
\usepackage{enotez}
\begin{document}
\section{This is a section}
\label{sec}
The quick brown fox jumps over the lazy
dog.\endnote[a]{Actually, the dog is dead.}\label{nt1}
The section: \ref{sec}
The note: \ref{nt1}
\begin{figure}
\rule{4cm}{4cm}
\caption{Here is some modern art{\endnote[b]{How much would you like to
pay for it?}\label{nt2}}}
\label{fig:modern_art}
\end{figure}
The figure: \ref{fig:modern_art}
The note: \ref{nt2}
%% \begin{equation}\label{eqn}
%% A = B \endnote[c]{This is a really tricky equation}\label{nt3}
%% \end{equation}
%% The equation number: \ref{eqn}
%% The note: \ref{nt3}
\printendnotes
\end{document}
答案1
宏\label
使用上次调用 时设置的值\refstepcounter
。在本例中,上次调用\refstepcounter
before\label{fig:modern_art}
是由\endnote
而不是进行的\caption
。
该解决方案使用保存箱来将两\refstepcounter
\label
对分开。
由于这些值是在本地设置的,因此应该可以使用组来保持它们的顺序,但我迄今为止对组的实验还没有成功。事实上,它似乎是\endnote
在全局保存这些值。
\documentclass{article}
\usepackage{amsmath}
\usepackage{enotez}
\begin{document}
\section{This is a section}
\label{sec}
The quick brown fox jumps over the lazy
dog.\endnote[a]{Actually, the dog is dead.}\label{nt1}
The section: \ref{sec}
The note: \ref{nt1}
\begin{figure}
\rule{4cm}{4cm}
\sbox0{Here is some modern art{\endnote[b]{How much would you like to
pay for it?}\label{nt2}}}%
\caption{\usebox0}
\label{fig:modern_art}
\end{figure}
The figure: \ref{fig:modern_art}
The note: \ref{nt2}
%% \begin{equation}\label{eqn}
%% A = B \endnote[c]{This is a really tricky equation}\label{nt3}
%% \end{equation}
%% The equation number: \ref{eqn}
%% The note: \ref{nt3}
\printendnotes
\end{document}
另一个解决方案是将\label
标题放在前面\endnote
:
\caption{\label{fig:modern_art}Here is some modern art{\endnote[b]{How much would you like to
pay for it?}\label{nt2}}}