如同超过 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。