更改定理环境引用的输出

更改定理环境引用的输出

当引用定理环境时,您将获得由以下内容组成的输出只是定理的编号。我需要的是一个定理,当引用时,在数字旁边显示字母“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}

在此处输入图片描述

相关内容