How to create checkbox todo list?
Here is a variant of Werner's answer with checkmarks for recording progress.
\documentclass{article}
\usepackage{enumitem,amssymb}
\newlist{todolist}{itemize}{2}
\setlist[todolist]{label=$\square$}
\usepackage{pifont}
\newcommand{\cmark}{\ding{51}}%
\newcommand{\xmark}{\ding{55}}%
\newcommand{\done}{\rlap{$\square$}{\raisebox{2pt}{\large\hspace{1pt}\cmark}}%
\hspace{-2.5pt}}
\newcommand{\wontfix}{\rlap{$\square$}{\large\hspace{1pt}\xmark}}
\begin{document}
My ToDo list
\begin{itemize}
\item Immediate plan of action.
\begin{todolist}
\item[\done] Frame the problem
\item Write solution
\item[\wontfix] profit
\end{todolist}
\end{itemize}
\end{document}
I would use enumitem
(and not intermix it with using the enumerate
package):
\documentclass{article}
\usepackage{enumitem,amssymb}
\newlist{todolist}{itemize}{2}
\setlist[todolist]{label=$\square$}
\begin{document}
My ToDo list
\begin{itemize}
\item Immediate plan of action.
\begin{todolist}
\item List item 1 goes here.
\item List item 2 goes here.
\begin{todolist}
\item Sublist item 1 goes here.
\item Sublist item 2 goes here.
\end{todolist}
\item List item 3 goes here
\item List item 4 goes here.
\end{todolist}
\end{itemize}
\end{document}
We create a new type of list called todolist
, which has two levels of nesting and is based on itemize
. Each label within a todolist
is set as $\square$
, at both levels.
I adjust the font size of the icon from packages pifont
and amssymb
, use \raisebox
and \hspace
to fit the icon position, finally, it looks good, here is a full example:
\documentclass{article}
\usepackage{pifont}
\usepackage{amssymb}
\begin{document}
\begin{itemize}
\item[$\square$]
no checked
\item[\rlap{\raisebox{0.3ex}{\hspace{0.4ex}\tiny \ding{52}}}$\square$]
failed
\item[\rlap{\raisebox{0.3ex}{\hspace{0.4ex}\scriptsize \ding{56}}}$\square$]
checked
\end{itemize}
\end{document}