在字母计数器中更改字母表中的字母

在字母计数器中更改字母表中的字母

使用命令中的阿拉伯字母计数器\alph,它会将阿拉伯字母 ا 作为字母表的第一个字母,这个字母使用起来并不那么“美观”... 我想使用字母 أ 代替这个字母。我如何更改计数器的首字母\alph

我为这个问题写了一个 ECM

\documentclass[14pt,a4paper]{book}
\usepackage{extsizes}
\usepackage{multicol}
\usepackage{amsmath,amssymb}
\usepackage[most]{tcolorbox}
\usepackage{array}

\usepackage{polyglossia}
\setmainlanguage[numerals=maghrib]{arabic}
\setotherlanguage{english}

\newfontfamily\arabicfont[Script=Arabic,Scale=1.2,AutoFakeSlant=-0.02]{Traditional Arabic}
\setsansfont[Script=Arabic,Scale=1.5]{Traditional Arabic}

\tikzstyle{boxwhite} =
    [draw=white, thick, scale=.7, fill=white,% 
    line width=0.3pt, text=black, rectangle,
    font=\Large,
    left, minimum height=.5cm]

\newtcolorbox[auto counter, 
number within=section,
number freestyle={\noexpand\arabic{section}\noexpand\alph{\tcbcounter}}]{example}[2][]{%
enhanced,
left=-5pt,
right=-5pt,
colback=white,
colframe=white,
top=-.6cm,
bottom=.6cm,
enlarge top by=\baselineskip/2+1mm,
enlarge top at break by=0mm,pad at break=2mm,
fontupper=\normalsize,
label={#2},
overlay unbroken and first={%
\node[boxwhite]
at ([xshift=1.6cm,yshift=-2.5mm]frame.north east)
{\strut\RL{\setlength{\extrarowheight}{-30.5pt}\textbf{$\begin{array}{c}
\hline
\rule{0pt}{2ex}
\mbox{\RL{مثال}}
\\
\mbox{\large\thetcbcounter}
\rule{0pt}{1.5ex}
\end{array}$}}};},
breakable,
before=\par\smallskip\centering,
width=\textwidth,       %%% change the width here.
arc=0pt,outer arc=0pt,
#1}%

\begin{document}
\setcounter{section}{1}
 \begin{example}{ex1}
\LR{Example one.}
\end{example}
 \begin{example}{ex2}
\LR{Example two.}
\end{example}
 \begin{example}{ex3}
\LR{Example three.}
\end{example}
\end{document}

这给出了这个..

在此处输入图片描述

第一个数字 1ا 使用字母表的第一个字母,对我来说不太美观。我更喜欢这个 1أ 和字母 أ ,使用“另一个”字母表的第一个字母。我该如何更改它...仅限第一个字母...

答案1

enumitem这是一个最小的例子;加载包只是为了有一个应用程序\alph,你必须添加的重要代码是

\usepackage{etoolbox}

\makeatletter
% patch \abj@num@i@iso
\patchcmd\abj@num@i@iso{^^^^0627}{^^^^0623}{}{}
\makeatother

也许其他ا出现的宏也应该以类似的方式更改(请告诉我们)。我使用符号^^^^只是为了方便,因为我不习惯 RTL 编辑器。我使用 Scheherazade 是因为我没有您的字体,但这应该没关系。

\documentclass[a4paper]{book}

\usepackage{polyglossia}
\setmainlanguage[numerals=maghrib]{arabic}
\setotherlanguage{english}

\usepackage{enumitem} % for showing \alph
\usepackage{etoolbox}

\newfontfamily\arabicfont[Script=Arabic,Scale=1.2,AutoFakeSlant=-0.02]{Scheherazade}

\makeatletter
% patch \abj@num@i@iso
\patchcmd\abj@num@i@iso{^^^^0627}{^^^^0623}{}{}
\makeatother

\begin{document}

\begin{enumerate}[label=\alph*]
\item \LR{Example one.}
\item \LR{Example two.}
\item \LR{Example three.}
\end{enumerate}
\end{document}

在此处输入图片描述

相关内容