
私は主にベンガル語で英語も含まれる文書を書いています。上記の方法を使用して、セクションとサブセクションの番号をベンガル語に変更することができました。ここDavislor による。ただし、これによってネストされたリストの番号付けスタイルがベンガル語に変更されるわけではありません。
画像からわかるように、ネストされたリストの内側のリストでは、番号付けスタイルとして英語のアルファベットが使用されています。これをベンガル語のアルファベット (ক、খ、গ など) に置き換えたいのですが、どうすればよいですか?
以下に最小限の動作例を示します。
% !TeX program = xelatex
\documentclass[12pt]{article}
\usepackage{babel}
\babelprovide[maparabic]{bengali}
\babelfont{rm}{Shonar Bangla}
\babelfont[english]{rm}{Times New Roman}
\begin{document}
\section{প্রথম অধ্যায়}
Foo bar
\begin{enumerate}
\item ফু
\begin{enumerate}
\item বার
\item ফু
\end{enumerate}
\item বার
\end{enumerate}
\end{document}
私は MiKTeX と XeLaTeX を使用しています。
答え1
alph=alphabetic
役に立ったようで嬉しいです。短い回答:にオプションを追加しますbabelprovide
。長い回答 (LuaLaTeX との互換性が有効になり、いくつかの機能が追加されます):
% Recommended with LuaLaTeX in TeX Live 2020 or later,
% but also works with XeLaTeX.
\documentclass[12pt]{article}
\tracinglostchars=2 % Warn if the current font lacks a character.
\usepackage{iftex}
\ifluahbtex % Includes LuaLaTeX in TeX Live 2020.
\usepackage[bidi=basic, layout=sectioning.counters]{babel}
\usepackage{fontspec}
%% Will auto-detect the language on LuaLaTeX:
\defaultfontfeatures{ Renderer=HarfBuzz, Ligatures=TeX, Scale=MatchLowercase }
\babelprovide[onchar=ids fonts]{english}
\else % Another Unicode engine, such as XeLaTeX.
\usepackage[bidi=default, layout=sectioning.counters, english]{babel}
\usepackage{fontspec}
\defaultfontfeatures{ Ligatures=TeX, Scale=MatchLowercase }
\fi
\babelprovide[import,
main,
maparabic,
alph=alphabetic
]{bengali}
\babelfont{rm}
[Scale=1.0, Language=Default]{Shonar Bangla}
\babelfont[english]{rm}
[Ligatures=Common]{Times New Roman}
\begin{document}
\section{প্রথম অধ্যায়}
Foo bar
\begin{enumerate}
\item ফু
\begin{enumerate}
\item বার
\item ফু
\end{enumerate}
\item বার
\end{enumerate}
\end{document}
LuaLaTeX では、このドキュメントは英語で入力すると自動的に検出され、言語が変更されるので、英語のテキストは Times New Roman で表示され、ハイフネーション パターン、合字などが取得されます。
XeTeX は、明示的に変更しない限り、すべてのテキストをデフォルトの言語として扱います。明示的に変更するには、 コマンドを追加して と\babeltags{english=english}
記述\textenglish{Foo bar}
します。そうしないと、英語のテキストは Shonar Bengla として表示されます。ベンガル語のフォントがラテン アルファベットをサポートしていない場合や、LTR と RTL を切り替えている場合は、このことがより顕著になります。