![\ref 和 \autoref 之间有什么区别?](https://linux22.com/image/276921/%5Cref%20%E5%92%8C%20%5Cautoref%20%E4%B9%8B%E9%97%B4%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
我一直使用\ref
来指代带标签的物品,但我下载的 LaTeX 模板\autoref
却使用了 。两者有何区别?
答案1
\autoref
是来自包的命令hyperref
,用于自动将一些前缀添加到参考资料中。例如,如果您\label{sec:intro}
在介绍部分的命令后使用,该\autoref{sec:intro}
命令将输出“section X”,其中 X 是正确数字。
当然你可以想象前缀取决于标签所链接的对象的类型。如果是图形,它将输出“figure”等等。
请注意,您可以重新定义与给定对象类型关联的 autoref 命令的前缀。例如,对于以下部分,使用:
\def\sectionautorefname{New prefix for the sections}
更普遍,
\def\<type>autorefname{<new name>}
答案2
从以下示例中可以很容易看出差异:
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\begin{table}\centering
\caption{foo}\label{foo}
\tabular{c}
foo\\\hline
bar\\\hline
\endtabular
\end{table}
\begin{table}\centering
\caption{bar}\label{bar}
\tabular{c}
foo\\\hline
bar\\\hline
\endtabular
\end{table}
See Table~\ref{foo} and
\autoref{bar}
\end{document}