在 Tcolorbox 中將計數器增加十倍...並且參考良好?

在 Tcolorbox 中將計數器增加十倍...並且參考良好?

我正在用阿拉伯語寫一本關於機率的書,使用多語言,我想將我的一些盒子的計數器增加十個十(其原因是阿拉伯字母用abjad 進行編號,在第九個第一個中使用統一字母,在使用十個字母表示第9 個字母之後,使用數百個字母表示第9 個字母,使用千個字母表示第28 個字母和最後一個字母......你可以看到這個法文維基百科,我沒有其他來源...http://fr.wikipedia.org/wiki/Num%C3%A9ration_arabe)..我發現的一個解決方案是在每次迭代中使用命令將計數器增加 9 phantom={\addtocounter{\tcbcounter}{9}},但此框的標籤引用此命令之前的計數器...我看到它在文檔中很自然tcolorbox 包的..那麼我如何將範例的標籤引用到將9 新增到我的專案後的標籤...或其他一些想法。謝謝。這是我的文件中的一個例子..

\documentclass[14pt,a4paper]{extbook}

\usepackage{titlesec}


\usepackage{amsmath,amssymb}
\usepackage[most]{tcolorbox}


\usepackage{boxedminipage}
\usepackage{slashbox}

\usepackage{titlesec}


\usepackage{enumitem}

\usepackage{minitoc}

\usepackage{rotating}

\usepackage{fmultico}
\setlength{\columnseprule}{0.1pt}

\usepackage{fancyhdr}
\pagestyle{fancy}

\usepackage{pdflscape}

\usepackage{array}


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

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


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

\newcounter{example}

\newtcolorbox[auto counter, 
number within=section,
number freestyle={\noexpand\arabic{section}\noexpand\alph{\tcbcounter}}]{example}[2][]{
enhanced,
colback=white,
colframe=white,
top=-.7cm,
bottom=-2mm,
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.4cm,yshift=-.15cm]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,
width=1.048\textwidth,       
arc=0pt,outer arc=0pt,
enlarge left by=-.085\textwidth,
extrude right by=-5pt,
extrude left by=-5pt,
#1}%

\newtcolorbox[use counter from=example]{example9}[2][]{
enhanced,
phantom={\addtocounter{\tcbcounter}{9}},
colback=white,
colframe=white,
top=-.7cm,
bottom=-2mm,
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.4cm,yshift=-.15cm]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,
width=1.048\textwidth,      
arc=0pt,outer arc=0pt,
enlarge left by=-.085\textwidth,
extrude right by=-5pt,
extrude left by=-5pt,
#1}%
\begin{document}

\begin{example}{ex0:a}
First 
\end{example}
\begin{example}{ex0:b}
Second 
\end{example}
\begin{example}{ex0:c}
....
\end{example}
\begin{example}{ex0:d}
....
\end{example}
\begin{example}{ex0:e}
....
\end{example}
\begin{example}{ex0:f}
....
\end{example}
\begin{example}{ex0:g}
....
\end{example}
\begin{example}{ex0:h}
....
\end{example}
\begin{example}{ex0:i}
....
\end{example}
\begin{example}{ex0:j}
....
\end{example}
\begin{example9}{ex0:k}
\LR{A good numeroted}
\end{example9}
\begin{example}{ex0:l}
\LR{A bad numeroted}
\end{example}
\LR{but the reference \ref{ex0:k} of the ten-th exercise is bad...}

 \end{document}

答案1

如果您想引用計數器,則必須將其增加\refstepcounter。這會更改標籤使用的內部命令。

所以你應該增加計數器

\addtocounter{\tcbcounter}{8}\refstepcounter{tcbcounter}}

以便最後一步做正確的事。

相關內容