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

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

  • 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 Feb 28 at 14:35
  • @Maïeul: weather ≠ whether. – Bernard Feb 28 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? – David Purton Mar 1 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. – David Purton Mar 1 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 – David Purton Mar 1 at 0:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.