2

I want to produce a few upright Greek letters in the latex default font. I would use math mode for this purpose, however, it only displays Greek letters in italics. Since I am already using xelatex, I thought it would be easy to produce a few Greek symbols using the polyglossia package. Unfortunately, polyglossia reports this:

! Package polyglossia Error: The current latin font does not contain the "Greek" script!

Solution form the docs: specify a font for Greek. OK. That worked. But I want to use the default font. Since it is possible to output Greek letters with the default font in math mode, it should somehow be possible to get Greek letters in text mode with 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
    The math fonts (plural) are independent of the text font. Plus, Greek math follows style rules (e.g., lowercase is italic in English style). As the answers show, printing non-Latin scripts requires the font to have those scripts. To find out what code blocks are in a font, a utility like BabelPad is handy: under Tools, Font Analysis, it has a List all fonts that cover this Unicode block.... and shows each font and how many characters it covers. For example, Noto Serif font covers 121 characters of the 135-character Greek and Coptic Unicode block. Aegean font covers all 135. – Cicada Jan 19 at 9:12
2

You need to load a text font that features polytonic Greek letters. As you've discovered, Latin Modern Roman -- the default font if the fontspec package is loaded -- does not. Not knowing which text font preferences you have, I can't provide an informed recommendation. Just to get you started, you might try using EB Garamond.

enter image description here

\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}
|improve this answer|||||
  • There is an ebgaramond-math package. Why not use to match the text font? – Bernard Jan 16 at 19:10
  • 1
    @Bernard - I'm under the impression that that ebgaramond-maths package is meant to be used mainly with pdfLaTeX. (Note that the OP set the xetex tag.) When I replace \setmathfont{Cambria Math}[Scale=MatchLowercase] with \usepackage{ebgaramond-maths} -- with or without first loading unicode-math -- I get the following nasty-sounding error message: ! Package polyglossia Error: The current latin font EBGaramond(2) does not contain the "Greek" script!. Since the query is primarily about text fonts, I chose to bypass this issue in my answer by loading Cambria Math instead. Too subtle? – Mico Jan 16 at 22:17
1

You could use CMU serif instead of Latin Modern for the greek.

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

enter image description here

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.