为孟加拉语文章中的数学例子构建模板

为孟加拉语文章中的数学例子构建模板

我目前正在尝试撰写一篇包含许多示例的孟加拉语文章。为了更好地理解,这里是图中的任务示例。

![在此处输入图片描述

你会在这里注意到:

  • 孟加拉数字的增量。
  • 示例标题包含粗体和斜体格式。
  • 示例内的所有文本均左对齐。
  • 标题和文本之间有小间隙。
  • 最后一行末尾有一个黑色方块。

但是,我发现很难对此进行简单的排版。我尝试为这里的所有示例制作一个模板,例如:

\begin{example}[যোগ করো: ৫২৮৯+৩৭২৬]
text..
\end{example}

我尝试了一些想法来做到这一点,但没有组织的解决方案。你能帮我制作一个有组织的模板吗?

我正在使用babel孟加拉语包:

\usepackage[english]{babel}
\babelprovide[import, onchar = fonts ids]{bengali}
% \babelfont[bengali]{rm}[Renderer=Harfbuzz]{FreeSerif}
\babelfont[bengali]{rm}[Renderer=Harfbuzz,AutoFakeBold,AutoFakeSlant=0.3]{Kalpurush}
\babelcharproperty{`।}{locale}{bengali}

% bangla numerals
\babelprovide[maparabic,alph=alphabetic]{bengali}

% fix `matra` in bangla text
\makeatletter
\AtBeginDocument{%
 \def\bbl@mapdir#1{%
   {\def\languagename{#1}%
    \let\bbl@ifrestoring\@firstoftwo % To avoid font warning
    \bbl@switchfont
    \ifnum\fontid\font>\z@
      \directlua{
        Babel.locale_props[\the\csname bbl@id@@#1\endcsname]%
              ['/\bbl@prefontid'] = \fontid\font\space}%
    \fi}}}%
\makeatother

由于它是一份很大的文档,我仅提供相关文本:

উদাহরণ ১.১ যোগ করো: ৫২৮৯+৩৭২৬

৫২৮৯+৩৭২৬
= (৫৩০০-১১) + (৩৭০০+২৬)
= ৯০০০+(-১১+২৬)
= ৯০১৫

এখানে দুটি সংখ্যাকে রাউন্ড করা হয়েছে।   

উদাহরণ ১.২ যোগ করো: ৯৩২৭ + ৪১৯

৯৩২৭ + ৪১৯
= ৯৩০০ + ২৭ + ৪০০ + ১৯
= ৯৭০০ + ৫৬
= ৯৭৫৬

এখানে দুটো সংখ্যার সাথে অতিরিক্ত দুটি সংখ্যা যোগ করা হয়েছে। 

答案1

您将需要某种环境,或者可能是嵌套环境,这取决于您想要将什么设为常量文本,以及什么是参数以及变量。

例如:环境主体中的方程,加上三个需要指定的参数:指令,项数,结论。

与章节号关联的计数器用于计算示例。由于类别是book类别,因此也有一个章节级别,因此第一个例子是 1.1.1

例子示例

例如,可以在环境定义内部进行前后间距调整。

平均能量损失

\documentclass{book}
\usepackage{amssymb}

\usepackage[english]{babel}
\babelprovide[import, onchar = fonts ids]{bengali}
% \babelfont[bengali]{rm}[Renderer=Harfbuzz]{FreeSerif}
\babelfont[bengali]{rm}[Renderer=Harfbuzz,AutoFakeBold,AutoFakeSlant=0.3]{Kalpurush}
\babelcharproperty{`।}{locale}{bengali}

% bangla numerals
\babelprovide[maparabic,alph=alphabetic]{bengali}

% fix `matra` in bangla text
\makeatletter
\AtBeginDocument{%
 \def\bbl@mapdir#1{%
   {\def\languagename{#1}%
    \let\bbl@ifrestoring\@firstoftwo % To avoid font warning
    \bbl@switchfont
    \ifnum\fontid\font>\z@
      \directlua{
        Babel.locale_props[\the\csname bbl@id@@#1\endcsname]%
              ['/\bbl@prefontid'] = \fontid\font\space}%
    \fi}}}%
\makeatother

\newcounter{examplenum}[section]

\newenvironment{example}[3]{%1=instruction, 2=items, 3=result
%begin the environment
\def\myx{#3}
\refstepcounter{examplenum}
\textbf{উদাহরণ} \thesection.\theexamplenum\hspace{1ex} \textit{#1}: #2
\medskip
%body of environment (the equations)
}{%
%close the environment
\medskip
\myx\hfill\(\blacksquare\)
}
\begin{document}
\chapter{Introduction}
\section{Test}
Manual:

\textbf{উদাহরণ} ১.১ \textit{যোগ করো}: ৫২৮৯+৩৭২৬

\medskip
৫২৮৯+৩৭২৬

= (৫৩০০-১১) + (৩৭০০+২৬)

= ৯০০০+(-১১+২৬)

= ৯০১৫

\medskip
এখানে দুটি সংখ্যাকে রাউন্ড করা হয়েছে।\hfill\(\blacksquare\)


\bigskip
Environment:

\begin{example}{যোগ করো}{৫২৮৯+৩৭২৬}{এখানে দুটি সংখ্যাকে রাউন্ড করা হয়েছে।}

৫২৮৯+৩৭২৬

= (৫৩০০-১১) + (৩৭০০+২৬)

= ৯০০০+(-১১+২৬)

= ৯০১৫

\end{example}


\begin{example}{যোগ করো}{৫২৮৯+৩৭২৬}{এখানে দুটি সংখ্যাকে রাউন্ড করা হয়েছে।}

৫২৮৯+৩৭২৬

= (৫৩০০-১১) + (৩৭০০+২৬)

= ৯০০০+(-১১+২৬)

= ৯০১৫

\end{example}

\end{document}

相关内容