使用多语种时更新自动引用字幕标题

使用多语种时更新自动引用字幕标题

我正在尝试使用 polyglossia 包更新 autoref 标题。根据手册,较新的版本应该支持类似于 Babel 的 \addto 命令。但是,我无法让它工作,如以下 MWE 所示。

\documentclass{article}

\usepackage{hyperref}
\usepackage{etoolbox}
\usepackage{polyglossia}
\setmainlanguage[variant=american]{english}

%\usepackage[american]{babel}

\makeatletter
 \addto\extrasamerican{
\renewcommand*{\sectionautorefname}{Section}    }
\makeatother

\begin{document}
\section{Test}\label{sec:test}
Autoref to \autoref{sec:test} for a test.
\end{document}

答案1

在这种情况下要附加的命令是\blockextras@english,而不是\extrasamerican

\documentclass{article}

\usepackage{polyglossia}
\usepackage{hyperref}

\setdefaultlanguage[variant=american]{english}

\makeatletter
\appto{\blockextras@english}{%
  \renewcommand*{\sectionautorefname}{Section}%
}
\makeatother

\begin{document}

\section{Test}\label{sec:test}
Autoref to \autoref{sec:test} for a test.

\end{document}

此外,如果您不打算\autoref与其他语言一起使用,您可以将\renewcommand\appto完全放在外面。

相关内容