66

I want to make an enumerated list in the following format:

[1] foo foo
[2] foo foo
... 

How I can do that using enumerated lists? I have tried the following:

\begin{enumerate}[\left[ 1 \right]]

but it does not work.

Werner
  • 603,163
Regressor
  • 763
  • Not sure why you want to use the \left[...\right] construct, but note that you need to be in math mode to use that so you can use the solutions below with [label={$\left[\arabic*\right]$}]. – Peter Grill Jan 31 '12 at 17:03

5 Answers5

95

Use the enumitem package to format the enumerated list:

enter image description here

\documentclass{article}
\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\begin{document}
\begin{enumerate}[label={[\arabic*]}]
  \item First item
  \item Second item
  \item \ldots
  \item Last item
\end{enumerate}
\end{document}

Note that you are required to encase the optional argument in braces {...} since it contains square brackets; used in general for optional arguments and would otherwise "confuse" LaTeX.

If you want to make a global setting to your list (rather than the optional argument on a per-list basis), you can use

\setenumerate[1]{label={[\arabic*]}} % Global setting

or you could make your own list using

\newlist{mylist}{enumerate}{1}%
\setlist[mylist]{label={[\arabic*]}}%

which would allow you to use

\begin{mylist}
  ...
\end{mylist}
Werner
  • 603,163
36

The enumerate Package wants you to put those brackets into a group

\documentclass{article}
\usepackage{enumerate}
\begin{document}

\begin{enumerate}[ {[}1{]} ]
\item first
\item second
\end{enumerate}

\end{document}
bloodworks
  • 10,178
26

Warning

For the sake of completeness, if you want to change the list format without loading any packages, you can redefine \labelenumi as:

\renewcommand*\labelenumi{[\theenumi]}

For deeper levels, just change the counter, i.e, i, ii, iii.

You might use in a local scope, otherwise this change will be reflected globally:

\documentclass{article}

% global change
\renewcommand*\labelenumi{[\theenumi]}

\begin{document}

\begin{enumerate}
\item Juventus
\item Milan
\item Udinese
\end{enumerate}

\end{document}

List

To use it locally, you might try:

\begin{enumerate}
\renewcommand*\labelenumi{[\theenumi]}
\item Juventus   % [1] Juventus
\item Milan      % [2] Milan
\item Udinese    % [3] Udinese
\end{enumerate}

\begin{enumerate}
\item Juventus   % 1. Juventus
\item Milan      % 2. Milan
\item Udinese    % 3. Udinese
\end{enumerate}

Again, don't do this, use a package instead. I'd go with either enumitem or enumerate. :)

Paulo Cereda
  • 44,220
8
\begin{enumerate}
\item[{[1]}] First statement
\item[{[2]}] Second statement 
.
.
.
. 
0

I am using LaTeX Workshop on VS Code. For me the following worked:

I am using \usepackage{enumerate} and \usepackage{enumitem} with the code below:

\begin{enumerate}[label={[}\Arabic*{]}]
   \item First
   \item Second
   \item Third
\end{enumerate}
tasrif
  • 1