你好,我想对枚举环境中的项目做一个解释,我发现了这一点:
\newcounter{saveenumerate}
\makeatletter
\newcommand{\enumeratext}[1]{%
\setcounter{saveenumerate}{\value{enum\romannumeral\the\@enumdepth}}
\end{enumerate}
#1
\begin{enumerate}
\setcounter{enum\romannumeral\the\@enumdepth}{\value{saveenumerate}}%
}
\makeatother
我认为它可以工作,但问题是,如果我用字母改变枚举的数字,它就会失败,如下例所示:
\documentclass{article}
\usepackage{enumerate}
\newcounter{saveenumerate}
\makeatletter
\newcommand{\enumeratext}[1]{%
\setcounter{saveenumerate}{\value{enum\romannumeral\the\@enumdepth}}
\end{enumerate}
#1
\begin{enumerate}
\setcounter{enum\romannumeral\the\@enumdepth}{\value{saveenumerate}}%
}
\makeatother
\begin{document}
A list:
\begin{enumerate}[a)]
\item number 1
\item things note usefull,
\item hello mom, I am famous;
\enumeratext{Some intertext}
\item not really, so sad.
\end{enumerate}
\end{document}
任何想法都会有帮助,我知道 enumitem 中 [resume] 的用法,但使用该包时我不知道如何将数字更改为字母。谢谢。
答案1
基本假设是您坚持使用enumerate
而不是enumitem
。这样做有充分的理由,但无法enumitem
提供以罗马数字编号的列表并不是其中之一,因为enumitem
可以做到这一点。
\documentclass{article}
\usepackage{enumitem}
\begin{document}
A list:
\begin{enumerate}[label=\alph*)]
\item number 1
\item things note useful,
\item hello mom, I am famous;
\end{enumerate}
Some intertext
\begin{enumerate}[resume*]
\item not really, so sad.
\end{enumerate}
\end{document}
无论如何,我们假设还有其他原因,比如你做了其他所有事情,enumerate
或者有一些不兼容。那么你可以这样做
\documentclass{article}
\usepackage{enumerate}
\newcounter{saveenumerate}
\makeatletter
\def\enumerate{%
\xdef\@last@enumerate@arg{none}%
\ifnum \@enumdepth >3 \@toodeep\else
\advance\@enumdepth \@ne
\edef\@enumctr{enum\romannumeral\the\@enumdepth}\fi
\@ifnextchar[{\@@enum@}{\@enum@}}
\def\@@enum@[#1]{%
\xdef\@last@enumerate@arg{#1}%
\@enLab{}\let\@enThe\@enQmark
\@enloop#1\@enum@
\ifx\@enThe\@enQmark\@warning{The counter will not be printed.%
^^J\space\@spaces\@spaces\@spaces The label is: \the\@enLab}\fi
\expandafter\edef\csname label\@enumctr\endcsname{\the\@enLab}%
\expandafter\let\csname the\@enumctr\endcsname\@enThe
\csname c@\@enumctr\endcsname7
\expandafter\settowidth
\csname leftmargin\romannumeral\@enumdepth\endcsname
{\the\@enLab\hspace{\labelsep}}%
\@enum@}
\newcommand{\enumeratext}[1]{%
\setcounter{saveenumerate}{\value{enum\romannumeral\the\@enumdepth}}
\end{enumerate}
#1
\def\@none{none}
\ifx\@last@enumerate@arg\@none%
\edef\temp{\noexpand\begin{enumerate}}%
\else
\edef\temp{\noexpand\begin{enumerate}[\@last@enumerate@arg]}%
\fi
\temp%
\setcounter{enum\romannumeral\the\@enumdepth}{\value{saveenumerate}}%
}
\makeatother
\begin{document}
A list:
\begin{enumerate}[a)]
\item number 1
\item things note useful,
\item hello mom, I am famous;
\enumeratext{Some intertext}
\item not really, so sad.
\end{enumerate}
A list:
\begin{enumerate}
\item number 1
\item things note useful,
\item hello mom, I am famous;
\enumeratext{Some intertext}
\item not really, so sad.
\end{enumerate}
\end{document}
@DavidCarlisle:这可能很糟糕,但肯定没有英国脱欧那么糟糕。