软件包 thmbox 或软件包 thmtools 中带有选项 thmbox 时缺少脚注和边距

软件包 thmbox 或软件包 thmtools 中带有选项 thmbox 时缺少脚注和边距

我正在使用包thmbox来编写定理。如果我在定理主体中包含footnote或,则会出现以下问题:的文本完全缺失,而产生错误,然后的文本也缺失。使用带有 optin 的包也会发生同样的情况。似乎第一个问题可以按照中的答案解决marginparfootnotemarginparFloat(s) lost.marginparthmtoolsthmbox这个问题。还有更好的解决方案吗?第二个问题怎么办?下面是一个例子。

\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的:\marginnotemarginnote

\documentclass{article}

\usepackage{thmbox}
\newtheorem{theorem}{Theorem}
\usepackage{marginnote}

\begin{document}

\begin{theorem}
     Marginpar\marginnote{marginpar.}
     Footnote\footnotemark
\end{theorem}
\footnotetext{footnote.}

\end{document}

相关内容