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

在此处输入图片描述

相关内容