1

while \hangindent works perfectly for left to right text, it does not work for RTL text, with bidi.

Cf this example running with xelatex

\documentclass{article}
\usepackage{polyglossia}
\usepackage{libertine}
\setmainlanguage{french}
\setotherlanguage{hebrew}
\begin{document}
\begin{hebrew}
  \parindent=0em
\hangindent=4em
\hangafter=1
בְּרֵאשִׁ֖ית בָּרָ֣א אֱלֹהִ֑ים אֵ֥ת הַשָּׁמַ֖יִם וְאֵ֥ת הָאָֽרֶץ׃
וְהָאָ֗רֶץ הָיְתָ֥ה תֹ֨הוּ֙ וָבֹ֔הוּ וְחֹ֖שֶׁךְ עַל־פְּנֵ֣י תְהֹ֑ום וְר֣וּחַ אֱלֹהִ֔ים מְרַחֶ֖פֶת עַל־פְּנֵ֥י הַמָּֽיִם׃
וַיֹּ֥אמֶר אֱלֹהִ֖ים יְהִ֣י אֹ֑ור וַֽיְהִי־אֹֽור׃
יַּ֧רְא אֱלֹהִ֛ים אֶת־הָאֹ֖ור כִּי־טֹ֑וב וַיַּבְדֵּ֣ל אֱלֹהִ֔ים בֵּ֥ין הָאֹ֖ור וּבֵ֥ין הַחֹֽשֶׁךְ׃
\end{hebrew}

  \parindent=0em
\hangindent=4em
\hangafter=1
1Au commencement Dieu créa le ciel et la terre.
2La terre était un chaos, elle était vide ; il y avait des ténèbres au-dessus de l'abîme, et le souffle de Dieu tournoyait au-dessus des eaux.
3Dieu dit : Qu'il y ait de la lumière ! Et il y eut de la lumière.
4Dieu vit que la lumière était bonne, et Dieu sépara la lumière et les ténèbres
\end{document}

2 Answers 2

3

You can set \hangindent < 0 to indent from the right. I notice it also needs \par (or empty line) at end of Hebrew paragraph.

\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{french}
\setotherlanguage{hebrew}
\newfontfamily{\hebrewfont}{SBL BibLit}[Script=Hebrew,Contextuals=Alternate]
\begin{document}
\begin{hebrew}
  \parindent=0em
  \hangindent=-4em
  \hangafter=1
  בְּרֵאשִׁ֖ית בָּרָ֣א אֱלֹהִ֑ים אֵ֥ת הַשָּׁמַ֖יִם וְאֵ֥ת הָאָֽרֶץ׃
  וְהָאָ֗רֶץ הָיְתָ֥ה תֹ֨הוּ֙ וָבֹ֔הוּ וְחֹ֖שֶׁךְ עַל־פְּנֵ֣י תְהֹ֑ום וְר֣וּחַ אֱלֹהִ֔ים מְרַחֶ֖פֶת עַל־פְּנֵ֥י הַמָּֽיִם׃
  וַיֹּ֥אמֶר אֱלֹהִ֖ים יְהִ֣י אֹ֑ור וַֽיְהִי־אֹֽור׃
  יַּ֧רְא אֱלֹהִ֛ים אֶת־הָאֹ֖ור כִּי־טֹ֑וב וַיַּבְדֵּ֣ל אֱלֹהִ֔ים בֵּ֥ין הָאֹ֖ור וּבֵ֥ין הַחֹֽשֶׁךְ׃

\end{hebrew}

\parindent=0em
\hangindent=4em
\hangafter=1
1Au commencement Dieu créa le ciel et la terre.
2La terre était un chaos, elle était vide ; il y avait des ténèbres au-dessus de l'abîme, et le souffle de Dieu tournoyait au-dessus des eaux.
3Dieu dit : Qu'il y ait de la lumière ! Et il y eut de la lumière.
4Dieu vit que la lumière était bonne, et Dieu sépara la lumière et les ténèbres
\end{document}

output

6
  • 1
    indeed, that work, but that implies a different treatment weather your are on RTL or on LTR. So with more complex example (as on tex.stackexchange.com/q/477099/7712, that would be problematic)
    – Maïeul
    Commented Feb 28, 2019 at 14:35
  • @Maïeul: weather ≠ whether.
    – Bernard
    Commented Feb 28, 2019 at 17:00
  • @Maïeul, I just worked out you can use a negative value for \hangindent. Could you set the sign inside your \hangindentX{…} macro based on current text direction? Commented Mar 1, 2019 at 0:02
  • @Maïeul, e.g., if you redefine \normalfootfmtX (and your other macros that use \hangindent) to test \if@RTL and then change sign of \hangindent you can get the output you want in the other question. Commented Mar 1, 2019 at 0:24
  • 1
    @Maïeul, something like this: \if@RTL \hangindent=-\csuse{hangindentX@#1}% \everypar{\hangindent=-\csuse{hangindentX@#1}}% \else \hangindent=\csuse{hangindentX@#1}% \everypar{\hangindent=\csuse{hangindentX@#1}}% \fi Commented Mar 1, 2019 at 0:25
0

Using arabluatex and enumitem, here is a MWE:

%!TEX TS-program = lualatex
%!TEX encoding = UTF-8 Unicode

\documentclass{report}
\usepackage{fontspec}
    \newfontfamily\arabicfont[Script=Arabic]{Amiri}
\usepackage{arabluatex}

\usepackage{enumitem}
    \newlist{hangar}{itemize}{1}
    \setlist[hangar]{label={},itemindent=-2em,leftmargin=2em}

\begin{document}
\Huge

\begin{arab}
\begin{hangar}
\item 
kalimAt kalimAt kalimAt kalimAt kalimAt kalimAt 
kalimAt kalimAt kalimAt kalimAt kalimAt  

\item
kalimAt kalimAt kalimAt kalimAt kalimAt kalimAt 
kalimAt kalimAt kalimAt kalimAt kalimAt  
\end{hangar}
\end{arab}

\end{document}

RTL hanging indent sample

You must log in to answer this question.

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