Ich habe ein kleines Problem mit hebräischen Zitaten in einem Dokument, das ich setze. Ich habe Zitate aus der Bibel in der Form „Buchkapitel:Vers: Hebräischer Text“. Wenn der hebräische Text in der nächsten Zeile fortgesetzt wird, ist er linksbündig, während ich ihn rechtsbündig haben möchte.
Die Verwendung \flushright
ist keine Option, da die Bibelstelle weiterhin linksbündig ausgerichtet sein soll. Die Verwendung \hfill
ist keine Option, da ich nicht weiß, wo der Zeilenumbruch erfolgt.
Bitte beachten Sie das MWE unten. Das Ergebnis sollte entweder wie im ersten Beispiel sein, aber mit der zweiten Zeile rechtsbündig, oder, gleichwertig, wie im zweiten Beispiel, aber mit der ersten Zeile im Blocksatz.
Wenn ein Absatz nur eine Zeile lang ist, sollte er linksbündig ausgerichtet sein.
\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}
(Kompilieren mit XeLaTeX. Erfordert dieEzra SIL Schriftart).
Antwort1
Versuche dies:
\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}