我正在使用 XeTex 编写一本阿萨姆语书籍。使用 \subsection 命令时,它开始编号,但没有所属的章节编号。\subsubsection
命令不打印任何数字,而且其缩进也是错误的。我尝试使用\renewcommand
。但无法修复错误。使用ployglossia
也会导致同样的情况。此外,为了获得阿萨姆语数字的章节编号,我必须定义\bengalinumeral
如下所示。
\documentclass[12pt,a4paper]{book}
% For a bilingual document
\usepackage{fontspec}
\usepackage[banglamainfont=SolaimanLipi, banglattfont=SolaimanLipi ]{latexbangla}
%\setmainlanguage[changecounternumbering=true]{bengali}
\setotherlanguage{english}
\usepackage{fancyhdr}
\makeatletter
\def\bengalidigits#1{\expandafter\@bengali@digits #1@}
\def\@bengali@digits#1{%
\ifx @#1
\else
\ifx0#1০\else\ifx1#1১\else\ifx2#1২\else\ifx3#1৩\else\ifx4#1৪\else\ifx5#1৫\else\ifx6#1৬\else\ifx7#1৭\else\ifx8#1৮\else\ifx9#1৯\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\expandafter\@bengali@digits
\fi
}
\makeatother
\def\bengalinumber#1{\bengalidigits{\number#1}}
\def\bengalinumeral#1{\bengalinumber{\csname c@#1\endcsname}}
\renewcommand\thechapter{\bengalinumeral{chapter}}
\renewcommand\thesection{\bengalinumeral{section}}
\renewcommand{\thesubsection}{\thesection.\bengalinumeral{subsection}}
\renewcommand{\thesubsubsection}{\thesection.\thesubsection.\bengalinumeral{subsubsection}}
\numberwithin{subsection}{section}
\numberwithin{subsubsection}{subsection}
\begin{document}
\chapter{ওভটনি সোঁত}
%\begin{bengali}
\section{পাতনি}
abcdefgh কখগঘঙচছজঝঞ টঠডঢণ তথদধন পফবভম যৰলৱ শ ষ স হ ক্ষ
আ অা ই ঈ উ ঊ ঋ এ ঐ ও ঔ
\subsection{কককক}
abcdefgh কখগঘঙচছজঝঞ টঠডঢণ তথদধন পফবভম যৰলৱ শ ষ স হ ক্ষ
আ
অ আ ই ঈ উ ঊ ঋ এ ঐ ও ঔ
\subsubsection{খখখখ}
\section{হহহহ}
\subsection{এয়া চাবচেক্চন}
\end{document}
有人可以指导我吗?
感谢致敬。
答案1
欢迎来到 tex.se。
可能是 latexbangla 和 polyglossia 的相互作用导致了这一切,最近 polyglossia 被引入到了 latexbangla 中。
每个问题一个问题是预期的格式,否则人们可能会对答案的内容或是否有帮助感到困惑。
也许这个错误修复请求可能相关:在 latexbangla 和 polyglossia 中不能使用“宏参数字符 #”错误
如果我手动激活多语种(直到 latexbangla 错误修复出现),并对所有级别进行编号并注释掉代码更改,则编号格式现在看起来正常。
%
由于后面缺少a,所以多了一个空格\ifx @#1
。请参阅bengalidigits.sty
polyglossia 下的包。另请参阅同一包中语句的使用\ifcase
(更紧凑)。
可以使用 设置节级编号\setcounter{secnumdepth}{x}
,其中默认值为 x = 3。
您的数字/数字/部分重新定义代码块引入了空格并关闭了项目,但我没有时间对其进行调试。无论如何,如果我理解正确的话,所有这些似乎都是由 latexbangla 使用 polyglossia(例如gloss-bengali.ldf
文件)完成的,因此修复后应该没问题。
平均能量损失
\documentclass[12pt,a4paper]{book}
% For a bilingual document
\usepackage{fontspec}
\usepackage[banglamainfont=SolaimanLipi, banglattfont=SolaimanLipi ]{latexbangla}
%\setmainlanguage[changecounternumbering=true]{bengali}
%activate polyglossia
\setdefaultlanguage[numerals=Bengali,
changecounternumbering=true]{bengali}
%number all levels
\setcounter{secnumdepth}{5}
\setotherlanguage{english}
\usepackage{fancyhdr}
% \makeatletter
% \def\bengalidigits#1{\expandafter\@bengali@digits #1@}
% \def\@bengali@digits#1{%
% \ifx @#1
% \else
% \ifx0#1০\else\ifx1#1১\else\ifx2#1২\else\ifx3#1৩\else\ifx4#1৪\else\ifx5#1৫\else\ifx6#1৬\else\ifx7#1৭\else\ifx8#1৮\else\ifx9#1৯\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
%%%%%%% \ifcase#1০\or১\or২\or৩\or৪\or৫\or৬\or৭\or৮\or৯\fi
%%%%%% \ifcase#1০\or১\or২\or৩\or৪\or৫\or৬\or৭\or৮\or৯\fi
% \expandafter\@bengali@digits
% \fi
% }
%%%%%%%\def\bengalidigits#1{\expandafter\@bengali@digits #1@}
%%%%%%%\def\@bengali@digits#1{%
%%%%%%% \ifx @#1% terminate
%%%%%%% \else
%%%%%%%% \ifcase#1০\or১\or২\or৩\or৪\or৫\or৬\or৭\or৮\or৯\fi
%%%%%%% \expandafter\@bengali@digits
%%%%%%% \fi
%%%%%%%}
%%%%%%
%%%%%%
% \makeatother
% \def\bengalinumber#1{\bengalidigits{\number#1}}
% \def\bengalinumeral#1{\bengalinumber{\csname c@#1\endcsname}}
% \renewcommand\thechapter{\bengalinumeral{chapter}}
% \renewcommand\thesection{\bengalinumeral{section}}
% \renewcommand{\thesubsection}{\thesection.\bengalinumeral{subsection}}
% \renewcommand{\thesubsubsection}{\thesection.\thesubsection.\bengalinumeral{subsubsection}}
% \numberwithin{subsection}{section}
% \numberwithin{subsubsection}{subsection}
\begin{document}
\chapter{ওভটনি সোঁত}
\section{পাতনি x}
\subsection{কককক y}
\subsubsection{খখখখ z}
\paragraph{খখখখ z1}
\subparagraph{খখখখ z2}
\section{হহহহ}
\subsection{এয়া চাবচেক্চন}
\subsection{কককক}
\subsubsection{খখখখ}
\paragraph{খখখখ}
\subparagraph{খখখখ}
\end{document}