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

在此輸入影像描述

相關內容