如何使用自訂標籤定義多行項目的第二行縮排?

如何使用自訂標籤定義多行項目的第二行縮排?

我有一個多列列表,垂直空間有點有限,因此我使用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

相關內容