
나는 주로 벵골어로 작성되었지만 영어도 포함된 문서를 작성하고 있습니다. 설명된 방법을 사용하여 섹션 및 하위 섹션 번호를 벵골어로 변경할 수 있었습니다.여기데이비스로. 그러나 중첩된 목록의 번호 매기기 스타일은 벵골어로 변경되지 않습니다.
이미지에서 볼 수 있듯이 중첩 목록의 내부 목록에는 번호 매기기 스타일로 영어 알파벳이 사용됩니다. 이를 벵골어 알파벳(ক, খ, গ 등)으로 바꾸고 싶습니다. 어떻게 할 수 있습니까?
다음은 최소한의 작업 예입니다.
% !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로 표시됩니다. 이는 Bengali 글꼴이 라틴 알파벳을 지원하지 않거나 LTR과 RTL 사이를 전환하는 경우 더 눈에 띄게 나타납니다.