\autoref
只产生一个数字。如何让它包含定理/命题/引理?
目前我有:
\theoremstyle{plain}
\newtheorem{thm}{Theorem}[section]
\newtheorem{prop}[thm]{Proposition}
\newtheorem{lem}[thm]{Lemma}
\begin{thm}
\label{Main}
\end{thm}
The following Proposition will help prove \autoref{Main}.
答案1
如果您拥有共享计数器的结构,则需要做更多工作:该包aliascnt
提供了一种方法来生成模拟的第二个计数器,以便区分共享计数器的不同结构。举个小例子:
\documentclass{article}
\usepackage{amsthm}
\usepackage{aliascnt}
\usepackage{hyperref}
\newtheorem{theo}{Theorem}
\newaliascnt{lemma}{theo}
\newtheorem{lemma}[lemma]{Lemma}
\aliascntresetthe{lemma}
\providecommand*{\theoautorefname}{Theorem}
\providecommand*{\lemmaautorefname}{Lemma}
\begin{document}
\begin{theo}
\label{aaa}
test
\end{theo}
\begin{lemma}
\label{bbb}
test
\end{lemma}
\autoref{aaa}\autoref{bbb}
\end{document}
特别注意线条
\newaliascnt{lemma}{theo}
\newtheorem{lemma}[lemma]{Lemma}
\aliascntresetthe{lemma}
特别注意,对于结构lemma
,可选参数具有上面一行中定义的别名计数器,而不是定理的计数器。
使用cleveref
可能是一个更简单的选择:
\documentclass{article}
\usepackage{amsthm}
\usepackage{hyperref}
\usepackage{cleveref}
\newtheorem{theo}{Theorem}
\newtheorem{lemma}[theo]{Lemma}
\begin{document}
\begin{theo}
\label{aaa}
test
\end{theo}
\begin{lemma}
\label{bbb}
test
\end{lemma}
\Cref{aaa}\Cref{bbb}
\cref{aaa}\cref{bbb}
\end{document}