21

How do I make an item in a description list verbatim? \verb in \item[] seems to be not allowed:

\begin{description}
    \item[\verb+list comprehension [f a | a <- M a]+] bla bla bla
\end{description}
18

The package examplep provides several commands and environments for typesetting verbatim text. For instance, the robust commands \PVerb[options]{text}and \Q{text} can be used in macro arguments and in section titles as well.

Code example for your description list:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[Q=yes]{examplep}
\begin{document}
\begin{description}
    \item[\Q{list comprehension [f a | a <- M a]}] bla bla bla
    \item[\PVerb{testing: \verb||{} #_$ }] item text
\end{description}
\end{document}

Output:

verbatim example

See Verbatim phrases and listings in LaTeX by Péter Szabó (or texdoc examplep) for further information. Escaping special characters (for instance with \Q) may be necessary as described in section 3.1 of the documentation.

Note, T1 font encoding has to be use to get a proper < symbol because it's unavailable in standard OT1 encoding.

  • Great answer, \Q works well for me, although I am not sure what the difference between that and \PVerb ? Thanks – information_interchange Oct 8 '18 at 2:46
7

The \verb command is not allowed inside arguments of other commands. One workaround is to use \SaveVerb from fancyvrb.

The following definition of \vitem is taken from the Companion. It has an optional argument taking styling parameters from the fancyvrb package.

\usepackage{fancyvrb}

\newcommand\vitem[1][]{\SaveVerb[%
    aftersave={\item[\textnormal{\UseVerb[#1]{vsave}}]}]{vsave}}

\begin{description}
    \vitem+list comprehension [f a | a <- M a]+ bla bla bla
\end{description}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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