
Estoy escribiendo un documento que está principalmente en bengalí pero que también contiene inglés. Pude cambiar los números de sección y subsección a bengalí usando el método descritoaquípor Davislor. Sin embargo, esto no cambia el estilo de numeración a bengalí para las listas anidadas.
Como se puede ver en la imagen, para la lista interna de la lista anidada, como estilo de numeración, se utilizan alfabetos ingleses. Quiero reemplazarlos con los alfabetos bengalíes (ক, খ, গ, etc.). ¿Cómo se puede hacer esto?
Aquí hay un ejemplo de trabajo mínimo.
% !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}
Estoy usando MiKTeX y XeLaTeX.
Respuesta1
Me alegra que te haya resultado útil. Respuesta corta: agregue la opción alph=alphabetic
a babelprovide
. Respuesta más larga (que permite la compatibilidad con LuaLaTeX y agrega algunas comodidades):
% 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}
En LuaLaTeX, este documento detectará automáticamente cuando escriba en inglés y cambie de idioma, por lo que verá el texto en inglés en Times New Roman y obtendrá patrones de separación de palabras, ligaduras, etc.
XeTeX tratará todo el texto como el idioma predeterminado a menos que lo cambie explícitamente, lo que puede hacer agregando el comando \babeltags{english=english}
y escribiendo \textenglish{Foo bar}
. De lo contrario, su texto en inglés aparecerá como Shonar Bengla. Esto sería más notorio si su fuente bengalí no admitiera el alfabeto latino o si cambiara entre LTR y RTL.