我正在尝试创建一个交错波斯语和英语的直行文本,但遇到了几个问题:1) 它的直行部分似乎可以工作,但实际的波斯语文本没有显示(下图中方框的中间一行)。2) “自由翻译”将英文文本更改为波斯语字符。
我正在使用 TexWorks 和 XeLaTeX。谢谢!
% !TEX TS-program =XeLaTeX
% !TEX encoding = UTF-8
\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{farsi}
\usepackage{fontspec}
\newfontfamily\englishfont[Mapping=tex-text]{Latin Modern Roman}
\newfontfamily\farsifont{Pars Ziba - Draft}
\usepackage{xepersian}
\settextfont{Pars Ziba - Draft}
\setlatintextfont{Latin Modern Roman}
\usepackage{expex}
\lingset{everygla=\englishfont\beginL\footnotesize\it, everyglc=\englishfont\beginL\footnotesize}
\begin{document}
\begin{farsi}
\ex [everyglft=\englishfont\beginL\footnotesize\sc]
\begingl
\gla dar ebtedâ Khodâ âsemân-hâ vah zamin râ .âfarid //
\glb در ابتدا، خدا آسمانها و زمین را آفرید //
\glc In beginning God heavens and earth {*} created//
\glft
In the beginning God created the heavens and the earth.//
\endgl\xe
\end{farsi}
\end{document}
答案1
为了能够polyglossia
正确地在字体之间切换,您应该指定每种字体将使用的脚本。添加Script=Arabic
波斯语字体的选择对我来说解决了这个问题。有关更多信息,请参阅polyglossia
手动的。
这是我的代码版本,虽然我没有安装您的字体,所以我使用了 Times New Roman 和 Arial。这意味着我不能排除您使用的波斯语字体可能存在的问题。
对于您的自由翻译,因为它是英语,所以您应该polyglossia
通过使用 来表达这一点\textenglish{...}
。
% !TEX TS-program =XeLaTeX
% !TEX encoding = UTF-8
\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{farsi}
\usepackage{fontspec}
\newfontfamily\englishfont[Script=Latin,Mapping=tex-text]{Times New Roman}
\newfontfamily\farsifont[Script=Arabic]{Arial}
\usepackage{xepersian}
\settextfont{Arial}
\setlatintextfont{Times New Roman}
\usepackage{expex}
\lingset{everygla=\englishfont\beginL\footnotesize\it, everyglc=\englishfont\beginL\footnotesize}
\begin{document}
\begin{farsi}
\ex [everyglft=\englishfont\beginL\footnotesize\sc]
\begingl
\gla dar ebtedâ Khodâ âsemân-hâ vah zamin râ .âfarid //
\glb در ابتدا، خدا آسمانها و زمین را آفرید //
\glc In beginning God heavens and earth {*} created//
\glft
\textenglish{In the beginning God created the heavens and the earth.}//
\endgl\xe
\end{farsi}
\end{document}
答案2
我建议查看 ArabTeX 包,而不是直接输入 polyglossia。它具有从同一来源创建音译和阿拉伯语原文的巨大优势。文档中有行间文本的示例。