babel 中的 hyperref autoref 大写问题

babel 中的 hyperref autoref 大写问题

我已经读过一些类似的问题,但如果我添加“babel”包,那边的解决方案就不起作用了。问题是要更改一个特定的 autorefname,比如 Figure,我只想更改它的书写方式,比如大写。一切都很好,但如果我取消注释包 babel,那么命令就会被忽略。

\documentclass[11pt]{book}

%\usepackage[english]{babel}
\usepackage{hyperref}
\def\figureautorefname{FIGURE}

\begin{document}
\begin{figure}
\centering
\rule{1cm}{1cm}
\caption{foo}\label{fig:foo}
\end{figure}
As shown in \autoref{fig:foo}~\dots
\end{document}

这可能是一个简单的问题,但我没有找到。

答案1

手动的包含hyperref此案例的一个例子:

如果使用 babel 则重新定义的示例:

\usepackage[ngerman]{babel}  
\addto\extrasngerman{%  
  \def\subsectionautorefname{Unterkapitel}%  
}

就你的情况而言:

\usepackage[english]{babel}
\usepackage{hyperref}
\addto\extrasenglish{%
  \def\figureautorefname{FIGURE}%
}

答案2

刚刚在其他地方找到了解决方案。手册上说的是正确的,但是重新定义必须直接放在 href 包导入之后!

\usepackage[ngerman]{babel} 
\usepackage{href} 
\addto\extrasngerman{\def\subsectionautorefname{Unterkapitel}}

对我有用。问候

相关内容