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?
6 Answers
\\end{verbatim}
Should do it by making the initial \
into a literal backslash.

- 8,601
- 7
- 58
- 90
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.)

- 6,505
- 1
- 31
- 28
-
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 – mjsr Jun 11 '10 at 03:19
-
Oh, `lstlisting` is smart enough to have an escape character for that -- updating answer now. – Craig Citro Jun 11 '10 at 05:21
-
1can you give and example?.....i read the documentation but i can't see the answer – mjsr Jun 11 '10 at 04:09
-
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 Jun 11 '10 at 17:18
Craig's answer is good. Alternatively, \expandafter\string\csname end{verbatim}\endcsname
.
These solutions won't linebreak nicely: fixing this is fiddly.

- 11,661
- 4
- 46
- 85
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.

- 19,515
- 28
- 127
- 217
-
-
no, it doesn't. It will add that character in the source, but it will solve your problem. – Dervin Thunk Jun 15 '10 at 01:30
Here is my method, thanks @S.Lott for his advice.
If you want to write \end{verbatim}
in the verbatim environment, you have to using another 'verbatim' layer to nest your code (this is where fancyvr
package comes to play). Here it is:
\documentclass{article}
\usepackage{fancyvrb}
\begin{document}
Some text here
\begin{Verbatim} % note 'uppercase V' in verbatim
\begin{verbatim}
Code example
\end{verbatim}
\end{Verbatim}
\end{document}

- 1
- 1