我已经习惯了,如果我使用类似这样的软件包,LaTeX 只会识别 ä、ö、ü 或 ß 这样的字母
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
今天,我第一次在 Mac 上尝试使用 LaTeX,使用的是 MacTeX 发行版和 texmaker。无需记下任何软件包,所有变音符号和 ß 都可以从头开始正确接受。这是为什么?不使用软件包使用特殊字母会导致任何问题吗?
答案1
自 2018 年 4 月发布以来,LaTeX 将 UTF-8 视为默认输入编码
\usepackage[utf8]{inputenc}
因此,不再需要在开始时调用。如果文件的编码不同于 UTF-8,则当然应该声明正确的编码。
以前,该utf8x
附加组件和ucs
软件包是某些特殊应用程序所必需的,或者主要用于希腊语排版。现在的情况已经发生了很大变化,也utf8x
应该避免使用它ucs
,因为它已经好几年没有维护了,而且utf8
(默认)表现要好得多。
另一方面,fontenc
为了使用 T1 编码并对包含欧洲语言中使用的重音字母或特殊字形的单词进行连字,仍然需要进行加载。
为什么手册和指南没有提到这一点?因为惯性占了上风。:-(
答案2
我没有足够的声誉来发表评论,但我想补充一点,2022 年(2018 年 4 月之后?) \usepackage[T1]{fontenc}
不仅仅是不必要但可以有害为了某些发动机。
我曾经\usepackage[ngerman]{babel}
按照一些旧教程将这些包与一起包含在 BibTex 中。ä ö ü 工作正常,但每个 ß 都符合 SS。
这个问题由这个问题和这里的另一个解释解决(见https://tex.stackexchange.com/a/641959/278331)
2022 年Unicode 感知引擎就像西特克斯和LuaTex,只需删除所有这些包声明
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
然后你就可以直接在源代码中使用从ä
到的所有字母ß
编辑:
\usepackage[ngerman]
仍然需要正确的连字