我在自定义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}