Lettrine und arabische Schrift

Lettrine und arabische Schrift

Ich versuche, Texte mit nummerierten, unbetitelten Kapiteln mit Latex zu setzen und möchte, dass die Kapitelnummer im Text immer groß dargestellt wird. Ich habe Lettrine erfolgreich in lateinischen Texten verwendet, aber in arabischen Texten kommt es zu schrecklichen Textüberlappungen. So gehe ich vor.

    \documentclass{article}
    \usepackage{polyglossia}
    \usepackage{lettrine}
    \title{(My title)}
    \date{}

    \setmainlanguage{english}
    \setotherlanguage{farsi}
    \newfontfamily\englishfont{Gentium}
    \newfontfamily\farsifont[Script=Arabic,Scale=1.3,Ligatures=TeX,Mapping=arabicdigits]{Nazli}


    \begin{document}
    \maketitle
    \begin{farsi}


    \lettrine[lines=3]{1}{ }    تقدیم به عالیجناب تئوفیلوس:

تا به حال نویسندگان بسیاری به نوشتن شرح وقایعی كه در بین ما رخ داده است، اقدام         کردهاند
     \end{farsi}
     \end{document}

Irgendwelche nützlichen Vorschläge?

Antwort1

Schließlich wurde mir klar, dass das Vertauschen der Kapitelnummer das Problem verdeutlichte. (Bei einer „1“ ist es viel weniger offensichtlich, dass es eine Überschneidung zwischen Text und Nummer gibt. Eine „8“ macht dies deutlich.)

Das Problem ist meiner Meinung nach, dass Lettrine für die Bewältigung einerAbsatzaber der Originalcode enthielt einen Absatzumbruch nach der ersten Zeile. Daher wurden nachfolgende Zeilen nicht richtig eingerückt. Die Verwendung eines Zeilenumbruchs anstelle eines Absatzumbruchs vermeidet dieses Problem. Ich habe die Kapitelnummer in \englishfont festgelegt, aber es funktioniert auch mit \farsifont.

\documentclass{article}
\usepackage{polyglossia}
\usepackage{lettrine}
\usepackage{fontspec}
\title{(My title)}
\date{}

\setmainlanguage{english}
\setotherlanguage{farsi}
\newfontfamily\englishfont{Gentium}
\newfontfamily\farsifont[Script=Arabic,Scale=1.3,Ligatures=TeX,Mapping=arabicdigits]{Scheherazade-R.ttf}
\renewcommand{\LettrineTextFont}{\farsifont}
\renewcommand{\LettrineFontHook}{\englishfont}

\begin{document}
\maketitle
\begin{farsi}

\lettrine[lines=3]{8}{ }    تقدیم به عالیجناب تئوفیلوس:\\
تا به حال نویسندگان بسیاری به نوشتن شرح وقایعی كه در بین ما رخ داده است، اقدام         کردهاند

\end{farsi}
\end{document}

Das Ergebnis:

Keine Ahnung, was es bedeutet, aber ich nehme an, es ist Farsi mit weggelassener arabischer Zahl als Kapitelnummer (oder wäre es, wenn dies ein Kapitel wäre).

Antwort2

Wenn Sie auf Persisch setzen, sollten Sie zunächsttotalErwägen Sie die Verwendung xepersiananstelle von polyglossia.

Zweitens ist bei der Verwendung lettrinein nicht-lateinischen Schriften eine besondere Überlegung erforderlich: Ihre Schriftart muss xZeichen haben. Andernfalls erhalten Sie einen Fehler bei der Division durch Null. Sie können die Kommentare von Vafa Khalighi, dem Autor von bidizu diesem Thema, lesen.Hierauf Persisch.

In diesem Beispiel wird das, was Sie gemeint haben, mit gesetzt xepersian, und zwar problemlos.

\documentclass{article}
\usepackage{lettrine}
\usepackage{xepersian}   
\settextfont{XB Zar}
\begin{document}
\lettrine[lines=3]{1}{ }    تقدیم به عالیجناب تئوفیلوس:\\
تا به حال نویسندگان بسیاری به نوشتن شرح وقایعی كه در بین ما رخ داده است، اقدام             کردهاند
 تا به حال نویسندگان بسیاری به نوشتن شرح وقایعی كه در بین ما رخ داده است، اقدام         کردهاند 
تا به حال نویسندگان بسیاری به نوشتن شرح وقایعی كه در بین ما رخ داده است، اقدام         کردهاند
تا به حال نویسندگان بسیاری به نوشتن شرح وقایعی كه در بین ما رخ داده است، اقدام         کردهاند
\end{document}

Lettrine mit Xepersian

Beachten Sie bitte, dass nach mindestens 3 Zeilen Text stehen müssen \lettrine. Daher habe ich Ihren Text mehrfach kopiert.

Wenn Sie nun unbedingt verwenden möchten polyglossia, finden Sie hier ein funktionierendes Beispiel für \lettrine. Die einzige Änderung besteht im Entfernen des Absatzumbruchs, um zu vermeiden, dass ausgelassene Buchstaben mit dem nächsten Absatz zusammengeführt werden.

\documentclass{article}
\usepackage{polyglossia}
\usepackage{lettrine}
\title{(My title)}
\date{}

\setmainlanguage{english}
\setotherlanguage{farsi}
\newfontfamily\englishfont{Gentium}
\newfontfamily\farsifont[Script=Arabic,Scale=1.3,Ligatures=TeX,Mapping=arabicdigits]{B Nazanin}{Nazli}


\begin{document}
\maketitle
\begin{farsi}


\lettrine[lines=3]{1}{ }    تقدیم به عالیجناب تئوفیلوس:\\
تا به حال نویسندگان بسیاری به نوشتن شرح وقایعی كه در بین ما رخ داده است، اقدام         کردهاند
\end{farsi}
\end{document}

Lettrin mit Polyglossie

Möglicherweise möchten Sie auch einen chapterZähler und eine \chapterSteuersequenz definieren, um dies zu automatisieren:

\documentclass{article}
\usepackage{lettrine}
\usepackage{xepersian}   
\settextfont{XB Zar}
\newcounter{chapter}
\newcommand{\chapter}{%
    \vskip2em
    \stepcounter{chapter}%
    \lettrine[lines=3]{\arabic{chapter}}{}%
}
\begin{document}
\chapter
    تقدیم به عالیجناب تئوفیلوس:\\
تا به حال نویسندگان بسیاری به نوشتن شرح وقایعی كه در بین ما رخ داده است، اقدام    کردهاند 
تا به حال نویسندگان بسیاری به نوشتن شرح وقایعی كه در بین ما رخ داده است، اقدام کردهاند 
تا به حال نویسندگان بسیاری به نوشتن شرح وقایعی كه در بین ما رخ داده است، اقدام             کردهاند تا به حال نویسندگان بسیاری به نوشتن شرح وقایعی كه در بین ما رخ داده است، اقدام کردهاند
\end{document}

verwandte Informationen