我已经读过一些类似的问题,但如果我添加“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}}
对我有用。问候