Basic Syntax Create your first LaTeX Title Section Paragraph and Comments Text Processing Fonts Formatting List
Document type in Latex↓
Document Class Document Classes Comparison Document Classes Options
Command Table of Contents Page Numbering Footnotes Language Support
Bibliography ↓
Bibliography Management With Biblatex Bibliography Management With Natbib
List in LaTeX

Introduction and basic syntax of a list
Lists are a widely used enviroment in LaTeX, allowing to format a set of items in a well ordered manner.
A list enviroment is started with the expression \begin{*list type*} and closed with \end{*list type*}, each item of the list is declared with \item{put your content here}.
A list for each need
\documentclass[a4paper,12pt]{article} \begin{document} \section*{ITEMIZE} \begin{itemize} \item{bulbasaur} \item{charmander} \item{squirtle} \end{itemize} \section*{ENUMERATE} \begin{enumerate} \item{bulbasaur} \item{ivysaur} \item{venusaur} \end{enumerate} \section*{DESCRIPTION} \begin{description} \item[BULBASAUR]{He can be seen napping in bright sunlight. There is a seed on its back. By soaking up the sun's rays, the seed grows progressively larger. } \item[CHARMANDER]{The flame that burns at the tip of its tail is an indication of its emotions. The flame wavers when Charmander is happy, and blazes when it is enraged. } \item[SQUIRTLE]{Its shell is not just for protection. Its rounded shape and the grooves on its surface minimize resistance in water, enabling SQUIRTLE to swim at high speeds.} \end{description} \end{document}
Nesting lists
LaTeX has 4 levels of nesting for lists (they can be increased with the package enumitem}): declaring a new list enviroment inside another list envirmonment will nest the former. Different bullets will replace the standard ones depending on the level of nesting, likewise different enumeration styles will be employed inside nested enumerate environments.
\documentclass[a4paper,12pt]{article} \begin{document} \section*{NESTED LIST} \begin{enumerate} \item{BULBASAUR} \begin{description} \item[POKEDEX ENTRY]{He can be seen napping in bright sunlight. There is a seed on its back. By soaking up the sun's rays, the seed grows progressively larger. } \item[MOVESET]\hfill \begin{itemize} \item{Growth} \item{Sleep powder} \item{Giga drain} \item{Sludge Bomb} \end{itemize} \end{description} \item{IVYSAUR} \begin{description} \item[POKEDEX ENTRY]{To support its bulb, Ivysaur's legs grow sturdy. If it spends more time lying in the sunlight, the bud will soon bloom into a large flower. } \item[MOVESET]\hfill \begin{itemize} \item{Knock off} \item{Syntheis} \item{Giga drain} \item{Sludge Bomb} \end{itemize} \end{description} \item{VENUSAUR} \begin{description} \item[POKEDEX ENTRY]{Venusaur's flower is said to take on vivid colors if it gets plenty of nutrition and sunlight. The flower's aroma soothes the emotions of people. } \item[MOVESET]\hfill \begin{itemize} \item{Hidden power fire} \item{Syntheis} \item{Giga drain} \item{Sludge Bomb} \end{itemize} \end{description} \end{enumerate} \end{document}
Customizing bullets
The optional argument of each item[option]{your item} allows to personalize the bullets one by one, anything can be used as a bulled including images with the following syntax: item[{\includeimage{image_adress}}]{your item}.
Please notice that, by default, the image will be alligned with the item but in most cases you'll want to adjust its vertical allignment: you can do so through \raisebox.
Avoid spaces between [] unless you want to actually introduce spaces in your bullet.
It is also possible to customize different parameters of lists through the use of the enumitem package: the bullets can be set as shown below [label={your bullet}].
\documentclass[a4paper,12pt]{article} \usepackage{graphicx} \usepackage{enumitem} \begin{document} % \includegraphics[scale=0.05]{./pikachu.png} is our image \section*{CUSTOMIZED BULLETS:} \subsection*{ONE BY ONE} \begin{itemize} \item[\&]{bulbasaur} \item[ ]{charmander} \item[*]{squirtle} \item [{\includegraphics[width=0.5cm]{./pikachu.png}} ] {pikachu: missplaced bullet caused by the space left before closing [\,]} \item [ {\includegraphics[width=0.5cm]{./pikachu.png}}] {pikachu}: misspaced because alligned with the item \item [{\raisebox{-0.25\height}{\includegraphics[width=0.5cm]{./pikachu.png}}}] {pikachu} \end{itemize} \section*{ALL WITH THE ENUMITEM PACKAGE } \begin{itemize}[label={\raisebox{-0.25\height}{\includegraphics[width=0.5cm]{./pokeball.png}}}] \item {bulbasaur} \item {charmander} \item {squirtle} \item {pikachu} \end{itemize} \end{document}
Spacing in lists
HORIZONTAL SPACING ATTRIBUTES DESCRIPTION
leftmargin Increases the left margin of the list.
rightmargin Increases the right margin of the list
listparindent Sets the indentation for new paragraphs in a list
labelwidth Sets the space taken by the label. If you have labels of different width and want to allign the items set it to \widthof{LONGEST_LABLE} (\widthof belong to the \mathtools package).
labelsep Increases the horizontal spacing between the item and the label.
itemindent Sets the item indentation.
\documentclass[a4paper,12pt]{article} \usepackage{graphicx} \usepackage{enumitem} \usepackage{fancyvrb} \usepackage{mathtools} \DefineShortVerb{\@} \begin{document} \section*{SAMPLE LIST} \begin{itemize}[] \item {just a sample list \par new paragraph} \item {item} \end{itemize} \begin{itemize}[label={BULLET}] \item {just a sample list \par new paragraph} \item {with a custom bullet} \end{itemize} \section*{LEFTMARGIN} \begin{itemize}[leftmargin=5em] \item {this list has a leftmargin} \item {increased by 5em \par new paragraph} \end{itemize} \begin{itemize}[leftmargin=-5em] \item {this list has a leftmargin} \item {decreased by 5em} \end{itemize} \section*{RIGHTMARGIN} \begin{itemize}[rightmargin=0em] \raggedleft \item {just a sample list} \item {alligned to the right} \end{itemize} \begin{itemize}[rightmargin=5em] \raggedleft \item {this list has a right margin} \item {increased by 5em} \end{itemize} \section*{ITEMINDENT} \begin{itemize}[itemindent=5em] \item {indents the items} \item {by a further 5em \par new paragraph} \end{itemize} \section*{LISTPARINDENT} \begin{itemize}[listparindent=5em] \item {nothing happens here \par the new paragraph indented by 5em } \item {item} \end{itemize} \section*{LABELWIDTH} \begin{description}[labelwidth=\widthof{\textbf{LONGER LABEL}}] \item[LABEL] {alligned with \textbf{LONGER LABLE} \par the new paragraph indented by 5em } \item[LONGER LABEL]{nothing happens here \par new paragraph } \end{description} \section*{LABELSEP} \begin{itemize}[label={BULLET}, labelsep=5em] \item {the bullet is shifted to the left by 5em \par new paragraph } \end{itemize} \end{document}

VERICAL SPACING ATTRIBUTES DESCRIPTION
topsep Vertical space added both below and on top of the list
partopsep Vertical space below and on top of the list but only if preceeded by \par. Notice that ending a list will always start a new paragraph.
parsep Vertical space added between different paragraphs of list items
itemsep Verical space between each item of the list.
\documentclass[a4paper,12pt]{article} \usepackage{graphicx} \usepackage{enumitem} \usepackage{fancyvrb} \DefineShortVerb{\@} \begin{document} \section*{SAMPLE LIST} \begin{itemize}[] \item {just a sample list} \item {item} \end{itemize} \section*{VERTICAL SPACING} \subsection*{ITEMSEP} \begin{itemize}[itemsep=2em] \item {the distance between these two} \item {items is now increased by @2em@} \end{itemize} \subsection*{PARSEP} \begin{itemize}[parsep=2em] \item {adds @2em@ vertical spacing to a new paragraph This is a new paragraph } \item {still a sample list} \end{itemize} \subsection*{TOPSEP} \begin{itemize}[] \item {just a sample list} \item {still a sample list} \end{itemize} \begin{itemize}[topsep=3em] \item {3em vertical space added} \item {on top and below the list with @topsep@} \end{itemize} \begin{itemize}[] \item {just a sample list} \item {still a sample list} \end{itemize} \subsection*{PARTOPSEP} \begin{itemize}[] \item {a new paragraph always start after a list} \item {hence the use of @\hrulefill@} \end{itemize} \hrulefill \begin{itemize}[partopsep=3em] \item {when precedeed by a paragraph break either with @\par@} \item {or a vertical space it acts like @\topsep@} \end{itemize} \begin{itemize}[] \item {just a sample list} \item {still a sample list} \end{itemize} \hrulefill \begin{itemize}[partopsep=3em] \item {when it's not} \item {it does nothing} \end{itemize} \begin{itemize}[] \item {just a sample list} \item {still a sample list} \end{itemize} \end{document}
Define your own list environment
We have seen how to customize a single list but, were it to be used multiple times, instead of changing properties for each istance it would be practical to have a new list environment with said properties: \newlist{list_name}{list_type}{max_nesting_lv} allows to define an entirely new list.
The command \setlist{list_name, nesting_lv}{attribute1=value_of_attribute,attribute2=value_of_attribute} allows to modify (or set) attributes of lists.
\documentclass[a4paper,12pt]{article} \usepackage{graphicx} \usepackage{enumitem} \begin{document} % \includegraphics[scale=0.05]{./pikachu.png} is our image % \includegraphics[scale=0.05]{./pokeball.png} is another image \section*{DEFINE NEW LISTS} A new list with a pokéballs as bullets. You can still redefine properties for each element while writing the list: pikachu has been assigned its own bullet. \newlist{pokelist}{itemize}{1} \setlist[pokelist,1]{label={\raisebox{-0.25\height}{\includegraphics[width=0.5cm]{./pokeball.png}}}} \begin{pokelist} \item{bulbasaur} \item{charmander} \item{squirtle} \item [{\raisebox{-0.25\height}{\includegraphics[width=0.5cm]{./pikachu.png}}}] {pikachu} \end{pokelist} \end{document}