如何将 beamer 的数学块本地化为希伯来语?

如何将 beamer 的数学块本地化为希伯来语?

以下 LaTeX 代码保存在 中~/Test.tex

\documentclass{beamer-rl}

\usepackage[bidi=basic]{babel}
\babelprovide[main, import]{hebrew}
\babelfont{rm}{FreeSerif}
\babelfont{sf}{FreeSans}
\babelfont{tt}{FreeMono}

\begin{document}

\begin{frame}
\begin{definition}
D
\end{definition}
\begin{theorem}
T
\end{theorem}
\begin{corollary}
C
\end{corollary}
\begin{proof}
P
\end{proof}
\end{frame}

\end{document}

该代码创建了一个希伯来语演示文稿,其中一张幻灯片包含四个数学块。

然后在终端中执行以下命令。

> cd ~
> lualatex Test

这样,文件~/Test.pdf就生成了。在 PDF 查看器中打开时,文件显示如下。

包含数学积木的希伯来语演示文稿

请记住,希伯来语是一种从右到左的语言,因此文本的右对齐是预期的和正确的,并且不会构成问题。

请注意,在三个数学块中:definitiontheoremcorollary,块的标题是用英文书写的,而在第四个块中,proof标题是用希伯来语自动生成的。

我希望所有数学块都像proof块一样自动生成希伯来语标题。当演示文稿的语言是希伯来语时,如何将这些环境本地化为希伯来语?这些环境的标题从何而来?

答案1

Beamer 使用该translator软件包来翻译这些字符串。对于大多数常用语言,它附带了.dict已包含所有翻译的文件,但对于希伯来语,这些文件尚不存在。

您可以.dict像这样为希伯来语创建一个新文件:

% !TeX TS-program = lualatex

\documentclass{beamer-rl}

\usepackage[bidi=basic]{babel}
\babelprovide[main, import]{hebrew}
\babelfont{rm}{FreeSerif}
\babelfont{sf}{FreeSans}
\babelfont{tt}{FreeMono}

\begin{filecontents*}[overwrite]{translator-theorem-dictionary-Hebrew.dict}
\providetranslation{Definition}{הגדרה}
\providetranslation{Theorem}{משפט}
\providetranslation{Corollary}{מסקנה}
\end{filecontents*}

\uselanguage{hebrew}

\begin{document}

\begin{frame}
\begin{definition}
D
\end{definition}
\begin{theorem}
T
\end{theorem}
\begin{corollary}
C
\end{corollary}
\begin{proof}
P
\end{proof}
\end{frame}

\end{document}

在此处输入图片描述

(请考虑在https://github.com/josephwright/translator/添加希伯来语词典文件,以便其他用户也可以使用它们!)

相关内容