有没有什么方法可以使用 amsthm 来引用命题?

有没有什么方法可以使用 amsthm 来引用命题?

我正在使用\usepackage{amsthm}创建命题。在我的 下\begin{document},我有

\theoremstyle{definition}
\newtheorem{thm}{Theorem}[section]
\newtheorem{defn}[thm]{Definition}
\newtheorem{lem}[thm]{Lemma}
\newtheorem{cor}[thm]{Corollary}
\newtheorem{conj}[thm]{Conjecture}
\newtheorem{prop}[thm]{Proposition}
\newtheorem{alg}[thm]{Algorithm}

因此,如果我想在文档中提出一个命题,我只需写下\begin{prop} (stuff) \end{prop}。到目前为止,一切都很顺利。但假设我想引用一个特定的命题(例如命题 2.11)。我可以找到它的指定编号并写下来,但如果我将来添加新的命题,那么编号就会全部被破坏。有没有办法我可以为命题分配关键字或其他东西并写下类似“根据\prop{EulersTheorem},它遵循...”的内容

答案1

有关 LaTeX 创建交叉引用的基本方法的一般介绍以及各种交叉引用包的概述,请参阅帖子交叉引用包:使用哪个,哪些有冲突[无耻的自我引用警报!]。

如果您要交叉引用定理、引理、命题等的单个实例,您只需加载包cleveref并写入\cref{EulersTheorem}而不是,\ref{EulersTheorem}以便获取名称标签和命题的编号。如果您有机会在一个\cref指令中创建两个或更多定理、引理、命题等的实例,则有必要cleveref通过指令告知标签的复数形式\crefname。如何执行此操作如以下示例文档所示。

在此处输入图片描述

请注意,所有交叉引用都是通过单个\cref语句生成的。

\documentclass{article} % or some other suitable document class
\usepackage{multicol}
\usepackage{amsthm} % for '\theoremstyle' and '\newtheorem' macros
\usepackage[colorlinks,allcolors=blue]{hyperref}
\usepackage[nameinlink,noabbrev]{cleveref}

% The following \crefname declarations are needed only
% if your cross-references contain plural items
\crefname{thm}{theorem}{theorems}
\crefname{defn}{definition}{definitions}
\crefname{lem}{lemma}{lemmas} % or 'lemmata'?
\crefname{cor}{corollary}{corollaries} 
\crefname{conj}{conjecture}{conjectures}
\crefname{prop}{proposition}{propositions}
\crefname{alg}{algoirithm}{algorithms}

\theoremstyle{definition}
\newtheorem{thm}{Theorem}[section]
\newtheorem{defn}[thm]{Definition}
\newtheorem{lem}[thm]{Lemma}
\newtheorem{cor}[thm]{Corollary}
\newtheorem{conj}[thm]{Conjecture}
\newtheorem{prop}[thm]{Proposition}
\newtheorem{alg}[thm]{Algorithm}

\begin{document}

\setcounter{section}{3}

\begin{multicols}{2}
\begin{thm}  AAA \label{thm:aaa}  \end{thm}
\begin{defn} BBB \label{defn:bbb} \end{defn}
\begin{lem}  CCC \label{lem:ccc}  \end{lem}
\begin{cor}  DDD \label{cor:ddd}  \end{cor}
\begin{conj} EEE \label{conj:eee} \end{conj}
\begin{prop} FFF \label{prop:fff} \end{prop}
\begin{alg}  GGG \label{alg:ggg}  \end{alg}
\begin{thm}  AAAA \label{thm:aaaa}  \end{thm}
\begin{defn} BBBB \label{defn:bbbb} \end{defn}
\begin{lem}  CCCC \label{lem:cccc}  \end{lem}
\begin{cor}  DDDD \label{cor:dddd}  \end{cor}
\begin{conj} EEEE \label{conj:eeee} \end{conj}
\begin{prop} FFFF \label{EulersTheorem} \end{prop}
\begin{alg}  GGGG \label{alg:gggg}  \end{alg}
\end{multicols}

\noindent
Cross-references to 
\cref{thm:aaa,defn:bbb,lem:ccc,cor:ddd,conj:eee,prop:fff,alg:ggg,%
thm:aaaa,defn:bbbb,lem:cccc,cor:dddd,conj:eeee,EulersTheorem,alg:gggg}.
\end{document}

相关内容