在 LaTeX 中编写希腊语文本

在 LaTeX 中编写希腊语文本

是否可以使用 pdfLaTeX 编译以下示例,显示希腊文本的正确字体,而不是默认的 CMR?

\documentclass[a4paper]{article}

\usepackage[english,greek]{babel}
\usepackage[iso-8859-7]{inputenc}
\usepackage{tgheros}
\usepackage[T1]{fontenc}

\begin{document}

\section{Εισαγωγή}

Αυτό είναι ελληνικό κείμενο.
\selectlanguage{english} this is latin text.
\selectlanguage{greek} και αυτό είναι ελληνικό κείμενο.

\[
a = b + \gamma
\]

\end{document}

答案1

TeX Gyre Heros 不支持希腊语。您可以在字体的 opentype 版本中看到这一点:

otfinfo -s fonts/opentype/public/tex-gyre/texgyreheros-regular.otf 
DFLT            Default
cyrl            Cyrillic
latn            Latin
latn.AZE        Latin/Azeri
latn.CRT        Latin/Crimean Tatar
latn.MOL        Latin/Moldavian
latn.NLD        Latin/Dutch
latn.PLK        Latin/Polish
latn.ROM        Latin/Romanian
latn.TRK        Latin/Turkish

同样,LaTeX 字体也不支持合适的编码。

字体确实包含希腊字符,可用于排版数学等。但不支持排版希腊文本。

答案2

首先,没有理由使用\usepackage[iso-8859-7]{inputenc}。使用\usepackage[utf8]{inputenc}。该字体TeX-Gyre-Heros是无衬线字体,因此仅当文本设置为无衬线时才会使用它。

\documentclass{article}
\usepackage[english, greek]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\renewcommand*{\familydefault}{\sfdefault}
\usepackage{tgheros}
\begin{document}

\section{Εισαγωγή}

Αυτό είναι ελληνικό κείμενο.
\selectlanguage{english}this is latin text.
\selectlanguage{greek}και αυτό είναι ελληνικό κείμενο.

\[a = b + \gamma\]

\end{document}

在此处输入图片描述

答案3

tex-gyre-heros 不支持 pdfLaTeX 下的希腊语。在 Xe/LuaTeX 下,只有基本字母存在,重音字母和其他符号缺失。

最简单的解决方案是切换到支持希腊语“LGR”字体编码的无衬线字体,例如https://www.ctan.org/pkg/gfsneohellenic或者https://www.ctan.org/pkg/gofonts

\DeclareFontfamilySubstitution另一种选择是使用 2020 年版本中添加到 LaTeX 内核的命令来设置仅针对希腊语的替代,请参阅ltnews31

第三种选择是将 LuaTeX 与支持希腊语的 Helvetica 变体一起使用,或者与通过 Babel 或 Polyglossia 设置的特定语言字体一起使用。

相关内容