我正在制作一个enumerate
列表,我想让标签依赖于计数器的值,具体来说,如果超过 9,则在开头前添加一个空格。那是因为我的标签将是[label={\upshape N˚ \arabic"}]
,保持这种状态意味着从 10 开始,标签将向左移动并超出页面的左侧边距。我会使用\ifnum<sth>>9\,\,\else \fi
,只是我不知道要输入什么<sth>
才能将编号列表的数字作为测试表达式。我猜enumerate
定义了项目的计数器。我如何使用它的值?
答案1
此代码应该可以完成您想要的操作(如果没有,请根据您的需要进行调整):
\documentclass{article}
\usepackage{fontspec}
\usepackage{enumitem}
\newlength{\templength}
\settowidth{\templength}{1}
\newcommand{\numspace}{%
\ifnum\value{enumi}<10%
N°\hspace{\templength}%
\else%
N°%
\fi
}
\begin{document}
\begin{enumerate}[label={\protect\numspace~\arabic*}]
\item aaa
\item aaa
\item aaa
\item aaa
\item aaa
\item aaa
\item aaa
\item aaa
\item aaa
\item aaa
\item aaa
\item aaa
\end{enumerate}
\end{document}
输出: