我尝试用定理 A 来标记一个定理。当我尝试引用它时,标签 A 没有显示:
\newtheorem*{thm*}{Theorem A}
\begin{document}
\begin{thm*}\label{A}
Let H be a group.
\end{thm*}
By Theorem~\ref{A} we have
当我尝试通过删除 * 来执行此操作时,该定理显示为(定理 A 1),而当引用它时,它显示为(定理 [1])。
\newtheorem{thm}{Theorem A}
\begin{document}
\begin{thm}\label{A}
Let H be a group.
\end{thm}
By Theorem~\ref{A} we have
问:我如何才能创建一个定理,使其以任意编号显示(例如,定理 K),同时,在引用它时将显示为(定理 K)。
答案1
将引用定义为您想要的。
\documentclass{article}
\usepackage{amsthm}
\newtheorem*{thm*}{Theorem A}
\makeatletter
\AtBeginEnvironment{thm*}{\def\@currentlabel{A}}
\makeatother
\begin{document}
\begin{thm*}\label{A}
Let H be a group.
\end{thm*}
By Theorem~\ref{A} we have
\end{document}
但如果有几个“命名定理”,这样做就会很麻烦。
\documentclass{article}
\usepackage{amsthm}
\newtheorem{namedthm}{Theorem}
\newenvironment{thm*}[1]{%
\renewcommand\thenamedthm{#1}%
\namedthm}{\endnamedthm}
\begin{document}
\begin{thm*}{A}\label{A}
Let H be a group.
\end{thm*}
\begin{thm*}{B}\label{B}
Let H be a group.
\end{thm*}
By Theorem~\ref{A} and Theorem~\ref{B} we have
\end{document}
这与 配合得很好cleveref
。
\documentclass{article}
\usepackage{amsthm}
\usepackage{cleveref}
\newtheorem{namedthm}{Theorem}
\newenvironment{thm*}[1]{%
\renewcommand\thenamedthm{#1}%
\namedthm}{\endnamedthm}
\begin{document}
\begin{thm*}{A}\label{A}
Let H be a group.
\end{thm*}
\begin{thm*}{B}\label{B}
Let H be a group.
\end{thm*}
By \Cref{A} and \Cref{B} we have
\end{document}