LaTeX
  • How I learn LaTeX?
  • Installation and Customization
    • Online
    • Offline
  • LaTeX Basics
  • Text Manipulation
    • Fonts, Size and Styles
  • Math Manipulation
  • Advanced Math Manipulation
  • Lists
  • Tables
  • Pictures, Figures
  • Unit in LaTeX
  • Document Structure
  • Document Formatting
    • Headers and Footers, Page Numbering
    • Spacing in Paragraphs
    • Page size, Margins
    • Coloring
    • Footnotes
  • Multi-file LaTeX project
Powered by GitBook
On this page
  • Itemize
  • Enumerate
  • Description
  • Changing the label of individual entries
  • Nested Lists
  • Customizing Lists

Lists

This page provides a basic introduction to typesetting and customizing various types of list in LaTeX.

PreviousAdvanced Math ManipulationNextTables

Last updated 1 year ago

The common guideline for creating a list in LaTeX\LaTeXLATE​X is create a list environment with the \begin \end pair, then each item must be typeset after the \item command. All list environments can be nested. Here is the list of available list environments in LaTeX\LaTeXLATE​X:

  • the itemize environment for creating a bulleted (unordered) list

  • the enumerate environment for creating a numbered (ordered) list

  • the description environment for creating a list of descriptions

Itemize

Lists are easy to create:
\begin{itemize}
  \item List entries start with the \verb|\item| command.
  \item Individual entries are indicated with a black dot, a so-called bullet.
  \item The text in the entries may be of any length.
\end{itemize}

Enumerate

Numbered (ordered) lists are easy to create:
\begin{enumerate}
  \item Items are numbered automatically.
  \item The numbers start at 1 with each use of the \texttt{enumerate} environment.
  \item Another entry in the list
  \item The numbering behaviour of \LaTeX\ can be manipulated using the \verb|enumitem| package.
\end{enumerate}

Description

The only difference between description and other list environments is the (optional) label for each entry is enclosed in square brackets after the \item command:

\item[label text] Text of your entry goes here...

Let's take a look at this example:

\noindent Example of the description environment.
\begin{description}
\item[A short item] This is a short sentence.
\item[A long item] This is a longer sentence, used to demonstrate the \verb|description| environment.
\end{description}

Changing the label of individual entries

As shown in the description environment example, the \item command takes an optional parameter, in square brackets. You can use this feature within itemize and enumerate environments to change the default label of individual entries in your list:

\item[label text] Text of your entry goes here...

Here is an example of how this works (thanks Overleaf):

Change the labels using \verb|\item[label text]| in an \texttt{itemize} environment
\begin{itemize}
  \item This is my first point
  \item Another point I want to make 
  \item[!] A point to exclaim something!
  \item[$\blacksquare$] Make the point fair and square.
  \item[NOTE] This entry has no bullet
  \item[] A blank label?
\end{itemize}

\vspace{10pt}

Change the labels using \verb|\item[label text]| in an \texttt{enumerate} environment
\begin{enumerate}
  \item This is my first point
  \item Another point I want to make 
  \item[!] A point to exclaim something!
  \item[$\blacksquare$] Make the point fair and square.
  \item[NOTE] This entry has no bullet
  \item[] A blank label?
\end{enumerate}

Nested Lists

In this section, I will show the default behaviour of LaTeX\LaTeXLATE​X when it comes to nesting itemize and enumerate.

Regarding itemize, here is the LaTeX\LaTeXLATE​X commands used for label-generation at each level of the itemize:

  • \labelitemi - the black dot

  • \labelitemii - the dash symbol

  • \labelitemiii - the star symbol

  • \labelitemiv - the small dot

Here is the LaTeX\LaTeXLATE​X commands used for label-generation at each level of the enumerate:

  • \labelenumi - it's the number and the dot

  • \labelenumii - the parentheses

  • \labelenumiii - the small dot (which stands after i and ii)

  • \labelenumiv - the small dot (which stands after A and B)

And also counter variables which keep track of the current label value for each level:

  • \enumi - level 1

  • \enumii - level 2

  • \enumiii - level 3

  • \enumiv - level 4

The reason why there is only 4 levels in every list environments is the fact that LaTeX\LaTeXLATE​X lists are limited to a depth of 4 levels.

Customizing Lists

Customizing labels of enumerate lists

First, we need to know various ways of typesetting a number as a counter in a numbered list:

  • \arabic{counter variable} - normal number

  • \roman{counter variable} - lowercase Roman numeral

  • \Roman{counter variable} - uppercase Roman numeral

  • \Alph{counter variable} - uppercase letter

  • \alph{counter variable} - lowercase letter

Here is the example:

\documentclass{article}
\begin{document}
\renewcommand{\labelenumii}{\arabic{enumi}.\arabic{enumii}}
\renewcommand{\labelenumiii}{\arabic{enumi}.\arabic{enumii}.\arabic{enumiii}}
\renewcommand{\labelenumiv}{\arabic{enumi}.\arabic{enumii}.\arabic{enumiii}.\arabic{enumiv}}

\begin{enumerate}
\item One
\item Two
\item Three
\begin{enumerate}
    \item Three point one
    \begin{enumerate}
    \item Three point one, point one
        \begin{enumerate}
        \item Three point one, point one, point one
        \item Three point one, point one, point two
        \end{enumerate}
    \end{enumerate}
\end{enumerate}
\item Four
\item Five
\end{enumerate}

\end{document}

LaTeX’s lists are highly configurable, providing plenty of scope for the creation of many different types of customized list. You can either make direct modifications to LaTeX’s standard list types or, preferably, use the highly versatile to do it for you.

CTAN hosts a number of which may be worth investigating if you have particular customization requirements. In addition, tex.stackexchange provides a wealth of with answers that provide useful insights and great examples!

Combine the knowledge of and , we can create our own way of numbering in a enumerate list:

TODO:

enumitem package
list-related packages
list-related questions
enumitem
label-generation commands
how numbers can be typeset
Nesting itemize list
Nesting enumerate list