文本模式和默认字体中的直立希腊字母

文本模式和默认字体中的直立希腊字母

我想在 latex 默认字体中生成几个直立的希腊字母。我会为此使用数学模式,但是它只显示斜体希腊字母。由于我已经在使用 xelatex,我认为使用 polyglossia 包生成几个希腊符号很容易。不幸的是,polyglossia 报告了这一点:

! 软件包 polyglossia 错误:当前拉丁字体不包含“希腊”文字!

文档中的解决方案:为希腊语指定一种字体。好的。这有效。但我想使用默认字体。由于可以在数学模式下使用默认字体输出希腊字母,因此应该可以用多语种在文本模式下获取希腊字母。

\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{greek}
\title{}\date{}
\begin{document}
\maketitle

This is math mode with default font $\tau\acute{\epsilon}\mu\nu\omega$. 
The Greek should, however, be set in regular font.

% This is polyglossia \textlang{greek}{τέμνω}, reporting an error.
\end{document}

答案1

您需要加载具有多音调希腊字母的文本字体。正如您所发现的,Latin Modern Roman如果已加载软件包,则默认字体fontspec不具有多音调希腊字母。由于不知道您偏好设置了哪些文本字体,因此我无法提供明智的建议。为了帮助您入门,您可以尝试使用EB Garamond

在此处输入图片描述

\documentclass{article}

\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{greek}

\usepackage{unicode-math}
\setmainfont{EB Garamond}
\setmathfont{Cambria Math}[Scale=MatchLowercase] % optional

\begin{document}
This is math mode: $\tau\acute{\varepsilon}\mu\nu\omega$. 

This is text mode:\ \textlang{greek}{τέμνω}.
\end{document}

答案2

您可以使用 CMU serif 代替 Latin Modern 来表示希腊语。

\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{greek}
\newfontfamily\greekfont{CMU Serif}[Script=Greek]
\begin{document}
This is polyglossia \textlang{greek}{τέμνω}.
\end{document}

在此处输入图片描述

相关内容