Citação hebraica com alinhamento adequado à direita no final de uma frase em uma nova linha

Citação hebraica com alinhamento adequado à direita no final de uma frase em uma nova linha

Estou tendo um pequeno problema com citações em hebraico em um documento que estou formatando. Tenho citações da Bíblia na forma "Capítulo de livro: versículo: texto hebraico". Quando o texto hebraico continua na próxima linha, ele é alinhado à esquerda, enquanto eu quero que seja alinhado à direita.

Usar \flushrightnão é uma opção, pois a referência bíblica ainda deve estar alinhada à esquerda. Usar \hfillnão é uma opção, pois não sei onde ocorre a quebra de linha.

Por favor, veja o MWE abaixo. O resultado deve ser como o primeiro exemplo, mas com a segunda linha alinhada à direita, ou, equivalentemente, como o segundo exemplo, mas com a primeira linha justificada.

Quando um parágrafo tem apenas uma linha, ele deve ser alinhado à esquerda.

insira a descrição da imagem aqui

\documentclass{article}

\usepackage[margin=4cm]{geometry}
\usepackage{showframe}

\usepackage{polyglossia} 
\setdefaultlanguage{english}
\setotherlanguage{hebrew}
\newfontfamily\englishfont[Mapping=tex-text]{Latin Modern Roman}
\newfontfamily\hebrewfont[Scale=MatchLowercase]{Ezra SIL}
\DeclareTextFontCommand{\ez}{\hebrewfont}

\parindent0pt

\begin{document}

Nehemia 4:8b--c: \RL{\ez{אל־תיראו מפניהם את־אדני הגדול והנורא זכרו והלחמו על־אחיכם בניכם ובנתיכם נשיכם ובתיכם}}

\flushright{Nehemia 4:8b--c: \RL{\ez{אל־תיראו מפניהם את־אדני הגדול והנורא זכרו והלחמו על־אחיכם בניכם ובנתיכם נשיכם ובתיכם}}}

\end{document}

(Compile com XeLaTeX. Requer oFonte Ezra SIL).

Responder1

Experimente isto:

\documentclass{article}
\usepackage{parskip}
\usepackage{polyglossia} 
\setdefaultlanguage{english}
\setotherlanguage{hebrew}
\newfontfamily\hebrewfont[Scale=MatchLowercase,Script=Hebrew]{SBL BibLit}
\pagestyle{empty}
\newenvironment{RTLpar}{%
  \par\ignorespaces
  \leftskip=0pt plus .5fil%
  \rightskip=0pt plus -.5fil%
  \parfillskip=0pt plus .5fil%
}{\par}
\newbox\linebox
\newcount\linecount
\def\countparlines{%
  \setbox\linebox\lastbox
  \ifvoid\linebox
  \else
    \global\advance\linecount 1%
    \unskip\unpenalty
    {\countparlines}%
  \fi}
\def\rtlpar#1{%
  \vskip-\baselineskip % This is a hack, but I don't know the proper solution
  \global\linecount=0%
  \vbox{#1\par\countparlines}%
  \ifnum\linecount>1
    \begingroup
    \leftskip=0pt plus .5fil%
    \rightskip=0pt plus -.5fil%
    \parfillskip=0pt plus .5fil%
    #1\par
    \endgroup
  \else
    #1\par
  \fi}
\begin{document}
\begin{RTLpar}
  Nehemiah 4:8b--c: \texthebrew{אל־תיראו מפניהם את־אדני הגדול והנורא זכרו
  והלחמו על־אחיכם בניכם ובנתיכם נשיכם ובתיכם}
\end{RTLpar}
\rtlpar{Nehemiah 4:8b--c: \texthebrew{אל־תיראו מפניהם את־אדני הגדול והנורא זכרו
והלחמו על־אחיכם בניכם ובנתיכם נשיכם ובתיכם}}
\rtlpar{Nehemiah 4:8a: \texthebrew{וארא ואקום ואמר אל־החרים ואל־הסגנים ואל
יתר העם}}
\begin{quote}
  \begin{hebrew}
    אל־תיראו מפניהם את־אדני הגדול והנורא זכרו והלחמו על־אחיכם בניכם ובנתיכם
    נשיכם ובתיכם (\textenglish{Nehemiah 4:8b--c})
  \end{hebrew}
\end{quote}
\end{document}

insira a descrição da imagem aqui

informação relacionada