![如何创建步长不同于 1 的列表?](https://linux22.com/image/382965/%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%E6%AD%A5%E9%95%BF%E4%B8%8D%E5%90%8C%E4%BA%8E%201%20%E7%9A%84%E5%88%97%E8%A1%A8%EF%BC%9F.png)
我必须输入很多问题,但每 4 个问题输入一次(4、8、12……),所以我想知道我是否可以让 Latex 自动对项目进行编号。我知道我可以手动更改每个项目的编号,但我希望计数器自动增加 4。
我不知道从哪里开始,谷歌搜索只显示了我已经熟悉的属性(阿拉伯语、添加标签、字母),但没有提到步长。它可能被称为其他名称,所以我不知道要设置哪个参数(如果有的话)。
答案1
您可以创建一个新命令,利用您所了解的所有计数器功能来完成这个任务;)
\documentclass{article}
\newcommand{\myitem}{\addtocounter{enumi}{3}\item}
\begin{document}
\begin{enumerate}
\myitem One
\myitem Two
\myitem \dots
\end{enumerate}
\end{document}
您也可以创建一个以步长作为参数的新命令:
\newcommand{\myitem}[1]{\addtocounter{enumi}{\numexpr#1-1\relax}\item}
或者在开始时“设定步长”:
\documentclass{article}
\let\olditem\item
\newcommand{\myitem}[1]{\addtocounter{enumi}{\numexpr#1-1\relax}\olditem}
\newcommand{\setenumstep}[1]{%
\renewcommand{\item}{\myitem#1}
}
\begin{document}
\begin{enumerate}
\myitem4 One
\myitem4 Two
\myitem4 \dots
\end{enumerate}
\begin{enumerate}
\setenumstep{4}
\item One
\item Two
\item \dots
\end{enumerate}
\end{document}
这两个枚举的结果与第一个发布的结果相同。
你可能已经知道了,但无论如何它可能会有所帮助:如果你想调整单个项目,你可以手动进行
\item[4.] One
\item[8.] Two
答案2
如果您不关心\label
s \item
,您可以使用以下设置:
\documentclass{article}
\usepackage{enumitem,etoolbox,xfp}
\newlist{fourenumerate}{enumerate}{4}
\setlist[fourenumerate]{label = {\mulfour{\value*}.}}
\newrobustcmd{\mulfour}[1]{\inteval{#1 * 4}}
\begin{document}
\begin{enumerate}
\item One
\item Two
\item \ldots
\end{enumerate}
\begin{fourenumerate}
\item One
\item Two
\item \ldots
\end{fourenumerate}
\end{document}