Следующий MWE дает сбой при запуске с TexLive 2019. Он работает с TeXLive 2017 и 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}
Используя движок overleaf (если это имеет значение). Пример здесь с DejaVu, но проблема также возникает (в 2019 году) при использовании David CLM
, Simple CLM
, или Miriam Mono CLM
(работает в 2018 году).
Я получаю следующую ошибку (не знаю, что это значит в Latex)
! 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.
...
решение1
Кажется, я нашел проблему: это не баг, это фича. Полиглоссия в TeXLive 2019 просто работает лучше.
В documentclass есть опция sans, но шрифт sans не определен для иврита. Замена \newfontfamily\hebrewfont{}
на \newfontfamily\hebrewfontsf{}
решила "проблему".
В TeXLive 2017 (и 2018) определение documentclass
применялось только к шрифту по умолчанию (английскому). Если \newfontfamily\hebrewfont{}
было определено, а затем \texthebrew{}
использовалась команда, то шрифт, определенный по умолчанию, действительно использовался.
В TexLive 2019 с момента объявления опции sans при \texthebrew{}
вызове polyglossia производился поиск шрифта семейства sans. Поскольку, как определено в documentclass
, документ должен быть в sans, если не указано иное.
Следующий MWE демонстрирует разницу.
\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}
Вывод TexLive 2017 следующий:
Вывод TexLive 2019 следующий:
В вопросе MWE не был определен шрифт без засечек, поэтому я получил ошибку.