在 itemize/enumerate 中缩进,主体和项目的宽度不同

在 itemize/enumerate 中缩进,主体和项目的宽度不同

我在自定义itemize环境缩进时遇到了一些麻烦。我的 MWE 是:

\documentclass{article}
    \usepackage{lipsum}
    \usepackage[utf8]{inputenc}
    \usepackage{enumitem}

\begin{document}%

\lipsum[1-2]

\begin{itemize}[leftmargin=3cm]
    \item [My custom item long long long long]: \lipsum[1]
    \item [My custom item short]: \lipsum[2]
\end{itemize}

\end{document}%

输出:

在此处输入图片描述

现在,我想让两个自定义标签的宽度相同,而不是一个比另一个缩进更多。另外,我想决定项目文本的起始位置(在这种情况下,由于选项缩进[leftmargin=3cm]太多,否则两个标签就不会在页面内)。

我该如何处理 itemize/enumerate 的边距、对齐和缩进?谢谢帮助!

PS:下一张图片将最终阐明我想要的

在此处输入图片描述

答案1

也许像这样,拥有自定义的description环境?

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{enumitem}
\usepackage{lipsum}

\begin{document}%

\lipsum[1-2]
\begin{description}[leftmargin=1cm, labelindent=-3cm, labelsep=0pt, font=\normalfont]
    \item[ My custom item long long long long]: \lipsum[1]
    \item [My custom item short]: \lipsum[2]
\end{description}

\end{document}

在此处输入图片描述

答案2

不幸的是,要使标签左对齐,您需要知道(或近似)最宽标签的宽度,在本例中近似为 5.42 厘米。

通过明智地选择和来处理初始和残留的leftmargin缩进itemindent

\documentclass{article}
    \usepackage{lipsum}
    \usepackage[utf8]{inputenc}
    \usepackage{enumitem}
\let\svitem\item
\begin{document}%

\lipsum[1-2]

{\renewcommand\item[1][]{\svitem[{\makebox[5.42cm][l]{#1}}]}
\begin{itemize}[leftmargin=1cm,itemindent=2cm]
    \item [My custom item long long long long]: \lipsum[1]
    \item [My custom item short]: \lipsum[2]
\end{itemize}
}
\end{document}

在此处输入图片描述

相关内容