\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”,但也许有人会帮忙或者我稍后会找到它......(我通过测试找到了它,可能需要根据您的文档类别进行更改)。
如果您需要任何解释,只需询问。
输出如下:
并且长度相同: