在使用罗马数字进行枚举时,使用(IIII)而不是(IV)

在使用罗马数字进行枚举时,使用(IIII)而不是(IV)

使用该包,enumitem我可以编辑我的枚举以使用罗马数字,以便

\begin{enumerate}[label=\textsc{\textsc(\roman*)}]
\item A
\item B
\item C
\item D
\end{enumerate}

达到预期效果

(I) A
(II) B
(III) C
(IV) D

但在具有良好格式位的现代计算机中。我该如何改变它,以便 (IV) 变成 (IIII)?

答案1

如果你想把\roman所有地方都改成这种风格,那么

\makeatletter
\def\@roman#1{\ifnum#1=4 iiii\else\romannumeral #1\fi}
\makeatother

应该管用。

答案2

基于https://tex.stackexchange.com/a/300215/36296,你可以这样做:

\documentclass{article}
\usepackage{enumitem}

\makeatletter
\newcount\my@repeat@count
\newcommand{\myrepeat}[2]{%
  \begingroup
  \my@repeat@count=\z@
  \@whilenum\my@repeat@count<#1\do{#2\advance\my@repeat@count\@ne}%
  \endgroup
}
\makeatother

\begin{document}


\begin{enumerate}[label={(\textsc{\protect\myrepeat{\value*}{I}})}]
\item A
\item B
\item C
\item D
\end{enumerate}


\end{document}

在此处输入图片描述

相关内容