使用命令中的阿拉伯字母计数器\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}