我有一个多列列表,垂直空间有点受限,因此我使用了leftmargin=*
的属性itemize
来消除自定义标签和实际文本之间的一些空白。但由于某种原因,换行后缩进是错误的(参见第一列)。如果我省略leftmargin
,则缩进是正确的,但标签和文本之间的空间太大。我尝试按照文档中所述手动设置所有内容,但它从不适用于第二行。
我尽量避免强制换行和使用空项item[]
。如何解决这个问题?空格较少但缩进正确?
我的最小例子:
\documentclass{article}
\usepackage{enumitem}
\begin{document}
\noindent texttexttexttext...
\hfill \\
\noindent\begin{minipage}[t]{0.45\textwidth}
{\centering \subsection*{Header 1}}
\begin{itemize}[align=left,leftmargin=*,labelsep=1ex]
\raggedright
\item[\textbf{foo}] thisisaverylongtext, which doesn't fit on one line
\item[\textbf{foo}] two
\item[\textbf{foo}] three
\item[\textbf{foo}] four
\end{itemize}
\end{minipage}
\kern.1\textwidth
\begin{minipage}[t]{0.45\textwidth}
{\centering \subsection*{Header 2}}
\begin{itemize}[align=left,labelsep=1ex]
\raggedright
\item[\textbf{foo}] thisisaverylongtext, which doesn't fit on one line
\item[\textbf{foo}] two.one \\ two.two
\item[\textbf{foo}] three
\item[\textbf{foo}] four
\end{itemize}
\end{minipage}
\end{document}
答案1
我想这就是你想要的:
\documentclass{article}
\usepackage{enumitem}
\usepackage{showframe} % just for the example
\begin{document}
\noindent\begin{minipage}[t]{0.45\textwidth}
\subsection*{Header 1}
\begin{itemize}[
align=left,
leftmargin=2em,
itemindent=0pt,
labelsep=0pt,
labelwidth=2em
]
\raggedright
\item[\textbf{foo}] thisisaverylongtext, which doesn't fit on one line
\item[\textbf{foo}] two.one \\ two.two
\item[\textbf{foo}] three
\item[\textbf{foo}] four
\end{itemize}
\end{minipage}\hfill
\begin{minipage}[t]{0.45\textwidth}
\subsection*{Header 2}
\begin{itemize}[align=left,labelsep=1ex]
\raggedright
\item[\textbf{foo}] thisisaverylongtext, which doesn't fit on one line
\item[\textbf{foo}] two.one \\ two.two
\item[\textbf{foo}] three
\item[\textbf{foo}] four
\end{itemize}
\end{minipage}
\end{document}
使用您认为合适的任意长度来代替2em
。