我想创建以下形式的两个定理样式:定理 A1 [在此处插入定理]
定理 A2 [在此处插入定理]
定理 B1 [在此插入定理]
定理 B2 [在此处插入定理]
等等。使用以下命令可相当直接地完成此操作\newtheorem
:
\documentclass[12pt]{extarticle}
\usepackage{amsthm}
\usepackage{hyperref}
\newtheoremstyle{theorem}{4mm}{1mm}{\itshape}{ }{\bfseries}{.}{ }{}
\theoremstyle{theorem}
\newtheorem{theoremA}{Theorem A\ignorespaces}
\newtheorem{theoremB}{Theorem B\ignorespaces}
\begin{document}
\begin{theoremA}\label{thm:A1}
This is a theorem of type A.
\end{theoremA}
\begin{theoremA}\label{thm:A2}
This is another theorem of type A.
\end{theoremA}
\begin{theoremB}\label{thm:B1}
This is a theorem of type B.
\end{theoremB}
\begin{theoremB}\label{thm:B2}
This is another theorem of type B.
\end{theoremB}
\end{document}
得出:
定理 A1。 这是一个A型定理。
定理 A2。 这是另一个A型定理。
定理 B1。 这是一个B型定理。
定理 B2。 这是另一个B型定理。
因此代码返回了我想要的结果。然而,当我尝试交叉引用其中一个定理时,出现了问题。例如,如果我使用
定理
\ref{thm:A1}
返回
定理 1
而不是Theorem A1
。有人知道如何正确地交叉引用这种形式的定理吗?是否可以给定理起一个不显示的名称,以便我可以使用该命令\nameref{thm:A1}
?一个快速而肮脏的解决方法是
定理A
\ref{thm:A1}
但是,使用该hyperref
包时,只有数字“1”周围会出现一个红色框。我更喜欢整个表达式“定理 A1”周围都出现一个红色框。
答案1
这封信应该是柜台代表的一部分。
\newtheorem{theoremA}{Theorem}
\renewcommand{\thetheoremA}{A\arabic{theoremA}}
\newtheorem{theoremB}{Theorem}
\renewcommand{\thetheoremB}{B\arabic{theoremB}}