程序包 inputenc 错误:Unicode 字符 Κ (U+039A) 多音希腊文和拉丁文混合

程序包 inputenc 错误:Unicode 字符 Κ (U+039A) 多音希腊文和拉丁文混合

当我编译包含多音调希腊文的文本时,我遇到了几个 Unicode 错误,这些文本中混杂了多音调字符。我不想手动声明所有 de 字符。LaTeX 有没有办法像我的文本编辑器一样理解多音调希腊文并进行渲染?

\documentclass{article}
\usepackage[utf8]{inputenc}

\begin{document}
text text texttext text text
text text texttext text text
Κατάλογος etc. text text text
text text text text text text
\end{document}

在过去的一个小时里,我花了一些时间研究其他问题,但目前没有任何效果,使用 babel 或 utf8x 等等。我想避免在环境中使用这段文本,因为它分布在所有的文本中……

答案1

在 LuaLaTeX 中

LuaLaTeX 中的包babel可以让您自动检测您正在输入的脚本,并相应地切换您使用的字体和连字符模式。

默认字体不支持希腊语,因此您需要选择一种支持的字体。

\documentclass[italian]{article}
\tracinglostchars=2
\usepackage{babel}
\usepackage[default]{fontsetup} % Load New Computer Modern
\babelprovide[import, onchar=ids fonts]{greek}

\begin{document}
text text texttext text text
text text texttext text text
Κατάλογος etc. text text text
text text text text text text
\end{document}

有些字体(例如 Computer Modern Unicode 系列)需要Script=GreekOpenType 功能才能正确显示实际的希腊语单词。对于这些字体,您需要设置

\babelfont{rm}[Ligatures=Common]{CMU Serif}
\babelfont{sf}[Ligatures=Common]{CMU Sans}
\babelfont{tt}{CMU Typewriter Text}

每当您更改语言时,这将设置Script=和字体功能。Language=

在 PDFTeX 中

在旧版引擎中,您别无选择,只能使用 8 位字体。您还需要手动标记语言。该\textgreek命令是执行此操作的最便携方式,并且输入起来也比 更短\foreignlangugae{greek.polutoniko}{Κατάλογος}

\documentclass[italian]{article}
\tracinglostchars=2
\usepackage[LGR,T1]{fontenc} % Enable Greek encoding, but set Cork as the default.
\usepackage[utf8]{inputenc} % The default since 2018
\usepackage[greek.polutonic, main=italian]{babel}

\begin{document}
text text texttext text text
text text texttext text text
\textgreek{Κατάλογος} etc. text text text
text text text text text text
\end{document}

请注意,根据手册,如果您设置了\documentclass[italian],您还应该提供babel选项main=italian。否则,babel将首先加载意大利语,并将主要语言设置为最后加载的希腊语。我犯了同样的错误,到处都是τεξτ。

您还可以加载\usepackage{textalpha}以便能够在文本模式下使用\textalpha\textBeta等,或者\usepackage{alphabeta}能够\alpha在文本模式和数学模式下使用等。

相关内容