可能重复:
表格、图片和列表前缀
自动插入“章节、小节等”
我正在使用包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 指出的那样,图形环境中的标题,并包括 babel前hyperref/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
,那么你有两种可能性:
- 如果您的文本是英文,请
babel
使用选项UKenglish
而不是加载,或者ngerman
- 如果您的文本是德语,但您仍想使用英文单词
figure
,您可以在图形前使用babel
-environment ,请参阅手册第 6 页(在命令提示符下使用)。\begin{otherlanguage}
babel-
texdoc babel