在项目标签定义(xetex)中条件性地使用项目计数器

在项目标签定义(xetex)中条件性地使用项目计数器

我正在制作一个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} 

输出:

在此处输入图片描述

相关内容