Ich möchte ein mehrsprachiges Dokument erstellen, polyglossia
in dem Khmer als Hauptsprache und Englisch als Zweitsprache festgelegt ist. Ich habe auch khmer-gloss.ldf
die Schriftart Khmer als Standardschriftart verfügbar. Alle Pseudocodes werden in Kästchen wie im Bild unten angezeigt und nicht einmal die Beschriftung wird angezeigt. Ich weiß, dass es ein Problem mit der Schriftart ist, aber ich bin ziemlich neu im polyglossia
Paketgeschäft. Weiß jemand, wie man dieses Problem löst? Der folgende Code ist nur ein Beispiel.
\documentclass{article}
\usepackage{polyglossia}
\usepackage{amsthm}
\usepackage[linesnumbered,ruled]{algorithm2e}
\newfontfamily{\khmerfont}[Script=Khmer,BoldFont={Khmer OS Content},ItalicFont={Khmer OS Content},Scale=0.9]{Khmer OS Content}
\usepackage{fontspec}
\newfontfamily{\K}[Scale=0.90]{Khmer OS Content}
\newfontfamily{\T}[Scale=0.90]{Khmer OS Moul}
\setmainlanguage{khmer}
\setsansfont[Script=Khmer,Scale=0.95]{Khmer OS Content}
\setmonofont[Script=Khmer,Scale=0.95]{Khmer OS Content}
\setotherlanguage{english}
\begin{document}
អាល់កូរីតដើម្បីរកតួចែករួមធំបំផុត (\textenglish{PGCD})។
\begin{algorithm}
\begin{english}
\SetKwInOut{Input}{\textenglish{Input}}
\SetKwInOut{Output}{\textenglish{Output}}
\underline{function Euclid} $(a,b)$\;
\Input{Two non negative integers $a$ and $b$}
\Output{$\gcd(a,b)$}
\eIf{$b=0$}
{
return $a$\;
}
{
return Euclid$(b, a mod b)$\;
}
\caption{\textenglish{Euclid's algorithm for finding the greatest common divisor of two non negative integers}}
\end{english}
\end{algorithm}
\end{document}
Ein weiteres Problem, auf das ich gestoßen bin, ist, dass der Befehl \mod ebenfalls nicht erkannt wird. Wenn ich dies schreibe
\eIf{$b=0$}
{
return $a$\;
}
{
return Euclid$(b, a \mod b)$\;
}
Ich habe die Fehlermeldung „Undefinierte Steuersequenz return Eucli$(b, a \mod …“) erhalten.