我最近意识到,当使用选项调用时[french]
,该babel
包添加了许多有用的命令,例如ier{}
将“1er”读作“premier”,\no
或者\degres
。
然而,它似乎具有与英语类似的功能(比如\st{}
或\degree
),要么需要加载专门的包,例如nth
或定义新命令,例如设置\degree
为\textsuperscript{\circle}
。
为什么不一致?我是不是漏掉了什么?
答案1
frenchb.ldf
(由 获得)\usepackage[francais]{babel}
在很大程度上是为了替换french.ldf
文件(以前由 获得\usepackage[french]{babel}
),该文件(在某个时间点)不是免费许可,并且没有真正集成到框架中babel
。french.ldf
有很多功能,因此,作为某种替代品,frenchb.ldf
功能非常丰富。english.ldf
从来没有过这种“竞争”。
答案2
这国家印刷局在法国,它的地位很像印刷术方面的“官方统治者”。它的一些建议基于几个世纪的法国印刷术,因此几乎是强制性的(或被认为是强制性的)。
这就是为什么这些建议在法语模块中实施的主要原因巴别塔。其他模块不提供此类增强功能,因为没有“必要”。例如,德语模块提供了在单词中输入变音符号、德语引号和断点的快捷方式,但没有“印刷”命令。
西班牙语模块与法语模块有很多相似之处,只是因为西班牙有一个“语言统治者”,西班牙皇家学院(例如,有人提议采用墨西哥模块,只是因为他们不喜欢西班牙模块的运行方式。)
\th
为什么英语模块中没有命令?因为好的排版不使用一个上扬的“th”,这是维多利亚时代的遗物,由于文字处理器的出现而再次为人们所知(见此TUGboat 文章作者:Peter Flynn)。那么\degree
温度呢?因为这样的命令不可能存在,因为英语国家使用不同的计量单位(公制或英制;在一些国家是公制和帝国)。
答案3
许多语言定义文件定义了自己的特定简写和一组标准 LaTeX 中没有的额外命令;这些简写和特殊命令集旨在满足相应语言的特定需求,因此它们在不同语言之间有所不同。
该文件的当前版本english.ldf
是v3.3o
2005/03/30 的。该文件很简单:它只定义了一些“方言”(UKenglish
、american
、USenglish
、canadian
、australian
和newzealand
)并标明了它们对应的连字模式;它定义了预定义名称,并给出了 的必要定义\today
。
因此english.ldf
没有定义任何特殊的简写或命令。为什么软件包维护者会做出这样的决定?我真的不知道,我也不想猜测。不过,你可以直接问他。