我使用该theomac.sty
文件是因为能够让相同的定理出现在.tex
文件中的几个不同位置,而无需复制它,同时仍然具有相同的编号(例如,定理陈述可以出现在某个部分,然后证明可以再次出现在附录中,并附上定理的陈述)。
其工作方式如下:
\begin{replemma}[\lemmaC]
lemma here
\end{replemma}
然后,每当我想要再次粘贴词根时,我都可以使用\lemmaC
。
replemma 在文件开头定义.tex
为:
\let\replemma=\lemma
\let\endreplemma=\endlemma
\makeatletter
\@newtheoremWithMacro{replemma}{lemma}%
\makeatother
我遇到的问题有两个方面。1. 如果我在定理第一次出现时有一个脚注,那么每次使用时都会添加这个脚注\lemmaC
。不过,我希望脚注只出现在第一次实例中。2. 如果我引用引理中出现的方程,那么方程前面会加上该定理的章节编号最后的出现,而不是第一次出现(我使用按节编号的方程式)。这意味着,无论我在哪里引用引理中出现的方程式,它都会以附录前缀 A.2 出现,而不是 4.2(它第一次出现在第 4 节)。有什么想法可以解决这两个问题吗?
答案1
正如 egreg 所提到的,thm工具包可以让你轻松处理这两个问题(参见第 1.4 节重复定理文档)。 一个小例子:
\documentclass{article}
\usepackage{amsmath,amsthm}
\usepackage{thmtools,thm-restate}
\declaretheorem{theorem}
\numberwithin{equation}{section}
\begin{document}
\noindent\begin{minipage}{\textwidth}% just for the example
\section{Test section one}
\begin{restatable}{theorem}{lastfermat}
\label{thm:fermat}%
The Diophantine\footnote{after Diophantus of Alexandria} equation
\begin{equation}\label{eq:1}
x^n + y^n = z^n,
\end{equation}
where $x$, $y$, $z$, and $n$ are integers, has no nonzero solutions for $n>2$.
\end{restatable}
\section{Test section two}
{\renewcommand\footnote[1]{}\lastfermat*}
Equation~\ref{eq:1} in Theorem~\ref{thm:fermat}...
\end{minipage}
\end{document}
注意括住 的重新定义的括号\footnote
,以使其保持局部性。我minipage
仅使用了 来缩短示例。
答案2
我不知道 theomac;但围绕重复
\begingroup\renewcommand\footnote[1]{}
<the commands for repeating the theorem>
\endgroup
应能抵消其影响。
考虑使用非常强大的包thm工具。