I am trying to write an official letter in Arabic using the package newlfm but the text is aligned from left to right instead of right to left. Here is my code:







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

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


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






And below is the resulting document:

enter image description here

I would appreciate it if someone can help me fix the alignment (make it right to left instead of left to right). Thanks.

  • The letter construction doesn't allow for this being set right-to-left. You're better of not using newlfm.
    – Werner
    Dec 29, 2020 at 2:56

1 Answer 1


You can use the letter document class with the layout=sectioning option of babel, instead of newlfm

You might be able to adapt this template, which requires LuaLaTeX 1.12 or later. (It would work in XeLaTeX, with a few changes.)

\usepackage[bidi=basic, layout=sectioning.tabular, british]{babel}

\defaultfontfeatures{ Scale=MatchLowercase,
                      Renderer=HarfBuzz }

          [Scale=1.0, Ligatures=Common, Language=Default]{Libertinus Serif}
          [Ligatures=Common, Language=Default]{Libertinus Sans}
          [Language=Default]{Libertinus Mono}

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



  {193 الصويرة 44000}\\

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



Amiri sample

I attempted to simply copy and paste the Arabic from the question, and apologize for any errors.

  • Thank you for your help, I used the letter class for many letters before, but the results with the newlfm class look much better for some letters I wrote in english, and that's why I wanted to use newlfm for arabic letters. Dec 29, 2020 at 15:06

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .