Babel 警告希伯来语缺乏连字符模式

Babel 警告希伯来语缺乏连字符模式

我使用 TeX Live,包括希伯来语包。我尝试生成一个简单的 TeX 文件:

\documentclass{article}
\usepackage [english,hebrew]{babel}
\begin{document}
שלום
\end{document}

但我总是得到臭名昭著的

Package babel Warning: No hyphenation patterns were loaded for the language `Hebrew'.

我到处搜索但找不到解决方案。

答案1

据我在网上搜索到的信息,希伯来语连字符主要(甚至是独一无二的)用于报纸的窄栏排版。我所知道的希伯来语连字模式文件;肯定不在 CTAN 上。

您收到的消息是 的一个长期存在的错误babel,当它找不到为某种语言预加载的连字模式时,它会任意决定使用英语的模式(\language0准确地说是)。

你可以用以下方法解决这个问题:

\documentclass{article}

% Fool babel
\makeatletter\let\l@hebrew\l@nohyphenation\makeatother

\usepackage [english,hebrew]{babel}
\begin{document}
 שלום
\end{document}

\l@hebrew是查找的内部命令babel。这样做有两个好处:不会出现消息,并且您冒着连字符使用错误。在我看来,根据(美式)英语的规则,没有连字符比使用错误连字符要好。

如果你仍然收到该消息,则意味着你的 TeX 发行版未定义nohyphenation伪语言。补救措施是说

\makeatletter\chardef\l@hebrew=255 \makeatother

除非你的 TeX 发行版为 256 种语言定义了连字模式,否则这种方法是可行的,但这似乎不太可能。

相关内容