如何在两列项目中左对齐文本

如何在两列项目中左对齐文本

当我使用以下 MWE 获取两列中的分项文本时,列表中的项目有时会采用“对齐”格式,因此两个单词之间会有很大的空间。这会产生一个外观不佳的两列列表。我怎样才能使它们左对齐,从而改善外观?

\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 my first item
    \item my second item
    \item my third item in itemized environment
    \item my forth
    \item 5
    \item 6
    \item 7
    \item 8
    \item 9
    \item 10
    \item 11
    \item 12
    \item 13
    \end{itemize}
    \end{document}

答案1

您可以使用\raggedright

\AtBeginEnvironment{itemize}{\begin{multicols}{2}\raggedright}

\raggedright在多列中是本地的。

完整代码:

\documentclass{article}
\usepackage{etoolbox}
\AtBeginEnvironment{itemize}{\begin{multicols}{2}\raggedright}    %%% this line
  \AtEndEnvironment{itemize}{\end{multicols}}            %%% and this one
\usepackage{multicol}
\begin{document}
\begin{itemize}
\item my first item
\item my second item
\item my third item in itemized environment
\item my forth
\item 5
\item 6
\item 7
\item 8
\item 9
\item 10
\item 11
\item 12
\item 13
\end{itemize}
\end{document}

在此处输入图片描述

更进一步,您可以将其放入\usepackage{ragged2e}序言中并使用\RaggedRight来获得:

\documentclass{article}
\usepackage{ragged2e}
\usepackage{etoolbox}
\AtBeginEnvironment{itemize}{\begin{multicols}{2}\RaggedRight}    %%% this line
  \AtEndEnvironment{itemize}{\end{multicols}}            %%% and this one
\usepackage{multicol}
\begin{document}
\begin{itemize}
\item my first item
\item my second item
\item my third item in itemized environment
\item my forth
\item 5
\item 6
\item 7
\item 8
\item 9
\item 10
\item 11
\item 12
\item 13
\end{itemize}
\end{document}

在此处输入图片描述

主要优点\RaggedRight是它允许连字,同时保持不规则的正确性。

选择权在你手中。

答案2

不要重新定义itemize:你会失去它,而且最好不要这样做。

只需使用\raggedright

\documentclass{article}
\usepackage{multicol}

\newenvironment{twoitemize}
 {\begin{multicols}{2}\raggedright\begin{itemize}}
 {\end{itemize}\end{multicols}}

\begin{document}
\begin{twoitemize}
\item my first item
\item my second item
\item my third item in itemized environment
\item my forth
\item 5
\item 6
\item 7
\item 8
\item 9
\item 10
\item 11
\item 12
\item 13
\end{twoitemize}
\end{document}

或者\RaggedRight按照ragged2e另一个答案的建议。但是,为了你自己的利益,重新定义itemize

在此处输入图片描述

相关内容