我想在编号列表的两个项目之间插入一些解释性文字。
\intertext
是否有命令可以以与环境中的命令相同的方式执行此操作align
?
答案1
使用enumitem
包和两个独立的enumerate
环境,并将其resume
作为选项添加到第二个环境中。
\documentclass{article}
\usepackage{enumitem}
\begin{document}
Some text.
\begin{enumerate}
\item First item of enumerated list.
\item Second item.
\end{enumerate}
Some explanatory text.
\begin{enumerate}[resume]
\item Third item.
\end{enumerate}
\end{document}
答案2
这是一个自定义命令,\enumeratext
其工作原理类似于\intertext
,它不需要enumitem
:
\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}
\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}
Here is a list:
\begin{enumerate}
\item Something,
\item some other thing,
\item and more;
\enumeratext{Some intertext}
\item let's continue,
\begin{enumerate}
\item here is a sublist,
\item some stuff,
\enumeratext{more intertext}
\item yet another stuff.
\end{enumerate}
\item last thing.
\end{enumerate}
\end{document}
更新:现在适用于较低级别的列表。
答案3
\item[]
我通过将而不是放在\item
文本前面来完成任务
答案4
这不一定更好,但多年来我一直使用 Michel Bovani 提出的以下方法:
\makeatletter
\newcommand{\interitemtext}[1]{%
\begin{list}{}
{\itemindent=0mm\labelsep=0mm
\labelwidth=0mm\leftmargin=0mm
\addtolength{\leftmargin}{-\@totalleftmargin}}
\item #1
\end{list}}
\makeatother
我唯一希望的改进是能够控制项目文本上方和下方的垂直空间。