Alterar o estilo de numeração para bengali na lista ordenada aninhada

Alterar o estilo de numeração para bengali na lista ordenada aninhada

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=alphabetica 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}

Amostra de fonte Shonar Bangla

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.

informação relacionada