我想提出定理(比如说定理 1)的第二个版本,并将其表示为定理 1'。我认为最好的方法可能是定义一个新的定理风格或环境?问题是,我希望这个新的定理环境是完全相同的为默认值,除了在定理编号后面添加了破折号。此外,如果我将一个附加\label
到定理,我希望在通过以下方式引用它时,破折号会作为定理编号的一部分出现:\ref
。不幸的是我不知道该如何解决这个问题,部分原因是我不知道标准定理环境的默认设置,例如间距等。
举个例子,我想
\begin{dashedtheorem}[theorem title] TEXT... \end{dashedtheorem}
翻译成
定理 1'(定理标题)。文本...
我意识到这个问题可能已经被问过了,例如新定理风格,但我找不到足以帮助我的答案。
我将非常感激任何能帮助我的!
编辑:也可以看看具有手动定理编号的新定理环境。
答案1
使用manualtheorem
我给你的另一个答案。没有必要将引理紧跟在原定理之后;它也可以位于原定理之前,因为我们使用了\label
-\ref
机制。
\documentclass{article}
\usepackage{amsthm}
\newtheorem{theorem}{Theorem}
\newtheorem{manualtheoreminner}{Theorem}
\newenvironment{manualtheorem}[1]{%
\renewcommand\themanualtheoreminner{#1}%
\manualtheoreminner
}{\endmanualtheoreminner}
\begin{document}
\begin{theorem}\label{foo}
This is a theorem.
\end{theorem}
\begin{manualtheorem}{\ref{foo}'}\label{baz}
This is a theorem.
\end{manualtheorem}
Here is \ref{foo} and \ref{baz}.
\end{document}
如果你已经hyperref
加载,你应该使用
\begin{manualtheorem}{\ref*{foo}}
以免产生错误的超链接。
答案2
我们只需要创建一个新的计数器并对其进行修改,以便它总是在数字后面打印一个破折号。
\documentclass{article}
\usepackage{amsthm}
% New counter that is printed like 1'
\newcounter{countD}
\renewcommand{\thecountD}{\arabic{countD}'}
\newtheorem{theorem}{Theorem}
\newtheorem{theoremD}[countD]{Theorem}
\begin{document}
\begin{theoremD}[\textbackslash o/]
lorem ipsum
\label{theoD}
\end{theoremD}
% Set the number of the following theorem to the value 7, if you want to:
\setcounter{countD}{7}\addtocounter{countD}{-1}
\begin{theoremD}[\textbackslash o/]
lorem ipsum
\label{theoDD}
\end{theoremD}
\begin{theorem}[\textbackslash o/]
lorem ipsum
\label{theo}
\end{theorem}
We have the theorems \ref{theoD}, \ref{theoDD} and \ref{theo}.
\end{document}