TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to alter the description environment with enumitem so that an item will be separated from its description by a dash rather than a colon. Having searched the documentation and this forum, I haven't found a solution. The closest I've come is this:

\begin{description}[labelindent=\parindent, leftmargin=*, format= --]

That puts the en-dash before the item, rather than after; not what I need.

share|improve this question
up vote 14 down vote accepted

You have to redefine the \makelabel command:

  before={\renewcommand\makelabel[1]{##1 --}}]

The setting of labelsep should produce a normal interword space.

share|improve this answer
That worked perfectly; thanks. Is the \makelabel command specific to enumitem and where can I find its documentation? Since reading your answered I've gleaned a little more out of the enumitem documentation, but not enough to understand how I would use the command in other situations. – Gregory May 16 '12 at 0:10
@pyrogerg The \makelabel command tells LaTeX how to typeset the argument to \item (in this case), which is passed to \makelabel. In this case you need to refer to the argument as ##1, because the redefinition is performed inside a definition. – egreg May 16 '12 at 7:24
Thanks again. That will be useful to know. – Gregory May 16 '12 at 23:55

Your Answer


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.