レトリン文字とアラビア文字

レトリン文字とアラビア文字

私は、番号が付けられ、タイトルのない章を含むテキストを LaTeX でタイプセットしようとしており、テキスト内の章番号を常に大きく表示したいと考えています。ラテン文字のテキストでは 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著者のVafa Khalighiのコメントを参照してください。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}

関連情報