296

When you itemize items you usually have the entire list indented. This is expected when you have a title or description of what you are listing. I want to itemize but not have the natural indent. I need to move all of the bullet points over towards the the leftmost edge of the margin like all other text you would enter. How can I do this?

4
  • You might want to have a look at this question from stackoverflow (which really should have been moved here) stackoverflow.com/questions/4968557/latex-very-compact-itemize
    – ArTourter
    Jan 10, 2013 at 2:17
  • I actually tried that. The answer with the most points was tried. The itemize did become smaller but did not moved towrd the left margin at all.
    – Bobdul
    Jan 10, 2013 at 2:24
  • @ArTourter Migration of older questions is deliberately not allowed (to avoid flooding sites with questions of variable quality). Thus is we want the same information here someone has to post it independently.
    – Joseph Wright
    Jan 10, 2013 at 7:09
  • 4
    I found that using the solution here of \setlength{\itemindent}{-2em} was quite useful, and doesn't require loading another package.
    – kcrisman
    Sep 26, 2019 at 15:31

4 Answers 4

348

Any customization of a list environment, such as itemize, enumerate, etc, is most elegantly handled by the enumitem package.

You can use leftmargin=* locally,

\begin{itemize}[leftmargin=*]
  \item one 
  \item two
  \item three
\end{itemize}

or else you use

\setlist[itemize]{leftmargin=*}

in your preamble to make the change global.

screenshot

\documentclass{article}
\usepackage[showframe=true]{geometry}
\usepackage{enumitem}

\begin{document}

\begin{itemize}
  \item one 
  \item two
  \item three
\end{itemize}

\begin{itemize}[leftmargin=*]
  \item one 
  \item two
  \item three
\end{itemize}
\end{document}
7
  • 4
    Thanks for the solution! Just adding reference, this also works for the enumerate environment (:
    – Rubens
    Apr 15, 2013 at 2:40
  • 2
    When I try this, it works, however, it removes the space between the item and the bullet point: *item when I'm really looking for... * item
    – jc_os
    Dec 12, 2013 at 1:59
  • 13
    Unfortunately leftmargin=* doesn't work well if the bullet points are removed through label={} – there is still some additional space left. In this case, leftmargin=0pt seems to ensure that the items perfectly align with the boundary on the left.
    – balu
    Mar 8, 2020 at 20:38
  • 1
    Thanks, nice solution. Unfortunately, the [enumitem] environment seems to be incompatible with the [enumerate] package :-(
    – Delio
    Aug 21, 2020 at 15:26
  • 1
    Sometimes it's harder than you expect : \setlist[itemize]{labelindent=0pt,labelwidth=0pt, labelsep*=0pt, leftmargin=!, style=standard} worked for me.
    – PatrickT
    Apr 1, 2021 at 0:23
13

enumitem package is a convenient tool. Since version 3.6, it offers a key called left, with which one can set two tabstops one for the start of label and another for the start of the text. For example in the following MWE:

\documentclass{article}
\usepackage{enumitem}
\setlist[itemize]{align=parleft,left=0pt..1em}
%
\begin{document}
%
\begin{itemize}
\item first item
\item second item
\end{itemize}
%
\end{document}

align=parleft aligns the label to left in the parbox of size \labelwidth. left=0pt..1em means that the label (bullet symbol) begins at the margin, and the subsequent text (first item, second item etc.) start at 1em from the margin.

1
7

If you prefer not to use an additional package \usepackage{enumitem} in your latex file, try the following code

\begin{enumerate}
\itemindent=-13pt
\item 1
\item 2
\item 3
\end{enumerate}

It works perfect for me.

2
  • 3
    Perfect! [leftmargin=*] gave me an error, but this works nicely. Thanks.
    – user4417
    Sep 16, 2023 at 12:22
  • 6
    This only unindents the first line of each item (inconsistent indentation for multiline items). Also, the 13pt should not be hardcoded. Sep 30, 2023 at 23:03
2

For the common case where the label is set within an indent but the rest of the item is flush to the left margin like this:

 1. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sit amet dolor sed felis tempus blandit. Proin convallis pretium lobortis. Cras at ex eu leo pharetra fringilla.

use [align=right,itemindent=2em,labelsep=2pt,labelwidth=1em,leftmargin=0pt,nosep]

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .