Das folgende MWE schlägt fehl, wenn es mit TexLive 2019 ausgeführt wird. Es funktioniert mit TeXLive 2017 und 2018.
\documentclass[english,sans]{moderncv}
\moderncvstyle{banking}
\usepackage[unicode]{hyperref}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{hebrew}
\firstname{J}
\lastname{D}
\title{T}
\newfontfamily\englishfont[Language=English,Script=Latin]{Latin Modern Sans}
\newfontfamily\hebrewfont[Language=Hebrew,Script=Hebrew]{DejaVu Sans}
\begin{document}
\makecvtitle{}{}
Lorem ipsum and such
\texthebrew{לורם איפסום}
\end{document}
Verwenden der Overleaf-Engine (falls das von Bedeutung ist). Das Beispiel hier ist mit DejaVu, aber das Problem tritt auch (im Jahr 2019) bei Verwendung von David CLM
, Simple CLM
, oder auf Miriam Mono CLM
(funktioniert im Jahr 2018).
Der Fehler, den ich bekomme, ist (weiß nicht, wie viel das in Latex bedeutet):
! Package polyglossia Error: The current latin font DejaVuSans(0) does not cont
ain the "Hebrew" script!
(polyglossia) Please define \hebrewfont with \newfontfamily comm
and.
See the polyglossia package documentation for explanation.
Type H <return> for immediate help.
...
Antwort1
Ich scheine das Problem gefunden zu haben: Es ist kein Fehler, sondern eine Funktion. Polyglossia in TeXLive 2019 funktioniert einfach besser.
Die Dokumentklasse hat eine Sans-Option, aber für Hebräisch ist keine Sans-Schriftart definiert. Das Ersetzen \newfontfamily\hebrewfont{}
durch \newfontfamily\hebrewfontsf{}
hat das „Problem“ gelöst.
In TeXLive 2017 (und 2018) documentclass
galt die Definition nur für die Standardschriftart (Englisch). Wenn \newfontfamily\hebrewfont{}
definiert wurde und dann \texthebrew{}
der Befehl verwendet wurde, wurde tatsächlich die standardmäßig definierte Schriftart verwendet.
In TexLive 2019 wurde die Option „Sans“ deklariert und beim \texthebrew{}
Aufruf von Polyglossia wurde nach der Schriftart der Sans-Familie gesucht. Denn wie in definiert documentclass
, sollte das Dokument in Sans sein, sofern nicht anders definiert.
Das folgende MWE demonstriert den Unterschied.
\documentclass[english,sans]{article} %<--- The document default is defined as sans
\usepackage[unicode]{hyperref}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{hebrew}
\newfontfamily\hebrewfont[Language=Hebrew,Script=Hebrew]{David CLM} %<--- notice David
\newfontfamily\hebrewfontsf[Language=Hebrew,Script=Hebrew]{DejaVu Sans}%<--- notice Sans
\begin{document}
Lorem ipsum and such
\textsf{\texthebrew{עברית בסנס}}
\texthebrew{עברית רגיל}
\end{document}
Die Ausgabe mit TexLive 2017 ist die folgende:
Die Ausgabe mit TexLive 2019 ist diese:
Für das MWE in der Frage war keine serifenlose Schriftart definiert, deshalb erhielt ich eine Fehlermeldung.