\figurename
定理和引理有等价的吗?
例如,鉴于我已经定义
\newtheorem{theorem}{Theorem}
\newtheorem{lemma}{Lemma}
\newtheorem{example}{Example}
并且在代码中我定义了一个示例和一个图形,我很乐意避免使用Theorem~\ref
,以防我需要将其更改为引理:
\begin{theorem}
\label{th:first}
With reference to \figurename~\ref{fig:example}.
\end{theorem}
\begin{theorem}
\label{th:second}
With reference to \figurename~\ref{fig:example} and \theoremname~\ref{th:first}
\end{theorem}
是否可以?
答案1
cleveref
是您在这里的朋友 - 无需在这里定义- 它已经为许多用例\theoremname
定义了。cleveref
用于\cref
小写名称和\Cref
大写名称。
对于特殊名称,最初没有线索\cleveref
提供正确的名称,在这种情况下使用设置命令\crefname
和\Crefname
。
这里不需要和,因为已经将它们定义为,但可能不在任何所需的语言中,或者有必要使用另一个,也就是说——这不是预定义的,所以我决定展示如何做到这一点\crefname
。\Crefname
example
cleveref
example
theorem
footheorem
\documentclass{article}
\usepackage{amsthm}
\newtheorem{theorem}{Theorem}
\newtheorem{lemma}{Lemma}
\newtheorem{example}{Example}
\usepackage{cleveref}
% Not really needed!
\crefname{example}{example}{examples}
\Crefname{example}{Example}{Examples}
\begin{document}
\begin{figure}
\caption{foo}\label{fig:example}
\end{figure}
\begin{theorem}
\label{th:first}
With reference to \cref{fig:example}.
\end{theorem}
\begin{theorem}
\label{th:second}
With reference to \Cref{fig:example} and \Cref{th:first}, but see \Cref{ex:first} also
\end{theorem}
\begin{example}
\label{ex:first}
With reference to \Cref{fig:example} and \Cref{th:first}.
\end{example}
\end{document}