Леттрина и арабская письменность

Леттрина и арабская письменность

Я пытаюсь набрать тексты с пронумерованными, не озаглавленными главами с помощью латекса и хочу, чтобы номер главы всегда был большим в тексте. Я успешно использовал 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}

Связанный контент