알고리즘2e의 캡션 및 의사 코드는 상자로 표시됩니다(렌더링되지 않음).

알고리즘2e의 캡션 및 의사 코드는 상자로 표시됩니다(렌더링되지 않음).

polyglossia크메르어를 주 언어로 하고 영어를 보조 언어로 설정하여 다국어 문서를 만들고 싶습니다 . khmer-gloss.ldf크메르어 글꼴을 기본 글꼴로 설정할 수도 있습니다 . 모든 의사 코드는 아래 그림과 같이 상자에 표시되며 캡션도 표시되지 않습니다. 나는 그것이 글꼴의 문제라는 것을 알고 있지만 패키지를 처음 접했습니다 polyglossia. 이 문제를 해결하는 방법을 아는 사람이 있나요? 아래 코드는 단지 예시일 뿐입니다.

\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}

여기에 이미지 설명을 입력하세요

내가 겪은 또 다른 문제는 \mod 명령도 인식되지 않는다는 것입니다. 내가 이걸 썼다면

\eIf{$b=0$}
{
   return $a$\;
}
{
   return Euclid$(b, a \mod b)$\;
}

"정의되지 않은 제어 시퀀스가 ​​Eucli$(b, a \mod ...를 반환합니다."라는 오류가 발생했습니다.

관련 정보