具有不同标签的 itemize 中的水平空间

具有不同标签的 itemize 中的水平空间
\begin{itemize}
\item[Key point 1] 
\item[Key point 2]  
\end{itemize}

我想将“itemize”中的项目符号更改为其他标签。上面的方法可行,但问题是“关键点 1”和“关键点 2”现在超出了页面的左边框,因此我需要添加水平空间以使其恢复到正常位置。我不能直接在 \item 前添加 \hspace。我该怎么做?

答案1

一个简单的解决方案,其参数如下enumitem

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[showframe]{geometry}
\usepackage{calc}
\usepackage{enumitem}

\begin{document}

text\vspace{10pt}
\begin{itemize}[wide =0pt, labelwidth=\widthof{Key point 10}]
\item[Key point 1] Optional item here
\item[Key point 10] Another item
\end{itemize}

text

\end{document} 

在此处输入图片描述

答案2

这是一个解决方案:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{enumitem}
\newlength{\mylength}
\newsavebox{\mybox}

\def\FindLength#1{%
\savebox{\mybox}{\hbox{#1}}%
\setlength{\mylength}{\wd\mybox}%
}%

\newenvironment{myitemize}[1]{%
\FindLength{#1}%
\begin{itemize}[leftmargin=19pt]
\setlength{\itemindent}{\mylength}%
}{%
\end{itemize}%
}

\begin{document}
text\vspace{10pt}

\begin{myitemize}{Key point 10}
\item[Key point 1] Optional item here
\item[Key point 10]   Another item
\end{myitemize}


text


\end{document}

我相信有更好的解决方案,但它也适用于不同的长度,例如“关键点 2”和“关键点 102”...

我不知道如何解释“leftmargin =19pt”,但也许有人会帮忙或者我稍后会找到它......(我通过测试找到了它,可能需要根据您的文档类别进行更改)。

如果您需要任何解释,只需询问。

输出如下:

在此处输入图片描述

并且长度相同:

在此处输入图片描述

相关内容