我想进一步缩进枚举项。但是我发现的每种方法都只处理列表中的单个项。我该如何全局执行此操作?
答案1
一个粗暴的方法是修改的定义\item
如下:
\documentclass{article}
\usepackage{enumerate,letltxmacro}
\LetLtxMacro\itemold\item
\renewcommand{\item}{\itemindent10cm\itemold}
\begin{document}
Text
\begin{enumerate}[(1)]
\item One
\item Two
\item Three
\end{enumerate}
\end{document}
但这可能会给您带来嵌套列表的不良行为。此外,正如您所体验到的,它还会影响许多其他环境,这些环境似乎与列表无关,因为 LaTeX 在内部使用环境trivlist
作为环境格式化的基本构建块。
我建议您完全切换到paralist
或者enumitem
改为,例如下面所述。
帕拉利斯特
使用paralist
命令\setdefaultleftmargin
,它接受 6 个参数,用于 1 至 6 级列表的相对缩进。 当使用可选参数时enumerate
,你还必须为包指定一个标签调整选项,否则这些边距更改将被忽略。(这看起来像是这个经过充分测试的包中的一个错误。)
\documentclass{article}
\usepackage[neverdecrease]{paralist}
\begin{document}
Test --- standard margins.
\begin{enumerate}[(1)]
\item One
\item Two
\begin{enumerate}[(a)]
\item Sub
\end{enumerate}
\item Three
\end{enumerate}
\setdefaultleftmargin{8cm}{2cm}{}{}{}{}
Test --- changed margins.
\begin{enumerate}[(1)]
\item One
\item Two
\begin{enumerate}[(a)]
\item Sub
\end{enumerate}
\item Three
\end{enumerate}
\end{document}
枚举项
在这里,您需要加载带有选项的包shortlabels
以获取enumerate
标签规范的语法。该\setlist
命令用于调整不同列表的默认参数,您可以指定它们适用于哪些级别。例如,\setlist[enumerate,1]
将适用于级别 1 的枚举。提供形式的参数{leftmargin=10cm}
将更改给定的左边距。
\documentclass{article}
\usepackage[shortlabels]{enumitem}
\begin{document}
Test --- standard margins.
\begin{enumerate}[(1)]
\item One
\item Two
\begin{enumerate}[(a)]
\item Sub
\end{enumerate}
\item Three
\end{enumerate}
\setlist[enumerate,1]{leftmargin=10cm}
\setlist[enumerate,2]{leftmargin=2cm}
Test --- changed margins.
\begin{enumerate}[(1)]
\item One
\item Two
\begin{enumerate}[(a)]
\item Sub
\end{enumerate}
\item Three
\end{enumerate}
\end{document}
该enumitem
软件包较新,比轻量级的软件包具有更多功能paralist
。它对所有类型的列表格式提供了强大且简单的控制。
paralist
请注意,和示例中的间距enumitem
不同,因为有一些略微不同的包默认值。
答案2
您可以使用该包来设置列表/枚举/等的默认左边距。只需使用如下paralist
命令即可。\setdefaultleftmargin
\documentclass{article}
\usepackage{paralist}
\usepackage{enumerate} %% to check paralist doesn't clash
\begin{document}
This is a test
\begin{enumerate}
\item This
\item is
\item a
\item list
\end{enumerate}
\setdefaultleftmargin{0pt}{}{}{}{}{}
This is a test
\begin{enumerate}
\item This
\item is
\item a
\item list
\end{enumerate}
\end{document}
您可以找到\setdefaultleftmargin
这里。