Ändern Sie den Nummerierungsstil in der verschachtelten geordneten Liste in Bengalisch

Ändern Sie den Nummerierungsstil in der verschachtelten geordneten Liste in Bengalisch

Ich schreibe ein Dokument, das hauptsächlich auf Bengalisch ist, aber auch Englisch enthält. Ich konnte die Abschnitts- und Unterabschnittsnummern mit der beschriebenen Methode in Bengalisch ändernHiervon Davislor. Dies ändert jedoch nicht den Nummerierungsstil für verschachtelte Listen in Bengalisch.

Wie aus dem Bild ersichtlich, werden für die innere Liste der verschachtelten Liste als Nummerierungsstil englische Alphabete verwendet. Ich möchte diese durch bengalische Alphabete (ক, খ, গ usw.) ersetzen. Wie kann das gemacht werden?

Hier ist ein minimales funktionierendes Beispiel.

% !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}

Ich verwende MiKTeX und XeLaTeX.

Antwort1

Freut mich, dass Sie das hilfreich fanden. Kurze Antwort: Fügen Sie die Option alph=alphabeticzu hinzu babelprovide. Längere Antwort (die die Kompatibilität mit LuaLaTeX ermöglicht und ein paar Extras hinzufügt):

% 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}

Shonar Bangla-Schriftbeispiel

Unter LuaLaTeX erkennt dieses Dokument automatisch, wenn Sie Englisch eingeben und die Sprache ändern, sodass Ihnen der englische Text in Times New Roman angezeigt wird und Sie Silbentrennungsmuster, Ligaturen usw. erhalten.

XeTeX behandelt den gesamten Text als Standardsprache, sofern Sie dies nicht ausdrücklich ändern. Dies können Sie tun, indem Sie den Befehl hinzufügen \babeltags{english=english}und schreiben \textenglish{Foo bar}. Andernfalls wird Ihr englischer Text als Shonar Bengla angezeigt. Dies wäre deutlicher zu erkennen, wenn Ihre bengalische Schriftart das lateinische Alphabet nicht unterstützt oder wenn Sie zwischen LTR und RTL wechseln.

verwandte Informationen