变音符无法通过 lualatex 正确呈现

变音符无法通过 lualatex 正确呈现

我正在使用 LaTeX beamer 创建德语演示文稿。

我读过关于 Umlaute 的这个答案:德文字符无法转换为 PDF

但我仍然有一些问题。

这是我的 LaTeX 文档:

\documentclass[aspectratio=169]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage[T1]{fontenc}  
\begin{document}
\section{äöüßÄÖÜ "a"o"u"s"A"O"U}
\begin{frame}{ä ö ü ß Ä Ö Ü "a "o "u "s "A "O "U} 
\tableofcontents
\Huge
ä ö ü ß Ä Ö Ü "a "o "u "s "A "O "U
\end{frame}
\end{document}

这是使用 LuaLaTeX 翻译后的 PDF:

在此处输入图片描述

如您所见,存在两个问题:

  1. UTF-8ß始终被解析为 SS,而所有其他 Umlaute 都可正确呈现。
  2. PDF 内容视图永远无法正确呈现 UTF-8 变音符。

我的乳胶版本是:

$ lualatex --version
This is LuaTeX, Version beta-0.80.0 (TeX Live 2015/Debian) (rev 5238)

除了将所有变音符号改为其原有的"x形式外,我还能怎样解决变音符号问题?

[编辑] 这里给出的答案使用 LuaTeX 替代 pdfTeX解决了这个问题,但没有明确解决“变音符号”问题,所以我无法找到它。

答案1

  • 书签是用hyperref选项unicode或固定的pdfencoding=auto。可以将选项赋予类hyperref的选项,然后类的beamer选项将选项传递给包hyperref

  • 假设文本以 UTF-8 编写,则inputenc必须删除 LuaLaTeX 或 XeLaTeX 的包。两者都已在使用 UTF-8。

  • 字体编码比非 Unicode TeX 编译器T1更好,因为它支持一些重音字母(变音符号)。LuaTeX 或 XeTeX 的推荐是 package ,因为它们支持 TrueType 和 OpenType Unicode 字体。默认字体是 Latin Modern,它源自 Computer Modern 字体(例如,支持更大范围的重音字符)。OT1fontspec

完整示例:

\documentclass[aspectratio=169,hyperref={unicode}]{beamer}
\usepackage{fontspec}
\usepackage[german]{babel}
\begin{document}
\section{äöüßÄÖÜ "a"o"u"s"A"O"U}
\begin{frame}{ä ö ü ß Ä Ö Ü "a "o "u "s "A "O "U}
\tableofcontents
\Huge
ä ö ü ß Ä Ö Ü "a "o "u "s "A "O "U
\end{frame}
\end{document}

结果

答案2

如果你使用路拉泰克斯但您不打算通过加载包来使用 unicode 字体fontspec,您应该加载

\usepackage[utf8]{luainputenc}

代替inputenc

如果您确实想使用 unicode 字体,则加载fontspec就足够了,luainputenc不需要fontenc


除此之外,我不同意经常给出的一般建议不加载 fontenc如果使用 lualatex。*

因为这个包的必要性并不取决于使用的编译器,而是取决于是否fontspec加载这个包。

大多数人使用 lualatex 是因为这个fontspec包,因为它允许使用Unicode 字体。但是有些人,比如我,使用 lualatex 是因为它能够处理 lua 代码(以及其他优点……),但不喜欢使用 unicode 字体(因为它很慢,还有其他缺点……)。在后一种情况下,您仍然可能需要fontenc

*您可以在这里找到有关此主题的进一步讨论

相关内容