
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:
Antwort2
Wenn Sie auf Persisch setzen, sollten Sie zunächsttotalErwägen Sie die Verwendung xepersian
anstelle von polyglossia
.
Zweitens ist bei der Verwendung lettrine
in nicht-lateinischen Schriften eine besondere Überlegung erforderlich: Ihre Schriftart muss x
Zeichen haben. Andernfalls erhalten Sie einen Fehler bei der Division durch Null. Sie können die Kommentare von Vafa Khalighi, dem Autor von bidi
zu 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}
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}
Möglicherweise möchten Sie auch einen chapter
Zähler und eine \chapter
Steuersequenz 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}