使用 babel 的 [ngerman] 选项对简单德语单词进行错误连字

使用 babel 的 [ngerman] 选项对简单德语单词进行错误连字

我最近不得不从 OS X 切换到 Ubuntu,从那时起我就遇到了 babel 的德语连字符问题。

我在 Ubuntu 15.10 上运行 texlive 2015。我从 Ubuntu 软件中心安装了 TeX 和德语语言包。我没有收到任何错误消息,但非常多简单的德语单词是错误的。在论文这样的长文档中,我无法手动修复每次出现的问题。

在旧的 Macbook(运行 Snow Leopard 和最新的 MacTex)上,当我编译现在看起来很糟糕的相同文档时,我没有遇到这些问题。

我明白为什么 babel 无法\hyphenation对我在下面的 MWE 中输入命令的长名词进行连字符连接,但我看不出对于较短的单词有任何理由。

\documentclass[11pt,a4paper]{report}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\begin{document}
\hyphenation{Ge-brauchs-an-lei-tung}
Some text. bestimmte richtige Gebrauchsanleitung weiche bestimmte richtige Gebrauchsanleitung weiche bestimmte richtige Gebrauchsanleitung soso weiche bestimmte richtige Gebrauchsanleitung weiche bestimmte richtige enthält Gebrauchsanleitung weiche bestimmte richtige Gebrauchsanleitung weiche bestimmte richtige Gebrauchsanleitung weiche bestimmte richtige Gebrauchsanleitung weiche bestimmte richtige Gebrauchsanleitung enthält weiche bestimmte richtige Gebrauchsanleitung weiche bestimmte richtige Gebrauchsanleitung weiche bestimmte richtige Gebrauchsanleitung weiche bestimmte richtige Gebrauchsanleitung weiche bestimmte richtige Gebrauchsanleitung weiche bestimmte enthält richtige Gebrauchsanleitung weiche bestimmte richtige Gebrauchsanleitung weiche bestimmte richtige Gebrauchsanleitung weiche bestimmte richtige Gebrauchsanleitung weiche enthält enthält bestimmte richtige Gebrauchsanleitung weiche bestimmte richtige Gebrauchsanleitung weiche 
\end{document}

PDF 版本如下所示:

连字错误

但是,we-iche 应该是 wei-che,en-thält 应该是 ent-hält,bes-timmte 应该是 be-stimmte。我知道 babel 可以处理这些简单的单词,因为它在不同的计算机上运行良好。

我通常使用 LyX。然而,我在 Texmaker 中创建了这个示例 - 以排除 LyX 设置是问题所在 - 但它仍然不起作用。

问题可能出在哪里?似乎 babel 只是忽略了该ngerman选项,而只是使用英语连字符模式。我在这里做错了什么?我绝望了,在黑暗中摸索,因为我没有收到任何可能指向我错误的错误消息。我猜 Ubuntu 上的 TeX 安装一定与我旧的 OS X 机器上的不同。但我该如何解决这个问题?

答案1

看来,我从 Ubuntu 软件中心安装的 TeX 并不完整。Babel 找不到德语连字模式,而是使用英语模式。

编译该文档后,\usepackage[ngerman,showlanguages]{babel}其日志文件中出现以下信息:

Package babel Warning: No hyphenation patterns were preloaded for
(babel)                the language `ngerman' into the format.
(babel)                Please, configure your TeX system to add them and
(babel)                rebuild the format. Now I will use the patterns
(babel)                preloaded for english instead on input line 43.

我通过 Synaptic 安装 texlive-full 包来添加缺少的内容。该包基本上安装了所有之前未安装的 TeX 相关包,从而使不完整的 Ubuntu 安装成为完整安装。然后我运行,连sudo texhash字符fmtutil --all就起作用了。

显然,Ubuntu 软件中心提供的 TeXLive 2015 包不包含 Babel 的德语连字符模式。

我知道这不是一个完美的解决方案。简单地安装所有东西会在硬盘上增加很多不必要的数据。但是,这是解决问题的快速方法,无需费力找出丢失了哪些特定文件、从哪里获取它们以及将它们放在哪里。

注意:这可能是将不完整安装变成完整安装的一种方法。它不保证完整安装是最新的。正如有人向我指出的那样,最新的 TeX 版本与通过 Synaptic 从 Ubuntu 服务器提供的版本之间可能存在差距。

相关内容