Easy checklist generation in LaTeX with easylist

Checklist are great tools to remind us of things and to organise tasks. There are gazillion ways to generate and use them. When writing a LaTeX document the best way to get a checklist in LateX is by using the easylist1 package.

Latex Easylist checklist example

In the preamble of your document add:

\usepackage[ampersand]{easylist}

Then, in the body of your LaTeX document use something like the following example:

\begin{easylist}[checklist]
& This is Level 1 (Bold) open item
&& This is a level 2 open item
\end{easylist}

This is a great solution to make checklists in a get things done kind of way. It is also great if you don’t have checked items in the list. If your checklist needs to have items in the checked state then there is an alternative method:

Checklists in LaTeX with completed tasks

To have items with both checked and unchecked boxes, the best approach is to redefine the item symbol on the fly inside the itemize environment. For this you’ll need to use the AMS math package2 in the preamble as it will provide the boxtimes symbol.

Latex checkbox in list

\usepackage{amssymb}

There are other AMS packages that also contain the symbol needed and you can use those instead. Next, in the place of document where you want a checklist you write:

\begin{itemize}
\item[$\square$] An open item.
\item[$\boxtimes$] A closed item.
\end{itemize}

If your items are in multiple levels you can create sublists inside this first one. Furthermore, another advantage of the easylist package is that it allows for infinite sublists. Finally, the use of & as the list symbol is very practical.


  1. http://www.ctan.org/pkg/easylist 

  2. you’ll probably have already loaded some of the latexsym, amsfonts, amssymb, txfonts, pxfonts, or wasysym packages, so you might have these square symbols already.