如何将从右到左(波斯语)整合到从左到右的行(英语)中?

如何将从右到左(波斯语)整合到从左到右的行(英语)中?

我正在用英语写一篇论文,其中有一些波斯语。为此,我使用了\usepackage{polyglossia}。问题是波斯语脚本像主要英语句子一样从左到右显示,而不是从右到左显示。当我在单独的行上用波斯语书写时,它会正确对齐(从右到左)。

这是我的代码:

\documentclass[12pt]{scrartcl}

\usepackage{silence}
\WarningFilter{latex}{Command \InputIfFileExists}


\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{polyglossia}
\usepackage{hologo}
\usepackage{fontawesome}
\setmainlanguage{english}
\setotherlanguages{persian}
% Main serif font for English (Latin alphabet) text
\setmainfont{Noto Serif}
% define fonts for other languages
\newfontfamily\persianfont{Scheherazade}[Script=Arabic, Scale=1.8]

\title{ Multilingual Text using Polyglossia}

\begin{document}

\maketitle

This is a mainly English document that contains other languages. Here is some Persian text: \begin{persian}
من کبک دوست دارم
\end{persian}

How I want it to look but in the same line:

\begin{persian}
من کبک دوست دارم
\end{persian}

\end{document}

PS 1 花了几个小时寻找答案,尝试使用波斯语和 Babel 以及 XePersian 包,但没有成功。请帮忙,任何建议都将不胜感激!

PS2 也许是字体问题?

答案1

将答案从评论中移到这里:使用

\textpersian{من کبک دوست دارم}

另一个选择是使用babel命令

\babelprovide[import=fa, onchar=fonts ids]{persian}

它会自动检测您输入的脚本并相应地更改语言。它不是绝对完美的,但它可以处理一行中间的第二种语言的短语。

相关内容