在使用《计算机现代》中的 LaTeX/pdftex 设置的逻辑书中,我使用标准数学符号字母表中的希腊字母作为符号。
但有几次我想排版一个古希腊词。使用不同的字体(例如 Teubner 包默认提供的字体)看起来很奇怪。但尝试用符号字体来伪造它并不能产生良好的重音效果等。
问题:是否有一种简单的方法来设置 \textgreek 命令,可以很好地处理重音/呼吸等,很好地分隔字母,并提供使用斜体希腊字体的输出,其字母形状与标准符号字体相同(或非常接近)?
答案1
如果您可以使用 LuaLaTeX 或 XeLaTeX,则可以加载 Computer Modern Unicode Serif。此字体具有基于 Computer Modern 和旧 cbgreek 字体的多音调希腊字母。为了获得适合希腊文本的形状,而不是数学符号,您可以选择 OpenType 功能Script=Greek
。该\babelfont
命令会自动处理此问题。
\documentclass{article}
\usepackage[paperwidth=11cm]{geometry}
\usepackage[english]{babel}
\usepackage{fontspec}
\usepackage{microtype}
\babelprovide[import]{greek}
\newcommand\textgreek[1]{\foreignlanguage{greek}{#1}}
\newenvironment{greek}%
{\begin{otherlanguage}{greek}}%
{\end{otherlanguage}}
\defaultfontfeatures{Scale = MatchLowercase}
\babelfont{rm}
[Scale=1.0, Ligatures={Common, TeX}, Language=Default]{Latin Modern Roman}
\babelfont[greek]{rm}
[Language=Default]{CMU Serif}
\babelfont{sf}
[Ligatures={Common, TeX}, Language=Default]{Latin Modern Sans}
\babelfont[greek]{sf}
[Language=Default]{CMU Sans Serif}
\babelfont{tt}
[Language=Default]{Latin Modern Mono}
\babelfont[greek]{tt}
[Language=Default]{CMU Typewriter Text}
\begin{document}
\begin{greek}
ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσεν:
\end{greek}
\end{document}
\babelfont
为了抑制一些警告信息,我添加了比严格必要更多的案例和选项。
如果您确实想要形状像\theta
和 的字母,只需使用而不是\lambda
加载 CMU Serif 。默认情况下,小写希腊数学符号是倾斜的,大写希腊数学符号是直立的,因此您也可以根据需要添加 。您还可以在数学模式中使用和,使其与希腊文本更加一致。Script=Default
Script=Greek
\slshape
\varphi
\vartheta
如果您需要,还有一个与 PDFLaTeX 兼容的版本。请注意,自 2018 年 4 月起,UTF-8 输入编码一直是默认设置。因此,如果您加载 LGR 字体编码,PDFLaTeX 将理解希腊语。
\documentclass{article}
\usepackage[LGR, T1]{fontenc}
\usepackage[utf8]{inputenc} % The default since 2018
\usepackage[paperwidth=11cm]{geometry}
\usepackage[polutonikogreek, main=english]{babel}
\usepackage{microtype}
\DeclareRobustCommand\textgreek[1]{\foreignlanguage{polutonikogreek}{#1}}
\newenvironment{greek}%
{\begin{otherlanguage}{polutonikogreek}}%
{\end{otherlanguage}}
\begin{document}
\begin{greek}
ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
πλάγχθη, ἐπεὶ Τροίης ἱερὸν πτολίεθρον ἔπερσεν:
\end{greek}
\end{document}
答案2
请尝试以下代码,请注意,它XELaTeX
仅在以下情况下有效:
\documentclass{book}
\usepackage{babyloniannum}
\usepackage[polutonikogreek,english]{babel}
\begin{document}
\newfontfamily\greekfont[Script=Greek, Scale=MatchUppercase, Ligatures=TeX]{Old Standard}
\newcommand{\textgreek}[1]{\bgroup\greekfont\emph{#1}\egroup} %
\textgreek{Ï€Ïότασις}
\end{document}
输出
使用 PDFLaTeX
egreg
建议更好的进入方式PDFLaTeX
,代码如下:
\documentclass{book}
\usepackage[greek.polutoniko,english]{babel}
\newenvironment{greek}
{\begin{otherlanguage*}{greek}}
{\end{otherlanguage*}}
\begin{document}
\begin{greek}
To~u d`e poso~u t`o m'en >esti diwrism'enon, t`o d`e suneqes.
\end{greek}
\end{document}
输出