How to change the indentation of all enumerates?
One crude method is to modify the definition of \item
as follows:
\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}
But this is going to give you probably unwanted behaviour with nested lists. Also, as you experience it affects a number of other enviroments, that naivly seem to have nothing to do with lists, since LaTeX internally uses a trivlist
environment as a basic building block for environment formatting.
I would advise you to switch entirely over to paralist
or enumitem
instead, for example as described below.
Paralist
With paralist
you use the command \setdefaultleftmargin
, which takes 6 arguments for the relative indents of the lists at levels 1 to 6. When using the optional argument to enumerate
, it turns out that you also have to specify one of the label adjustment options to the package, otherwise these margin changes will be ignored. (This looks like a bug in the otherwise well-tried package.)
\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}
enumitem
Here you need to load the package with the shortlabels
option to get enumerate
's syntax for the specification of the labels. The \setlist
command is used to adjust default parameters for different lists and you can specify which levels they apply to. For example, \setlist[enumerate,1]
will apply to enumerates at level 1. Providing an argument of the form {leftmargin=10cm}
will then change the given left margin.
\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}
The enumitem
package is newer has many more facilities than the lighter weight paralist
. It provides powerful and easy control over all types of list formatting.
Note the spacing in the paralist
and enumitem
examples is different, as there are some slightly different package defaults.
You can use the paralist
package to set the default left margins of lists/enumerates/etc. Simply use the command \setdefaultleftmargin
like so.
\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}
You can find a description of \setdefaultleftmargin
here.