我正在使用包thmbox
来编写定理。如果我在定理主体中包含footnote
或,则会出现以下问题:的文本完全缺失,而产生错误,然后的文本也缺失。使用带有 optin 的包也会发生同样的情况。似乎第一个问题可以按照中的答案解决marginpar
footnote
marginpar
Float(s) lost.
marginpar
thmtools
thmbox
这个问题。还有更好的解决方案吗?第二个问题怎么办?下面是一个例子。
\documentclass{article}
% LaTeX original ==> OK
%\newtheorem{theorem}{Theorem}
% package thmbox ==> wrong
\usepackage{thmbox}
\newtheorem{theorem}{Theorem}
% package thmtools with option thmbox ==> wrong
%\usepackage{thmtools}
%\declaretheorem[thmbox=M]{theorem}
\begin{document}
\begin{theorem}
Marginpar\marginpar{marginpar.}
Footnote\footnote{footnote.}
\end{theorem}
\end{document}
答案1
你可以“滥用”tablefootnote 包添加\spewnotes
命令(详细说明\spewnotes
请参见https://tex.stackexchange.com/a/39500/6865)。
\documentclass{article}
\usepackage{thmbox}
\newtheorem{theorem}{Theorem}
\usepackage{marginnote}
\usepackage{hyperref}
\usepackage{tablefootnote}
\makeatletter
\newcommand{\spewnotes}{%
\tfn@tablefootnoteprintout%
\global\let\tfn@tablefootnoteprintout\relax%
\gdef\tfn@fnt{0}%
}
\makeatother
\begin{document}
\begin{theorem}
Marginpar\marginnote{marginpar.}
Footnote\tablefootnote{footnote.}
Footnote\tablefootnote{another footnote.}
\end{theorem}
\spewnotes
Footnotes below.
\end{document}
说明为什么定理中的脚注不起作用已经由 egreg 在他的回答中给出,因此我不再重复。
答案2
thmbox
包括方框内的定理陈述,脚注不能出现在那里;尝试
\mbox{a footnote\footnote{Missing}}
也会发生同样的情况\marginpar
,因为它使用与 相同的机制\footnote
。
您可以使用\footnotemark
和\footnotetext
,如 LaTeX 指南中所述。对于包中\marginpar
的:\marginnote
marginnote
\documentclass{article}
\usepackage{thmbox}
\newtheorem{theorem}{Theorem}
\usepackage{marginnote}
\begin{document}
\begin{theorem}
Marginpar\marginnote{marginpar.}
Footnote\footnotemark
\end{theorem}
\footnotetext{footnote.}
\end{document}