![阿拉伯字母未正确对齐](https://linux22.com/image/426280/%E9%98%BF%E6%8B%89%E4%BC%AF%E5%AD%97%E6%AF%8D%E6%9C%AA%E6%AD%A3%E7%A1%AE%E5%AF%B9%E9%BD%90.png)
我正在尝试使用该包用阿拉伯语写一封正式信函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=sectioning
babel
newlfm
您也许能够调整此模板,它需要 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}
我试图简单地从问题中复制并粘贴阿拉伯语,并对任何错误表示歉意。