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.

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
add comment

1 Answer

up vote 13 down vote accepted

You have to redefine the \makelabel command:

\begin{description}[labelindent=\parindent,
  leftmargin=*,labelsep=.33333em,
  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. –  pyrogerg 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. –  pyrogerg May 16 '12 at 23:55
add comment

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.