当 Babel 没有指定语言时,我该如何抑制错误并恢复为英语?

当 Babel 没有指定语言时,我该如何抑制错误并恢复为英语?

在了解了我的错误之后translator翻译程序包未提供预期的语言翻译),我尝试加载babel我的主题。这很好,但是如果用户没有明确选择语言,babel 就会对我生气:! Package babel Error: You haven't specified a language option.

只有当您明确选择englishgerman其他任何内容时,它才会起作用。

MWE 如下所示:

\documentclass[]{beamer}

\usepackage{filecontents}

\begin{filecontents*}{beamerthemeBabelDep.sty}
\RequirePackage{translator,babel}
\end{filecontents*}

\begin{filecontents*}{test-German.dict}
    \ProvidesDictionary{test}{German}
    \providetranslation{test}{German}
\end{filecontents*}

\begin{filecontents*}{test-English.dict}
    \ProvidesDictionary{test}{English}
    \providetranslation{test}{English}
\end{filecontents*}

\usetheme{BabelDep}
\usedictionary{test}

\begin{document}
    \begin{frame}
    \translate{test}
    
    \translate{author}
\end{frame}
\end{document}

english如果用户没有在选项列表中请求一个语言,我该如何实现将 Babel 作为后备语言加载beamer

答案1

您必须更新babel(当前版本为 3.45)。目前默认为nil,顾名思义,它不会发生任何变化。实际上,这会保留类语言(标准类中的英语)。或者,您可以将任何选项传递给,babel例如:

\PassOptionsToPackage{english}{babel}

(参见手册。)

相关内容