更改项目编号

更改项目编号

如同超过 26 个字母的编号我尝试定义罗马数字。结果没问题,但 LaTeX 给出了 -error。MWE Missing number, treated as zero.

\documentclass{article}
\usepackage{enumitem}
\usepackage{romanbar}

\makeatletter
\def\enumRomanbarcnt#1{\expandafter\@enumRomanbarcnt\csname c@#1\endcsname}
\def\@enumRomanbarcnt#1{\Romanbar{#1}}
\makeatother

\AddEnumerateCounter{\enumRomanbarcnt}{\@enumRomanbarcnt}{\Romanbar{5}}

\newlist{rnl}{enumerate}{1}
\setlist[rnl,1]{label=\arabic*.}

\begin{document}
\begin{rnl}[label={\enumRomanbarcnt*.}]
  \item Text
  \item Text
\end{rnl}
\end{document}

\Romanbar问题似乎与(第 7 行)从未获取任何参数值有关。

答案1

\Romanbar希望在其参数中看到一个明确的十进制数,而不是计数器的名称。

\documentclass{article}
\usepackage{enumitem}
\usepackage{romanbar}

\makeatletter
\def\enumRomanbarcnt#1{\expandafter\@enumRomanbarcnt\csname c@#1\endcsname}
\def\@enumRomanbarcnt#1{\expandafter\Romanbar\expandafter{\the#1}}
% also the following line must go before \makeatother
\AddEnumerateCounter{\enumRomanbarcnt}{\@enumRomanbarcnt}{\Romanbar{18}}
\makeatother

\newlist{rnl}{enumerate}{1}
\setlist[rnl,1]{label=\enumRomanbarcnt*.}

\begin{document}

\begin{rnl}
  \item Text
  \item Text
\end{rnl}
\end{document}

我会使用 18 作为最宽的数字,或者如果您打算超过 30,也许使用 48。

相关内容