
Я пытаюсь набрать тексты с пронумерованными, не озаглавленными главами с помощью латекса и хочу, чтобы номер главы всегда был большим в тексте. Я успешно использовал lettrine в тексте с латинским шрифтом, но у меня получаются ужасные наложения текста в арабском шрифте. Вот что я делаю.
\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}
Есть ли какие-нибудь полезные предложения?
решение1
Я наконец понял, что изменение номера главы выявило проблему. (С «1» гораздо менее очевидно, что текст и номер перекрываются. «8» делает это очевидным.)
Проблема, я думаю, в том, что летрин предназначен для того, чтобы справляться спараграфно исходный код включал разрыв абзаца после первой строки. Поэтому последующие строки не получали правильного отступа. Использование разрыва строки вместо разрыва абзаца позволяет избежать этой проблемы. Я установил номер главы в \englishfont, но это работает и с \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}
Это производит:
решение2
Прежде всего, если вы печатаете на персидском языке, вам следуетполностьюрассмотрите возможность использования xepersian
вместо polyglossia
.
Во-вторых, использование lettrine
нелатинских шрифтов требует особого внимания: ваш шрифт должен иметь x
символ. В противном случае вы получите ошибку деления на ноль. Вы можете увидеть комментарии Вафы Халиги, автора по bidi
этому вопросуздесьна персидском языке.
В этом примере показано, как вы имели в виду xepersian
, и никаких проблем не возникает.
\documentclass{article}
\usepackage{lettrine}
\usepackage{xepersian}
\settextfont{XB Zar}
\begin{document}
\lettrine[lines=3]{1}{ } تقدیم به عالیجناب تئوفیلوس:\\
تا به حال نویسندگان بسیاری به نوشتن شرح وقایعی كه در بین ما رخ داده است، اقدام کردهاند
تا به حال نویسندگان بسیاری به نوشتن شرح وقایعی كه در بین ما رخ داده است، اقدام کردهاند
تا به حال نویسندگان بسیاری به نوشتن شرح وقایعی كه در بین ما رخ داده است، اقدام کردهاند
تا به حال نویسندگان بسیاری به نوشتن شرح وقایعی كه در بین ما رخ داده است، اقدام کردهاند
\end{document}
Обратите внимание, что после нужно не менее 3 строк текста \lettrine
. Поэтому я скопировал ваш текст несколько раз.
Теперь, если вы настаиваете на использовании polyglossia
, вот рабочий пример \lettrine
. Единственное изменение — удаление разрыва абзаца, чтобы избежать слияния пропущенной буквы со следующим абзацем.
\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}
Вы также можете определить chapter
счетчик и \chapter
последовательность управления для автоматизации этого процесса:
\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}