我有一个定义,以及一个引用整个定义的脚注。因此,我理想情况下希望输出类似于以下内容:
定义 1.5 3。 脚注是一个小的附注,通常放在页面的底部,并用正文中的标签标记。
3有些人认为脚注是一种不好的文体。
有没有好的方法可以得到脚注标记的这种位置?以下两种方法都不对(原因很明显):
\begin{definition}\footnote{Footnote text.} We define \ldots
\begin{definition}[\footnote{Footnote text.}] We define \ldots
我正在使用amsthm
,但如果没有它,答案也会很有趣。
答案1
更改组内的定义,\thetheorem
以便包含所需的脚注。(我\apptocmd
使用电子工具箱包来修改定义,而无需查看原始定义的细节。)
\documentclass{article}
\usepackage{amsthm}
\newtheorem{theorem}{Theorem}
\usepackage{etoolbox}
\begin{document}
\begingroup
\apptocmd{\thetheorem}{\protect\footnote{A footnote.}}{}{}
\begin{theorem}
Some text.
\end{theorem}
\endgroup
\begin{theorem}
Some text.
\end{theorem}
\end{document}
编辑:有趣的是,这似乎只适用于amsthm
。
答案2
我没有足够的声誉来对前面的答案添加评论,所以让我添加以下内容作为答案。
我发现 Philippe Goutet 在对 lockstep 答案的评论中说的话是正确的,即在引用该定理时也出现了脚注。也许其他人很清楚如何实现 Philippe 的修复,但对我来说却不是:似乎还需要在某处添加类似\makeatletter
...的内容\makeatother
。因此,以下版本的 lockstep 答案对我来说是有效的。
\documentclass{article}
\usepackage{amsthm}
\newtheorem{theorem}{Theorem}
\usepackage{etoolbox}
\begin{document}
\begingroup
\makeatletter
\apptocmd{\thetheorem}{\unless\ifx\protect\@unexpandable@protect\protect\footnote{A footnote.}\fi}{}{}
\makeatother
\begin{theorem}\label{mainthm}
Some text.
\end{theorem}
\endgroup
Compare the following to Theorem \ref{mainthm}.
\begin{theorem}
Some text.
\end{theorem}
\end{document}
结果:
我不知道是否有更好的地方来插入命令,但上述命令似乎有效。