多列横向枚举

多列横向枚举

考虑以下最小示例:

\documentclass{article}

\setlength{\parindent}{0mm}

\usepackage{paralist}
\usepackage{tabto}

\begin{document}

\NumTabs{3}
\begin{inparaenum}
\item text
\tab\item text
\tab\item text
\tab\item text
\tab\item text
\tab\item text   
\end{inparaenum}

\end{document}

其结果是:

图像

它确实满足了我的要求,但我想知道是否有可能创建一个环境,这样tabbedEnum我们就可以消除 的使用\tab,特别是,第一种情况不需要制表符,但所有其他情况都需要。形式如下:

\begin{tabbedEnum}[3]
\item text
\item text
\item text
\item text
\item text
\item text
\end{tabbedEnum}

答案1

只需重新定义\item即可完成您想要的操作,但在第一次使用后:

\documentclass{article}

\setlength{\parindent}{0mm}

\usepackage{paralist}
\usepackage{tabto}

\newenvironment{tabbedenum}[1]
 {\NumTabs{#1}\inparaenum\let\latexitem\item
  \def\item{\def\item{\tab\latexitem}\latexitem}}
 {\endinparaenum}

\begin{document}

\begin{tabbedenum}{3}
\item text
\item text
\item text
\item text
\item text
\item text
\end{tabbedenum}

\bigskip

\NumTabs{3}
\begin{inparaenum}
\item text
\tab\item text
\tab\item text
\tab\item text
\tab\item text
\tab\item text   
\end{inparaenum}

\end{document}

\item由于我们在最后使用原始命令,因此您也可以在之后使用可选参数\item

在此处输入图片描述

答案2

好吧,你可以定义自己的环境,使用一些\inner@tab在第一次使用时重新定义为调用\tab并在发出之前重新定义\item为调用的环境\inner@tab真实的 \item

\documentclass{article}

\usepackage{paralist}
\usepackage{tabto}
\usepackage{etoolbox}

\makeatletter
\newenvironment{tabbedEnum}[1][3]{%
  \ifblank{#1}{\NumTabs{3}}{\NumTabs{#1}}%
  \inparaenum
    \let\orig@item\item
    \def\inner@tab{\let\inner@tab\tab}%
    \renewcommand\item[1][]{%
      \inner@tab\ifblank{##1}{\orig@item}{\orig@item[##1]}}%
    \ignorespaces
}{%
  \endinparaenum
}
\makeatother

\usepackage{lipsum}

\begin{document}

\lipsum[1]

\noindent
\begin{tabbedEnum}
 \item text
 \item text
 \item text
 \item text
 \item text
 \item text
\end{tabbedEnum}

\lipsum[2]

\end{document}

在此处输入图片描述

或者你可以使用exsheets'{tasks}环境。不过,它看起来并不完全一样。无论如何,它在这里:

\documentclass{article}
\usepackage{exsheets}

% \NewTasks[options]{name}[separator](default number of columns)
% all arguments except {name} are optional
\NewTasks[label=tsk.]{tabbedEnum}[\item](3)

\usepackage{lipsum}% for dummy text

\begin{document}

\lipsum[1]

\begin{tabbedEnum}
 \item text
 \item text
 \item text
 \item text
 \item text
 \item text
\end{tabbedEnum}

\lipsum[2]

\end{document}

在此处输入图片描述

相关内容