如何使 \ref 引用包含单词“Figure”?

如何使 \ref 引用包含单词“Figure”?

可能重复:
表格、图片和列表前缀
自动插入“章节、小节等”

我正在使用包hyperref。引用我的图时,我目前使用如下代码

Figure \ref{fig:chorus-overview} gives an overview of the basic concept.

因为\ref只会产生一个整数1,而不是Figure 1

但是,单词Figure是针对图形环境标题自动生成的,因此当使用诸如 之类的包时[ngerman]{babel},它会被Abbildung替换,并且我需要在引用之前修复文本。

有没有办法可以Figure 1通过\ref或类似的命令直接获取文本?

编辑

除了 Sveinung 的答案中描述的步骤(使用 hyperref 中的 \autoref 或 cleveref 中的 \cref)之外,我还需要确保将标签正如 Werner 指出的那样,图形环境中的标题,并包括 babelhyperref/cleveref。

\nameref它不能满足我的需要,因为它复制的是标题的文本。

答案1

加载包cleveref并将你的更改\ref{label}\cref{label}。如果你希望包含标签名称(章节、部分ETC) 在使用 cleveref 时的超链接中,您可以将选项传递nameinlink给 cleveref 包,请参阅第 10 页cleveref-手册

作为埃格尔强调,cleveref必须在之后加载该包hyperref

你也可以使用-package\autoref中的命令hyperref,只需将你的\ref{label}命令改为 即可\autoref{label}。请参阅hyperref手册第 15 页。

如果我误解了你的意思,而问题在于你想要的是英语单词Figure而不是德语单词Abbildung,那么你有两种可能性:

  1. 如果您的文本是英文,请babel使用选项UKenglish而不是加载,或者ngerman
  2. 如果您的文本是德语,但您仍想使用英文单词figure,您可以在图形前使用babel-environment ,请参阅手册第 6 页(在命令提示符下使用)。\begin{otherlanguage}babel-texdoc babel

相关内容