
Estou escrevendo um documento principalmente em bengali, mas que também contém inglês. Consegui alterar os números das seções e subseções para bengali usando o método descritoaquipor Davislor. No entanto, isso não altera o estilo de numeração para bengali para listas aninhadas.
Como pode ser visto na imagem, para a lista interna da lista aninhada, como estilo de numeração, são utilizados alfabetos ingleses. Quero substituí-los pelos alfabetos bengalis (ক, খ, গ, etc). Como isso pode ser feito?
Aqui está um exemplo mínimo de trabalho.
% !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}
Estou usando MiKTeX e XeLaTeX.
Responder1
Que bom que você achou isso útil. Resposta curta: adicione a opção alph=alphabetic
a babelprovide
. Resposta mais longa (que permite compatibilidade com LuaLaTeX e adiciona alguns recursos):
% 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}
No LuaLaTeX, este documento detectará automaticamente quando você digita em inglês e muda de idioma, então você verá o texto em inglês em Times New Roman e obterá padrões de hifenização, ligaduras e assim por diante.
O XeTeX tratará todo o texto como idioma padrão, a menos que você o altere explicitamente, o que pode ser feito adicionando o comando \babeltags{english=english}
e escrevendo \textenglish{Foo bar}
. Caso contrário, seu texto em inglês aparecerá como Shonar Bengla. Isso seria mais perceptível se sua fonte bengali não suportasse o alfabeto latino ou se você estivesse alternando entre LTR e RTL.