Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

How can I easily customize the \enumerate environment so that, instead of each line being numbered 1., 2., etc., they are numbered Property 1., Property 2., etc.?

share|improve this question
add comment

1 Answer

up vote 16 down vote accepted

You can use for example the enumitem package to customize the enumerate environment.

\documentclass{article}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}[label=Property \arabic*.,itemindent=*]
  \item First
  \item Second
\end{enumerate}
\end{document}

enumitem also allows you to define your own list environment:

\documentclass{article}
\usepackage{enumitem}
\newlist{Properties}{enumerate}{2}
\setlist[Properties]{label=Property \arabic*.,itemindent=*}
\begin{document}
\begin{Properties}
  \item First
  \item Second
\end{Properties}
\end{document}

enter image description here

Setting the itemindent to * automatically calculates the necessary width for the entire label. Without this the label will run into the left margin.

If an item text is too long to fit on one line, the next line will be indented a little from the left margin:

enter image description here

If you want this second line to be aligned with the start of the item text, use leftmargin=* instead of itemindent=*. If you want the second line to not be indented, use leftmargin=0pt in addition to itemindent=*. The following example sums this up:

\documentclass{article}
\usepackage{showframe}
\usepackage{enumitem}
\begin{document}
Just changing the label:
\begin{enumerate}[label=Property \arabic*.]
  \item First, with a very long text that should extend to the next line if I'm not very  much mistaken. 
  \item Second. 
\end{enumerate}

\hrule\medskip

With \verb|itemindent=*|:
\begin{enumerate}[label=Property \arabic*.,itemindent=*]
  \item First, with a very long text that should extend to the next line if I'm not very  much mistaken. 
  \item Second. 
\end{enumerate}

\hrule\medskip

With \verb|leftmargin=*|:
\begin{enumerate}[label=Property \arabic*.,leftmargin=*]
  \item First, with a very long text that should extend to the next line if I'm not very  much mistaken. 
  \item Second. 
\end{enumerate}

\hrule\medskip

With \verb|itemindent=*,leftmargin=0pt|:
\begin{enumerate}[label=Property \arabic*.,itemindent=*,leftmargin=0pt]
  \item First, with a very long text that should extend to the next line if I'm not very  much mistaken. 
  \item Second. 
\end{enumerate}

\end{document}

enter image description here

share|improve this answer
3  
Perhaps you could change the value for leftmargin? –  Gonzalo Medina Dec 9 '11 at 18:23
1  
@GonzaloMedina Good point, I didn't realize or notice that it would extend into the margin. –  Torbjørn T. Dec 9 '11 at 18:30
    
Yes, how would you correct that leftmargin parameter so it doesn't extend into the margins? –  jamaicanworm Dec 9 '11 at 18:33
3  
leftmargin=* does it –  cmhughes Dec 9 '11 at 18:36
1  
@cmhughes Thanks, I should have checked the manual. * is a little more convenient. –  Torbjørn T. Dec 9 '11 at 18:38
show 3 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.