枚举环境中前导零的 Whitesace

枚举环境中前导零的 Whitesace

我一直在尝试创建一个enumerate具有以下格式的环境:“N09 P###。”,其中###是从 1 到 200(001-200)的零填充项列表。我使用这个答案来帮助我解决这个问题,但它在“P”和“###”之间加了一个空格。在尝试寻找其他解决方案时,我发现这个答案允许 2 个零填充数字,但当我尝试将其转换为三位数时,它不起作用。如果有人能帮助我,我将不胜感激。

我的 PDF 当前的样子:

电流输出,“N09 P ###。”格式

答案1

这取决于你的 第一个链接

\documentclass[12pt, a4paper]{article}

\usepackage{enumitem}

\def\threedigits#1{% 
    \ifnum#1<100 0\fi 
    \ifnum#1<10 0\fi 
    \number#1.} % <<<<<<<<<<<< dot added 

\begin{document}    
    
    \begin{enumerate}[label={\textbf{N09\ P\protect\threedigits{\theenumi}}}, leftmargin = *]%<<<<<<<<<< changed
        \item 
        \item   
        \item
        \item 
        \item 
        \item   
        \item
        \item
        \item 
        \item   
    \end{enumerate}
    
\end{document}

A

答案2

我将注册一个新的数字表示并定义一个新的环境。

\documentclass[12pt, a4paper]{article}

\usepackage{enumitem}

\makeatletter
\newcommand{\arabicthreedigits}[1]{\expandafter\@arabicthreedigits\csname c@#1\endcsname}
\newcommand{\@arabicthreedigits}[1]{%
  \ifnum#1<100 0\fi
  \ifnum#1<10 0\fi
  \number#1%
}
\AddEnumerateCounter{\arabicthreedigits}{\@arabicthreedigits}{000}
\makeatother

\newenvironment{doubleenumerate}[1]
 {\begin{enumerate}[label=\bfseries N#1 P\arabicthreedigits*,leftmargin=7em]}
 {\end{enumerate}}

\begin{document}    

Some text before the enumerate environment
some text before the enumerate environment
some text before the enumerate environment
\begin{doubleenumerate}{09}
  \item\label{x} abc
  \item 
  \item 
  \item 
  \item 
  \item 
  \item 
  \item 
  \item 
  \item 
  \item
\end{doubleenumerate}
    
\end{document}

在此处输入图片描述

如果第一部分是渐进的数字,可以这样做。

\documentclass[12pt, a4paper]{article}

\usepackage{enumitem}

\makeatletter
\newcommand{\arabicthreedigits}[1]{\expandafter\@arabicthreedigits\csname c@#1\endcsname}
\newcommand{\@arabicthreedigits}[1]{%
  \ifnum#1<100 0\fi
  \ifnum#1<10 0\fi
  \number#1%
}
\newcommand{\arabictwodigits}[1]{\expandafter\@arabictwodigits\csname c@#1\endcsname}
\newcommand{\@arabictwodigits}[1]{%
  \ifnum#1<10 0\fi
  \number#1%
}
\AddEnumerateCounter{\arabicthreedigits}{\@arabicthreedigits}{000}
\AddEnumerateCounter{\arabictwodigits}{\@arabictwodigits}{00}
\makeatother

\newcounter{doubleenumerate}
\newenvironment{doubleenumerate}
 {%
  \stepcounter{doubleenumerate}%
  \begin{enumerate}[
    label=\bfseries N\arabictwodigits{doubleenumerate} P\arabicthreedigits*,
    leftmargin=7em
  ]%
 }
 {\end{enumerate}}

\begin{document}    

Some text before the enumerate environment
some text before the enumerate environment
some text before the enumerate environment
\begin{doubleenumerate}
  \item\label{x} abc
  \item 
  \item 
  \item 
  \item 
  \item 
  \item 
  \item 
  \item 
  \item 
  \item
\end{doubleenumerate}
Some text before the enumerate environment
some text before the enumerate environment
some text before the enumerate environment
\begin{doubleenumerate}
  \item
  \item 
\end{doubleenumerate}
    
\end{document}

在此处输入图片描述

相关内容