在整个文档中统一以两列形式列出列表

在整个文档中统一以两列形式列出列表

如何才能让列表在整个文档中排列成两列。我只想在序言中进行更改,而不在列表中进行更改。

我正在考虑这个结构

. 第一项 . 第二项

. 第三项

这是 MWE。

\documentclass{article}
\usepackage{multicol}
\begin{document}
    \begin{multicols}{2}
        \begin{itemize}
\item 1
\item 2
\item 3
\item 4
\item 5
\item 6
\item 7
\item 8
\item 9
\item 10
\item 11
\item 12
\item 13
\end{itemize}
    \end{multicols}
\end{document}

答案1

把这些话写在你的序言里:

\usepackage{etoolbox}
\AtBeginEnvironment{itemize}{\begin{multicols}{2}}    
\AtEndEnvironment{itemize}{\end{multicols}}            

这会将所有itemize环境更改为两列(假设这是您想要的)。

\documentclass{article}
\usepackage{etoolbox}
\AtBeginEnvironment{itemize}{\begin{multicols}{2}}    %%% this line
\AtEndEnvironment{itemize}{\end{multicols}}            %%% and this one
\usepackage{multicol}
\begin{document}        
\begin{itemize}
\item 1
\item 2
\item 3
\item 4
\item 5
\item 6
\item 7
\item 8
\item 9
\item 10
\item 11
\item 12
\item 13
\end{itemize}
\end{document}

在此处输入图片描述

正如 egreg 所指出的,您可以使用newenvironment以便正常itemize仍然可用:

\documentclass{article}
\usepackage{multicol}
\newenvironment{myitemize}{%
\begin{itemize}
\begin{multicols}{2}
}{%
\end{multicols}
\end{itemize}
}
\begin{document}
\begin{myitemize}
\item 1
\item 2
\item 3
\item 4
\item 5
\item 6
\item 7
\item 8
\item 9
\item 10
\item 11
\item 12
\item 13
\end{myitemize}
Some other text.
\begin{itemize}
\item 1
\item 2
\item 3
\item 4
\item 5
\item 6
\item 7
\item 8
\item 9
\item 10
\item 11
\item 12
\item 13
\end{itemize}
\end{document}

在此处输入图片描述

使用enumitem这个,你可以定义一个新的环境:

\documentclass{article}
\usepackage{enumitem}
\usepackage{multicol}
\newlist{myitemize}{itemize}{1}
\setlist[myitemize]{label=\textbullet,before=\raggedcolumns\begin{multicols}{2},
after=\end{multicols}
}
\begin{document}
\begin{myitemize}
\item 1
\item 2
\item 3
\item 4
\item 5
\item 6
\item 7
\item 8
\item 9
\item 10
\item 11
\item 12
\item 13
\end{myitemize}
\end{document}

答案2

如果你想尝试multienum包裹。

平均能量损失

\documentclass{article}
\usepackage{multienum}

\newenvironment{multiitem}{%
  \multienumerate\renewcommand{\labelname}{\textbullet}%
}{%
  \endmultienumerate%
}

\begin{document}

\begin{multiitem}
\mitemxx{1}{2}
\mitemxx{3}{4}
\mitemxx{5}{6}
\mitemxx{7}{8}
\mitemxx{9}{10}
\end{multiitem}

\end{document} 

输出

在此处输入图片描述

答案3

我正在考虑这个结构

. 第一项 . 第二项

. 第三项

您可能会喜欢此tasks套餐(属于exsheets捆绑包)。它提供了类似于您概述的列表结构。(它们实际上不是 LaTeX 意义上的列表{list}{trivlist},有关详细信息,请参阅手册。)

\documentclass{article}
\usepackage[more]{tasks}

% new list-like environment
% \NewTasks[options]{name}[separator](default number of columns)
\NewTasks[style=itemize]{myitemize}[\item](2)

\usepackage{kantlipsum}% insert text fragments
\begin{document}

\kant[1]

\begin{myitemize}
  \item one
  \item two
  \item three
  \item four
  \item five
  \item six
  \item seven
  \item eight
  \item nine
\end{myitemize}

\kant[2]

\end{document}

在此处输入图片描述

相关内容