尝试使用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
。