我想使用类似列表的环境,但我需要在同一行上放置一些短项。用户界面将类似于:
\begin{enumerate}
\item First very long element
\item* shrot
\item short
\itme Last very long element
\end{enumerate}
输出应如下所示:
- 第一个非常长的元素
- 短 3. 短
- 最后一个非常长的元素
我用*标记了该项目,但它可以是其他宏名称;或者包含短元素的环境。
答案1
enumitem
一直满足我对列表的需求。不过,我不确定它是否是这里的最佳选择。
多枚举似乎设计出来就是为了做你想做的事。
它提供了一个环境multienumerate
,您可以在其中使用命令,例如\mitemx{}
定义一行只有一个项目,\mitemxx{}{}
一行有两个项目等等。您还可以说\mitemxxxo{}{}{}
如果您有 3 个项目并且希望它们的间距像幻影第四个项目一样,而不是均匀分布。如果需要,这可以用来很好地对齐内容。
这是一个基于 4 列布局思想的示例:
虽然不太明智,但你甚至可以创建枚举,其中的事物不是对齐得很好,如果这恰好让你感兴趣的话。不要在家里尝试这个:
代码:
\documentclass{article}
\usepackage{kantlipsum}
\usepackage{multienum}
\begin{document}
\kant[1]
Now we turn to a listing of things in themselves.
\begin{multienumerate}
\mitemx{Our conceptual understanding of space which must shape the way in which we understand spatial relationships.}
\mitemxxxo{Being 1}{Being 2}{Being 3}
\mitemxxxx{First Being}{Second}{Third}{Fourth}
\mitemxx{This is a ponderous one.}{This less so.}
\mitemx{Our concept of time gives rise to a number of extremely perplexing antimonies.}
\end{multienumerate}
Now we turn to a listing of appearances.
\begin{multienumerate}
\mitemx{\kant[2]}
\mitemxxx{Appearance 1}{Appearance 2}{Appearance 3}
\mitemxxxx{First Appearance}{Second}{Third}{Fourth}
\mitemxxxxx{a}{b}{c}{d}{e}
\mitemx{The phenomena give rise to a number of extremely perplexing antimonies concerning the noumena.}
\mitemxx{This is a somewhat ponderous appearance.}{This is not really any less so.}
\mitemxxxxx{a}{b}{c}{d}{e}
\end{multienumerate}
\end{document}
该包似乎支持最多 5 个项目的行,尽管文档说它支持的行数少于这个数字。
答案2
3.0 版软件包enumitem
提供了内联列表(水平列表),使用时只需inline
在调用软件包时添加选项,这将提供环境
enumerate*
,itemize*
使用description*
方法如下
\documentclass{article}
\usepackage[inline]{enumitem}
\newcommand{\inline}[1]{\stepcounter{enumi}
\def\c{\theenumi}
\begin{enumerate*}[label=\arabic*. ,start=\c]
\item #1
\end{enumerate*}}
\begin{document}
\begin{enumerate}
\item First very long element
\item short \inline{short} \inline{short}
\item Last very long element
\end{enumerate}
\end{document}