
問題是當我共享編號時\cref
無法顯示名稱,即使是通過\crefname
並\autoref
顯示所有名稱Equation
。
這是一個 MWE:
%&latex
\documentclass{amsart}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% If you want to insert other packages. Insert them here
\usepackage{amsthm}
\usepackage{hyperref}
\usepackage[nameinlink]{cleveref}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\numberwithin{equation}{section}
\newtheorem{The}[equation]{Theorem}
\crefname{The}{Theorem}{Theorems}
\newtheorem{Dfn}[equation]{Definition}
\newtheorem{Lem}[equation]{Lemma}
\newtheorem{Prs}[equation]{Proposition}
\newtheorem{Crl}[equation]{Corollary}
\newtheorem{Rmk}[equation]{Remark}
\begin{The}\label{T1}
Assume ...
\end{The}
...
\begin{Dfn}\label{D1}
Assume ...
\end{Dfn}
...
\begin{Lem}\label{L1}
Assume ...
\end{Lem}
...
\begin{Prs}\label{P1}
Assume ...
\end{Prs}
...
\begin{Crl}\label{C1}
Assume ...
\end{Crl}
...
\begin{Rmk}\label{R1}
Assume ...
\end{Rmk}
\begin{equation}\label{E1}
Assume ... \bigskip
\end{equation}
\noindent
\cref{T1} \\
\cref{D1} \\
\cref{L1} \\
\cref{P1} \\
\cref{C1} \\
\cref{R1} \\
\cref{E1} \\
\noindent
\autoref{T1} \\
\autoref{D1} \\
\autoref{L1} \\
\autoref{P1} \\
\autoref{C1} \\
\autoref{R1} \\
\autoref{E1} \\
\end{document}
我該如何解決?
答案1
如果您想cleveref
正確取得類似定理的環境的名稱,則\newtheorem
必須進行聲明前,而不是在\begin{document}
聲明之後。就是這樣@leandriis試圖在評論中告訴你。
\documentclass{amsart}
%\usepackage{amsthm} % is loaded automatically by 'amsart' class
\usepackage[colorlinks]{hyperref}
\usepackage[nameinlink]{cleveref}
\numberwithin{equation}{section}
\newtheorem{The}[equation]{Theorem}
\newtheorem{Dfn}[equation]{Definition}
\newtheorem{Lem}[equation]{Lemma}
\newtheorem{Prs}[equation]{Proposition}
\newtheorem{Crl}[equation]{Corollary}
\newtheorem{Rmk}[equation]{Remark}
\begin{document}
\setcounter{section}{2} % just for this example
\begin{The}\label{T1} Assume \dots \end{The}
\begin{Dfn}\label{D1} Assume \dots \end{Dfn}
\begin{Lem}\label{L1} Assume \dots \end{Lem}
\begin{Prs}\label{P1} Assume \dots \end{Prs}
\begin{Crl}\label{C1} Assume \dots \end{Crl}
\begin{Rmk}\label{R1} Assume \dots \end{Rmk}
\begin{equation}\label{E1} 1+1=2 \end{equation}
\bigskip\noindent
\cref{T1,D1,L1,P1,C1,R1,E1}
\end{document}