xelatex の alltt 環境内で言語を切り替える

xelatex の alltt 環境内で言語を切り替える

環境内で XeLaTeX で複数の言語を使用するにはどうすればよいですか\alltt?

私はこれをBabelを使ってpdfLaTeXでコンパイルする際に問題を抱えています

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[greek,english]{babel}
\usepackage{alltt}
\begin{document}
\begin{alltt}
 this is a test
\foreignlanguage{greek}{αυτό είναι μια δοκιμή}
\end{alltt}
\end{document}

しかし、XeLaTeXでコンパイルするときに同様のことを試してみると:(ShareLateXで例を見る)ギリシャ語のテキストはコンパイルされたPDFには表示されません

\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage{alltt}
% Times New Roman
\setmainfont[BoldFont=timesbd.ttf, ItalicFont=timesi.ttf, BoldItalicFont=timesbi.ttf
]{times.ttf}
\begin{document}
\begin{alltt}
this is a test 
αυτό είναι μια δοκιμή 
\end{alltt}
\end{document}

答え1

ギリシャ文字を含む等幅フォントを定義する必要があります。例えば

\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage{alltt}

\setmainfont[
  Extension=.ttf,
  UprightFont=*,
  BoldFont=*bd,
  ItalicFont=*i,
  BoldItalicFont=*bi,
]{times}

\setmonofont{cmuntt.otf} % or any other monospaced font supporting Greek

\begin{document}
\begin{alltt}
this is a test
αυτό είναι μια δοκιμή
\end{alltt}
\end{document}

ここに画像の説明を入力してください

関連情報