Cleveref - 使用縮寫和完整參考名稱

Cleveref - 使用縮寫和完整參考名稱

我想知道是否可以在cleveref套件中使用這兩個選項(完整的參考名稱和參考名稱的縮寫)。

目前的情況是一個文檔,其中包含文字模式中的引用和=數學模式中符號上方的引用(例如,在下面的範例中)。理想情況下,我希望在文字模式下使用完整的參考名稱(Theorem 0.1),而在某些情況下使用縮寫版本(Thm.0.1 或類似的名稱),例如$\stackrel{\text{\Cref{th:theorem1}}}{=}$由於在=標誌上方列印參考文獻所需的空間。

有誰知道如何實現這一目標?

下面是一個最小的工作範例:

\documentclass[a4paper,english]{scrbook}
\usepackage{amsthm}
\usepackage{amsmath}
\usepackage[nameinlink, noabbrev]{cleveref}

\newtheorem{theorem}{Theorem}[chapter]
\newtheorem*{theorem*}{Theorem}

\begin{document}
\begin{theorem}\label{th:theorem1}
If $A$ is closed, then $A$ is closed.
\end{theorem}
\begin{proof}
Left to the reader.
\end{proof}

In \Cref{th:theorem1} we have seen that ...

\begin{equation}
a + b \stackrel{\text{\Cref{th:theorem1}}}{=} 0\,.
\end{equation}
\end{document}

答案1

感謝 Leandriis 給予的提示:smartef-同時使用縮寫和完整形式的參考文獻?

此修改後的解決方案適用於縮寫形式\Cref\cref非縮寫形式:

\usepackage[nameinlink, noabbrev]{cleveref}

\DeclareRobustCommand{\abbrevcrefs}{%
\Crefname{theorem}{Thm.}{Thms.}%
\Crefname{example}{Ex.}{Exs.}%
\crefname{equation}{eqn.}{eqns.}%
}

\DeclareRobustCommand{\Cshref}[1]{{\abbrevcrefs\Cref{#1}}}
\DeclareRobustCommand{\cshref}[1]{{\abbrevcrefs\cref{#1}}}

我希望這會有所幫助。

相關內容