6

Is it possible to define a verbatim{} command that I could use instead of the environment?

\begin{verbatim}
\end{verbatim}
6

As Stefan has said, fancyvrb is usually the way to go. However, it’s not straightforward to use in an environment since the relevant macro is undocumented1).

Here’s a minimal working example:

\documentclass{article}

\usepackage{fancyvrb}

\newenvironment{codeframe}[1]
  {
    % First, we tell fancyvrb that we're inside a verbatim environment.
    \VerbatimEnvironment
    \textbf{Source code ``#1'':}\\
    % Now we start the actual environment:
    \begin{Verbatim}[frame=single]%
  }
  {\end{Verbatim}}

\begin{document}
\begin{codeframe}{example}
  this->is(a[source]).code();
\end{codeframe}
\end{document}

The comment % right behind the \begin{Verbatim}… is important – otherwise, the compiler will complain with horrible, undecipherable error messages. The same will happen for any other error you make, so be careful.

The \VerbatimEnvironment command is equally crucial, and undocumented.


1) For simple cases, using the (documented) \DefineVerbatimEnvironment may be enough, but the above example cannot be written with it.

  • This creates a verbatim environment, not a verbatim command, which I think the OP wanted. – hadley May 18 '13 at 18:59
5

Why not use \verb?

\documentclass{article}

\begin{document}
 Foo \verb|\bar| baz
\end{document}
  • I thought of the inline \verb, but I need something that can span over several lines. – landroni Aug 7 '10 at 11:01
  • 1
    @landroni In many (but not all) ways, \detokenize{} can emulate verbatim, and it includes line breaking. – Steven B. Segletes Jan 5 '17 at 1:43
3

If you need further functionality, have a look at the fancyvrb package, it provides further environments and commands for flexible handling of verbatim text.

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.