如何将枚举步骤从 1 更改为 10

如何将枚举步骤从 1 更改为 10

我有一个枚举环境

\begin{enumerate}[font={\bfseries}, label={\arabic*}, wide=0pt, labelindent=1em, leftmargin=*]
    \item
\end{enumerate}

其中 \arabic 以 1 为步长计数(1、2、3、4 等)我知道,我可以在 \arabic* 后面放一个 0,但我想知道是否有任何功能可以更改枚举的计数器步骤

答案1

这是为任何算术级数定义计数器表示的一种方法。

\documentclass{article}
\usepackage{xparse,enumitem}

\ExplSyntaxOn
\cs_new:Nn \progression_evaluate:nnn
 {% #1 = start, #2 = difference, #3 = counter name
  \int_eval:n { #1 + ( #3 - 1 ) * #2 }
 }
\cs_generate_variant:Nn \progression_evaluate:nnn { nnc }

\NewDocumentCommand{\defineprogression}{mmm}
 {% #1 = macro name, #2 = start, #3 = difference
  \cs_new:cn { __progression_\cs_to_str:N #1:n }
   {
    \progression_evaluate:nnc { #2 } { #3 } { c@##1 }
   }
  \NewExpandableDocumentCommand{#1}{m}
   {
    \use:c { __progression_\cs_to_str:N #1:n } { ##1 }
   }
  \exp_args:NNc \AddEnumerateCounter #1 { __progression_\cs_to_str:N #1:n } { 0 }
 }
\ExplSyntaxOff

\defineprogression{\bytens}{10}{10}
\defineprogression{\foo}{1}{5}

\newlist{tens}{enumerate}{1}
\setlist[tens,1]{
  label=\bytens*.,ref=\bytens*,
  font=\bfseries,
  wide=0pt,
  labelindent=1em,
  leftmargin=*
}

\begin{document}

This is numbered by tens
\begin{tens}
\item A
\item B
\item\label{C} C
\end{tens}

This is numbered like foo
\begin{enumerate}[label=\foo*.,ref=\foo*]
\item AA
\item BB
\item\label{CC} CC
\end{enumerate}

References: \ref{C} and \ref{CC}

\end{document}

在此处输入图片描述

相关内容