在了解了我的错误之后translator
(翻译程序包未提供预期的语言翻译),我尝试加载babel
我的主题。这很好,但是如果用户没有明确选择语言,babel 就会对我生气:! Package babel Error: You haven't specified a language option.
只有当您明确选择english
或german
其他任何内容时,它才会起作用。
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}
(参见手册。)