\verb in custom command
As already mentioned in comment, verbatim
or its short form \verb
is a different beast altogether. If you must pass verbatim
stuff as arguments, you could consider a fancyvrb
work-around.
Using fancyvrb
you can save and restore your verbatim
commands in the following way:
\usepackage{fancyvrb}% http://ctan.org/pkg/fancyvrb
\DefineShortVerb{\#}% # denotes verbatim opening/closing character
\SaveVerb{VerbA}#(echo 5+4 | bc)#
\SaveVerb{VerbB}#$((5+4))#
This stores (echo 5+4 | bc)
as-is in VerbA
, and $((5+4))
in VerbB
, which can be used (restored) later by means of \UseVerb{VerbA}
and \UseVerb{VerbB}
respectively. Here is a minimal working example:
\documentclass{article}
\usepackage{fancyvrb}
\newcommand\dd[2]{\item[\texttt{#1}] #2}
\begin{document}
\DefineShortVerb{\#}% # denotes verbatim opening/closing character
\SaveVerb{VerbA}#(echo 5+4 | bc)#
\SaveVerb{VerbB}#$((5+4))#
\begin{description}
\dd{bc}{text \UseVerb{VerbA} text \UseVerb{VerbB} text}
\end{description}
\end{document}
Edit: A similar work-around exist using the verbdef
package. It provides \verbdef{<cmd>}{<verb>}
that defines \<cmd>
with verbatim <verb>
content. The following MWE produces the same output as above:
\documentclass{article}
\usepackage{verbdef}
\newcommand\dd[2]{\item[\texttt{#1}] #2}
\begin{document}
\verbdef\VerbA{(echo 5+4 | bc)}
\verbdef\VerbB{$((5+4))}
\begin{description}
\dd{bc}{text \VerbA\ text \VerbB\ text}
\end{description}
\end{document}
I'm not sure I fully understand what you're trying to achieve, but I think the simplest solution may be something along the following model. Note that one has to "escape" the dollar sign by prefixing a backslash to it; on the other hand, it's not necessary to introduce verbatim strings explicitly.
\documentclass{article}
\newcommand\dd[2]{\item[\texttt{#1}] #2}
\begin{document}
\begin{description}
\dd{bc}{text \texttt{\$(echo 5+4 $|$ bc)} text \texttt{\$((5+4))} text}
\end{description}
\end{document}
Nowadays you can use the more "robust" \Verb
from fvextra
package.
Note both \Verb|...|
and \Verb{...}
is supported (with some restrictions). Also when used as argument, don't use #
as delimiters.
\documentclass{article}
\usepackage{fvextra}
\newcommand\dd[2]{\item[\texttt{#1}] #2}
\begin{document}
\begin{description}
\dd{bc}{text \Verb{$(echo 5+4 | bc)} text \Verb{$((5+4))} text}
\end{description}
\end{document}