阿拉伯字母未正确对齐

阿拉伯字母未正确对齐

我正在尝试使用该包用阿拉伯语写一封正式信函newlfm,但文本是从左到右对齐的,而不是从右到左对齐的。这是我的代码:

\documentclass[11pt,stdletter,orderfromtodate,sigcenter]{newlfm}
\newlfmP{headermarginsize=20pt}
\newlfmP{addrfromskipbefore=0pt}
\newlfmP{addrtoskipbefore=-25pt}
\newlfmP{dateskipbefore=0pt}
\newlfmP{sigsize=0pt}
\newlfmP{sigskipbefore=30pt}
% 
\newlfmP{Headlinewd=0pt,Footlinewd=0pt}

\usepackage{etoolbox}

\makeatletter
\patchcmd{\@zfancyhead}{\fancy@reset}{\f@nch@reset}{}{}
\patchcmd{\@set@em@up}{\f@ncyolh}{\f@nch@olh}{}{}
\patchcmd{\@set@em@up}{\f@ncyolh}{\f@nch@olh}{}{}
\patchcmd{\@set@em@up}{\f@ncyorh}{\f@nch@orh}{}{}
\makeatother

\usepackage{graphicx}
\usepackage{fontspec}
\usepackage{setspace}
\usepackage{polyglossia}

\setmainlanguage[calendar=gregorian,hijricorrection=1,locale=morocco]{arabic}
\setotherlanguage[variant=british]{english}

\setmainfont{Amiri}

\namefrom{سعيد}
\addrfrom{%
\\193 الصويرة 44000
\\الهاتف: \LR{\textenglish{06~00~00~00~00}}
}

\addrto{%
\textbf{إلى السيد: المدير بالنيابة للمدرسة العليا للتكنولوجيا بالناظور}\\     
}

\dateset{\today}

\greetto{الموضوع: شغل منصب أستاذ التعليم العالي مساعد}

\closeline{التوقيع:}

\begin{document}

\begin{newlfm}

\end{newlfm}

\end{document}

以下是最终的文档:

在此处输入图片描述

如果有人能帮助我修复对齐方式(从右到左而不是从左到右),我将不胜感激。谢谢。

答案1

您可以使用带有选项的letter文档类,而不是layout=sectioningbabelnewlfm

您也许能够调整此模板,它需要 LuaLaTeX 1.12 或更高版本。(只需进行一些更改,它就可以在 XeLaTeX 中使用。)

\documentclass[11pt]{letter}
\usepackage[bidi=basic, layout=sectioning.tabular, british]{babel}
\usepackage{fontspec}

\defaultfontfeatures{ Scale=MatchLowercase,
                      Ligatures=TeX,
                      Renderer=HarfBuzz }

\babelfont{rm}
          [Scale=1.0, Ligatures=Common, Language=Default]{Libertinus Serif}
\babelfont{sf}
          [Ligatures=Common, Language=Default]{Libertinus Sans}
\babelfont{tt}
          [Language=Default]{Libertinus Mono}

\babelprovide[import=ar-MA, main]{arabic}
\babelfont[arabic]{rm}
          {Amiri}
% Set \babelfont[arabic]{sf} here if needed.
\babelfont[arabic]{tt}
          {ALM Fixed}

\babeltags{english=british}

\signature{سعيد}

\address{
  {193 الصويرة 44000}\\
  {الهاتف:}\\
  \textenglish{06~00~00~00~00}
}

\begin{document}
\begin{letter}{\textbf{إلى السيد: المدير بالنيابة للمدرسة العليا للتكنولوجيا بالناظور}}
\opening{الموضوع: شغل منصب أستاذ التعليم العالي مساعد}

\ldots

\closing{التوقيع:}
\end{letter}
\end{document}

Amiri样本

我试图简单地从问题中复制并粘贴阿拉伯语,并对任何错误表示歉意。

相关内容