当引用定理环境时,您将获得由以下内容组成的输出只是定理的编号。我需要的是一个定理,当引用时,在数字旁边显示字母“T”(我使用“T”作为示例,但我可能想使用其他内容)。示例:
定理1。在豪斯多夫空间中,每个紧子空间都是封闭的。
T1 很重要,因为除其他外,它是证明从紧致到豪斯多夫的每个连续双射都是同胚的关键一步。
这里,T1 是对定理 1 的引用。
我怎样才能达到这个结果?
答案1
一种选择是定义\p@<cnt>
保存该定理环境所使用的计数器T
。<cnt>
LaTeX2e 提供了一个\labelformat{<cnt>}{<format>}
命令,可用于为计数器设置定制的参考格式<cnt>
。在 中<format>
,#1
将被替换为\the<cnt>
正常的计数器表示。
请看示例:
\documentclass{article}
\usepackage{amsmath}
\newtheorem{theo}{Theorem}
\labelformat{theo}{T#1}
\begin{document}
\begin{theo}\label{key}
content
\end{theo}
\ref{key}
\end{document}
更新:如果定理计数器与其他类定理环境共享
\documentclass{article}
\usepackage{aliascnt}
\newtheorem{theo}{Theorem}
\newaliascnt{lemma}{theo}
\newtheorem{lemma}[lemma]{Lemma}
\aliascntresetthe{lemma}
\labelformat{theo}{T#1}
\begin{document}
\begin{theo}\label{thm}
content
\end{theo}
\begin{lemma}\label{lem}
content
\end{lemma}
Theorem~\ref{thm} and Lemma~\ref{lem}
\end{document}
答案2
该cleveref
包允许这样的格式:
\documentclass{article}
\usepackage{amsthm}
\usepackage{hyperref}
\usepackage{cleveref}
\newtheorem{theo}{Theorem}
\newtheorem{lem}[theo]{Lemma}
\crefformat{theo}{#2T#1#3}
\crefformat{lem}{#2L#1#3}
\begin{document}
\begin{lem}\label{test}
A lemma
\end{lem}
\begin{theo}\label{key}
Content
\end{theo}
Consider \cref{key}, which has content. And \cref{test}.
\end{document}