我处于 restatable 的标准场景中:我在论文的简短版本中使用 restatable 陈述引理,其证明在附录中给出。在附录中,我想在给出其证明之前重述引理。
现在问题来了。我想用 $\spadesuit$ 来表示引理(简短版本),其证明在附录中。但是,我希望 $\spadesuit$ 只出现在简短版本中,而不是在附录中打印语句时第二次出现。我该如何实现这一点?
\documentclass{article}
\usepackage{amsthm,thmtools,thm-restate,amssymb}
\begin{document}
\begin{restatable}{lemma}{mylemma}[$\spadesuit$] \label{lem:mylemm}
$1+1=2$
\end{restatable}
\appendix
\mylemma*
\begin{proof}
We know that $2-1 = 1$, which shows the lemma.
\end{proof}
\end{document}
答案1
使用命令而不是明确的标记;您可以重新定义命令,\appendix
使其不产生任何内容。
\documentclass{article}
\usepackage{amsthm,thmtools,thm-restate,amssymb}
\newtheorem{lemma}{Lemma}
\newcommand{\restatemarker}{\textup{[$\spadesuit$]} \ignorespaces}
\AddToHook{cmd/appendix/after}{\renewcommand{\restatemarker}{}}
\begin{document}
\section{Main}
\begin{restatable}{lemma}{mylemma}\label{lem:mylemm}\restatemarker
$1+1=2$
\end{restatable}
\appendix
\section{Appendix}
\mylemma*
\begin{proof}
We know that $2-1 = 1$, which shows the lemma.
\end{proof}
\end{document}