tags:

views:

107

answers:

5

hi, i have a little question about the verbatim environment in latex..... my problem is how can i write "\end{verbatim}" inside of a verbatim environment, it supposed that everything inside a verbatim is written just like it looks but this is the string to end the environment, so how can i do this?

A: 
 \\end{verbatim}

Should do it by making the initial \ into a literal backslash.

Jonno_FTW
It doesn't seem to work for me.
S.Lott
+1  A: 

Use the fancyvrb package instead of the default verbatim package.

S.Lott
can you give and example?.....i read the documentation but i can't see the answer
voodoomsr
Did you go to the link, download the `fancyvrb` package and use the `Verbatim` environment (capital `V`?) If so, what did you see?
S.Lott
+2  A: 

I think it might be impossible in a verbatim environment -- at least, that's what Lamport says in the LaTeX book (first paragraph on pg. 64). However, you can do it with the \verb command: \verb+\end{verbatim}+ works just fine (and in fact, you can use any character instead of + as long as you make them match).

That said, the listings package is smart enough to have an escape character. For example,

\begin{lstlisting}[escapechar=+]
+\verb!\end{lstlisting}!+
\end{lstlisting}

does exactly what you're looking for. (Again, pick a different character than + if you're already using that for something else.)

Craig Citro
thanks, that works. Mmm I need a little more help, in a listing environment do you know how can i do the same? (write \end{lstlisting})I first ask for verbatim, because both environments write the text inside like they are written....the first solution that comes to my mind is just simply split the text in two parts so in the middle write \end{lstlisting} inside a \verb
voodoomsr
Oh, `lstlisting` is smart enough to have an escape character for that -- updating answer now.
Craig Citro
A: 

Craig's answer is good. Alternatively, \expandafter\string\csname end{verbatim}\endcsname.

These solutions won't linebreak nicely: fixing this is fiddly.

Charles Stewart
A: 

I have a simpler solution. Write a non-breaking space, in Emacs it's C-x 8 SPC (Windows, though I haven't tried it is Alt+0160 (on numeric keypad)). So, you can do this:

\begin{verbatim}
\_end{verbatim}
\end{verbatim}

where the first \end{verbatim} has this "_", the non-breaking character.

Dervin Thunk
it adds a ugly space where it should not
voodoomsr
no, it doesn't. It will add that character in the source, but it will solve your problem.
Dervin Thunk