babel 中的 ngerman 和 german 有什么区别?

babel 中的 ngerman 和 german 有什么区别?

我使用以下三个包来在生成的 PDF 中获得正确的德语变音符号:

\usepackage[utf8]{inputenc} % this is needed for umlauts
\usepackage[ngerman]{babel} % this is needed for umlauts
\usepackage[T1]{fontenc}    % this is needed for correct output of umlauts in pdf

今天,我看到了这个:

\usepackage[german]{babel}

ngerman和有什么区别german?我觉得n可能意味着 new,但我应该使用哪一个?您能举个例子说明这很重要吗?

答案1

german正如之前所说,旧法律文书(=“正确书写”=正字法=“正确书写”),ngerman新法律文书。真正相关的部分是连字符,因为这会babel影响。以下是一些连字符变化的例子,取自卡诺网(我强烈假设已经babel实现了这些变化,但我没有检查代码):

老新
啤酒屋 啤酒屋
返回 返回 ←我认为这是最重要的变化,很容易被发现
大师 大师

虽然像旧希法特到新的航行babel是正确的,但从 的角度来看它们并不真正相关,因为babel它们不会纠正您的拼写,所以这完全取决于您,即取决于您输入的内容。与此类惯例一样,您应该在正字法选择上保持一致。正式来说,旧法律文书已被弃用了几年;在此之前,两者都是“允许的”。

答案2

前面german提到了“Alte Rechtschreibung”是2006年之前的正字法,而ngerman“Neue Rechtschreibung”是2006年以后的正字法(1996年起有过渡期)。因此,两者的区别如下:

  • 由于连字规则发生变化,因此使用了不同的连字模式。如果ngermanbabel 加载连字模式,则该模式源自 Walter Schmidt 的旧模式。

    顺便说一句,还有更新的实验模式,请参阅dehyph-exptl. 可以使用包来提供它们hyphsubst

  • 一些连字符规则已经改变。在旧正字法中,ck连字符为k-k。或者如果三重辅音后面跟着元音,则应避免使用,但如果使用连字符,则第三辅音会重新出现,例如:

    航行 → 航行

    其中german有简写支持:

    B"a"cker Schi"ffahrt
    

    由于这些情况在新正字法中得到了简化,因此这些特殊速记在以下语言中不再可用ngerman

      "c, "C, "f, "F, "l, "L, "m, "M, "n, "N, "p, "P, "r, "R, "t", "T
    

    由于同样的原因,宏也\ck被放弃了。

答案3

是的,n代表 new,因为它是 2006 年(当前形式)的“新德国法律文书”。最常见的区别之一是“ß”和“ss”的不同用法。由于它是当前的版本,因此您应该始终使用ngerman

其中一个例子是“Schifffahrt”(新)与旧“Schiffahrt”相对,因为复合词连接处的三个辅音过去减少到只有两个。

相关内容