polyglossia 和 minted - 当前的罗马字体不包含希伯来文字!

polyglossia 和 minted - 当前的罗马字体不包含希伯来文字!

尝试使用minted希伯来语作为默认语言polyglossia

\documentclass{article}
\usepackage{minted}
\usepackage{polyglossia}
\setdefaultlanguage[calendar=hebrew, numerals=arabic]{hebrew}
\setotherlanguage{english}
\newfontfamily\hebrewfont{David CLM}

\begin{document}
בדיקה

\begin{english}
\begin{minted}{bash}
    $ for i in {1..2}; do echo 'Hello World'; done
    Hello World
    Hello World
\end{minted}
\end{english}
\end{document}

结果是:

$ xelatex -shell-escape test
! Package polyglossia Error: 
The current roman font does not contain the Hebrew script!
Please define \hebrewfont with \newfontfamily.

See the polyglossia package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.1 \begin{Verbatim}[commandchars=\\\{\}, ]

思考我明白错误的含义,但不确定为什么。

我处于english应该使用默认英文字体的环境中...那么为什么我会收到有关希伯来语的错误?

(我确实设法通过将默认语言设置为英语来解决这个问题,但不幸的是这导致其他东西崩溃)

答案1

这显然是 Polyglossia 处理这种情况的一个错误,因为它似乎没有考虑到当前的语言。一个临时的解决方法是

\let\hebrewfonttt\ttfamily

紧接着\newfontfamily\hebrewfont{David CLM}(无论如何,在序言中说出来就足够了)。这里假设您不需要环境中的希伯来语minted

相关内容