439

I've seen documentation whereby an \alph command is put around the \begin{enumerate} somewhere, but I'm not entirely sure how that operates...

1
  • 2
    checkout this answer, which gives more flexibility and also works in LyX.
    – Sparkler
    Commented Nov 21, 2014 at 21:54

11 Answers 11

385

Without any package you could do it by redefining the command \theenumi for formatting the enumi counter. (Also enumii, etc., for nested lists.)

\renewcommand{\theenumi}{\Alph{enumi}}

inside the environment.... Or better, you could use a package like enumitem which allows, e.g.,

\usepackage{enumitem}
...
\begin{enumerate}[label=\Alph*]
\item this is item a
\item another item
\end{enumerate}

Use \alph for lowercase letters, \Alph for uppercase, etc. See the package documentation for more info.

11
  • 35
    I prefer to define it in once the preamble instead of for each enumerate list: \setenumerate[0]{label=(\Alph*)} this way the first enum counter (level 0) will get this style in the whole document. If would you later decide to change this numbering, there's just the preamble statement to adjust.
    – Stefan Kottwitz
    Commented Aug 25, 2010 at 11:42
  • 3
    Using the first one produces a trailing period.
    – geometrian
    Commented Oct 28, 2015 at 16:35
  • 8
    See this answer for replacing the trailing period with parentheses, or otherwise changing the appearance of the label. Commented Mar 1, 2016 at 18:39
  • 6
    Is there a reason not to simply say \item[a)] when you want a paren afterwards, for example? Commented May 16, 2016 at 18:14
  • 10
    @JohannesSchaub-litb Because then the numbering/lettering wouldn't be automatic?
    – frabjous
    Commented May 17, 2016 at 11:34
331

Use the package enumitem.

\usepackage[shortlabels]{enumitem}
.
.
.
\begin{enumerate}[(a)] % (a), (b), (c), ...
\item
\end{enumerate}
.
.
.
\begin{enumerate}[a)] % a), b), c), ...
\item
\end{enumerate}
4
  • 6
    That requires the enumerate package. That's fine too, though I prefer enumitem because it has more options.
    – frabjous
    Commented Aug 25, 2010 at 6:46
  • 73
    It works with enumitem with the option shortlabels: \usepackage[shortlabels]{enumitem}
    – Stefan Kottwitz
    Commented Aug 25, 2010 at 11:38
  • 12
    And package enumitem supersedes enumerate, thus is preferred in all contexts.
    – Desik
    Commented Apr 20, 2015 at 8:05
  • 1
    I had to include both the enumerate and the enumitem packages for this code to work as expected. Commented Jan 20, 2021 at 17:52
57

With enumitem package, we can do as follow:

Preamble:

\usepackage{enumitem}
\newcommand{\subscript}[2]{$#1 _ #2$}

In document use:

\begin{enumerate}[label=(\subscript{E}{{\arabic*}})]
    \item
    Generated by the $f*\tilde{g}$, where $f\in C_c(G)$, $g\in C_c(G)$;
    \item
    Generated by the $h*\tilde{h}$, where $h\in C_c(G)$;
\end{enumerate}

enter image description here

2
  • 12
    Suggestion: Use \subscript{E}{{\arabic*}}. Otherwise, starting from the tenth item, the subscripts don't work properly (only the first digit will be subscripted).
    – M. Vinay
    Commented Nov 16, 2015 at 10:48
  • Instead of putting an extra pair of brackets in \subscript{E}{{\arabic*}}, I would modify the macro definition: \newcommand{\subscript}[2]{${#1}_{#2}$}.
    – Paul Wintz
    Commented Apr 16, 2023 at 20:38
48

Working example (documentation):

\documentclass[letterpaper,12pt]{article}
\usepackage{enumitem}

\begin{document}

\begin{enumerate}[label=(\alph*)]
    \item one 
    \item two
\end{enumerate}

\end{document}
1
  • 1
    Is there anyway I can set once and use it for the whole document?
    – Jay Wang
    Commented Sep 25, 2016 at 18:56
13

I was able to solve the problem with enumitem package.

From the documentation of enumitem:

\usepackage{enumitem}

% if you want to create a new list from scratch
\newlist{alphalist}{enumerate}{1}
% in that case, at least label must be specified using \setlist
\setlist[alphalist,1]{label=\textbf{\alph*.}}

...

\begin{alphalist}
    \item Apple
    \item Orange
    \item Peach
\end{alphalist}
13

A solution with the package tasks by Clemens Niederberger (see also a more complete example at How to make horizontal lists?

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


\bfseries Horizontal list: a = alphabetical \normalfont
\begin{tasks}[counter-format = {tsk[a].},label-offset = {0.6em},label-format = {\bfseries}](6)
\task One
\task Two
\task Three
\task Four
\task Five
\task Six
\task Seven
\task Eight
\task Nine
\task Ten
\end{tasks}
\vglue5mm

\bfseries Horizontal list: A = Alphabetical \normalfont
\begin{tasks}[counter-format = {(tsk[A])},label-offset = {0.8em},label-format = {\bfseries}](3)
\task One
\task Two
\task Three
\task Four
\task Five
\task Six
\task Seven
\task Eight
\task Nine
\task Ten
\end{tasks}


\end{document}

enter image description here

10

Simple thing, yet people are using complex approach to solve it. Simply use [] after enumerate command to define your numbering style as follows:

\begin{enumerate}[a.)] # for a.), b.), ...
    \item 
\end{enumerate}


\begin{enumerate}[(a.)] # for (a.), (b.), ...
    \item 
\end{enumerate}

\begin{enumerate}[1.] # for 1., 2., ...
    \item 
\end{enumerate}


\begin{enumerate}[(1.)] # for (1.), (2.), ...
    \item 
\end{enumerate}


\begin{enumerate}[(a)] # for (a), (b), ...
    \item 
\end{enumerate}


\begin{enumerate}[1.)] # for 1.), 2.), ...
    \item 
\end{enumerate}


\begin{enumerate}[i.)] # for i.), ii.), ...
    \item 
\end{enumerate}

etc.

1
  • 6
    Hi, welcome to TeX.SE! Nice as this would be to have in base LaTeX, it doesn't work without additional packages.
    – chsk
    Commented Jun 18, 2021 at 15:34
9

Sometimes I use linguex instead of the enumerate-like environments because the simple syntax list and because in not a closed environment, so you can insert normal paragraphs or even start a new section and follow with the same list. Unfortunately, the documentation show some indications to change the label and the counter value, but not the counter style, so I hope this could help to someone.

The MWE how to temporarily change to an alphabetic uppercase label in a environment or to the default alphabetic lowercase style of the sublist as first level, without any environment (this approach is in the documentation), in both cases without change the main arabic list.

Note: using linguex the blank lines after the items matter, as well as the number of blank lines to return to normal text. In the MWE are changed by \par commands to avoid confusions at this respect.

mwe

\documentclass{article}
\usepackage{linguex}
\newcounter{ExAl}
\setcounter{ExAl}{5} 
\newenvironment{Alist}{%
\let\ExAl\ExNo
\setcounter{ExNo}{0}
\renewcommand{\ExLBr}{}
\renewcommand{\ExRBr}{) }
\let\oldarabic\arabic
\let\arabic\Alph}{%
\let\arabic\oldarabic
\let\ExNo\ExAl}
\begin{document}
\ex. this is an item \par
\ex. another item\par
This is a normal paragraph  
\begin{Alist}
    \ex. this is an item\par  
    \ex. another item\par
    This is a normal paragraph\par  
    \ex. one more item !\par
\end{Alist}
This is a normal paragraph  
\ex. this is item a\par
\ex. another item\par
This is a normal paragraph\par  
\a. this is an item
\b. another item
\b. one more item\par
This is a normal paragraph\par  
\ex. this is item a\par
\ex. another item\par
This is a normal paragraph\par  
\end{document}
7

There is an easy trick:


 \begin{enumerate}[(a)]
 \item first
 \item second
 \item third
 \end{enumerate}

But it only works when you use \usepackage{enumerate}.

1
  • 2
    This worked for me, and doesn't require an external package to be installed. Commented Jan 27, 2021 at 20:29
3

I found the enumerate package easier to use.

\usepackage{enumerate}

\begin{enumerate}[(1)]
\item 
.
.
.
\end{enumerate}

For alphabets, use \begin{enumerate}[(a)]. Easy?

0

I do know lots of useful answers have already been given so as to automatize the process using \item markups and use the enumerate environment as stated in the question, but a simple description one is maybe the simplest option when it deals with just a few items. At least, there is no extra package to load, this way.

\begin{description}
  \item[a.] This is item "a.".
  \item[b)] Maybe you actually prefer parentheses.
  \item[c#] As you can see, this also allows you to easily choose fancy separators following the letters.
\end{description}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .