可能重复:
如何获取更完整的参考文献
有没有办法在 LaTeX 中自动识别交叉引用类型?例如,请参阅下面的代码
\begin{lemma}\label{triangle}%
\[
a^{2}=b^{2}+c^{2}\text{.}%
\]
\end{lemma}
\begin{theorem}
\bigskip From \ref{triangle}, we have
\[
E=mc^{2}\text{.}%
\]
\end{theorem}
可以看到,当我在定理中引用引理时,编译出来的 pdf 文件中 LaTeX 只显示了引理的编号。其实我希望 LaTeX 可以识别引用类型,比如当我引用一个引理时,编译出来的 pdf 文件中 LaTeX 会自动显示引理及其编号(比如引理 2.1,而不只是这个引理的编号 2.1);当我引用一个定理时,编译出来的 pdf 文件中 LaTeX 会自动显示定理及其编号(比如定理 3.7,而不只是这个定理的编号 3.7)。
答案1
您可以使用cleveref
包。它能够根据参考文献的类型自动确定参考文献的格式。\crefname
您可以指定要使用的名称的单数和复数版本。
\documentclass{article}
\usepackage{cleveref}
\newtheorem{theorem}{Theorem}
\newtheorem{lemma}{Lemma}
\crefname{lemma}{lemma}{lemmas}
\usepackage{amsmath}
\begin{document}
\begin{lemma}\label{triangle}%
\[
a^{2}=b^{2}+c^{2}\text{.}%
\]
\end{lemma}
\begin{theorem}
\bigskip From \cref{triangle}, we have
\[
E=mc^{2}\text{.}%
\]
\end{theorem}
\end{document}