Suppose, it's necessary to change the most of itemize or enumerate parameters globally (it's not elegant to change the parameters inside every itemize or enumerate environment). If to write something like
\renewcommand{\@listI}{
\leftmargin=5mm
\labelsep=5mm
\itemindent=0mm
\listparindent=3mm}
it will not work in standard LaTeX classes. Also, it's possible to create own itemize like
\newenvironment{itemizetest}
{\begin{list}{$\bullet$}{
\leftmargin=5mm
\labelwidth=3mm
\labelsep=3mm
}}{\end{list}}
but it's just one-level itemize (not nested).
- Is it possible to change default parameters of itemize/enumerate globally (in preamble)?
- If to create own itemize or enumerate, is it possible to create 2nd level (nested)?
Best Answer
enumitem
provides a dedicated way of dealing with this. Read more about it under section 5 Global settings (p 9) in theenumitem
documentation.The main interface provides:
which can be used to set the
<format>
for different<levels>
of the listsenumerate
,itemize
anddescription
, or globally for all. Without<levels>
, it applies to all levels.The following illustration shows a nested
enumerate
/itemize
list using the default settings on the left, while\setlist[enumerate]{noitemsep,label*=\arabic*.}
has been applied to the same nested structure on the right:As may be seen, only
enumerate
has no separation between items and a nested\arabic*.
label style as supplied through\setlist
.