2010-06-11 20 views
5

tengo una pequeña pregunta sobre el entorno literal en el látex ..... mi problema es cómo puedo escribir "\ end {verbatim}" dentro de un entorno literal, se suponía que todo dentro de una palabra escrita está escrito tal como se ve, pero esta es la cadena para terminar con el medio ambiente, entonces, ¿cómo puedo hacer esto?cómo escribir esto en el látex textual

Respuesta

3

Creo que podría ser imposible en un entorno verbatim; al menos, eso es lo que dice Lamport en el libro LaTeX (primer párrafo en la página 64). Sin embargo, puede hacerlo con el comando \verb: \verb+\end{verbatim}+ funciona bien (y de hecho, puede usar cualquier carácter en lugar de +, siempre y cuando los haga coincidir).

Dicho esto, el paquete listings es lo suficientemente inteligente como para tener un carácter de escape. Por ejemplo,

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

hace exactamente lo que está buscando. (De nuevo, elija un personaje diferente de + si ya lo está utilizando para otra cosa).

+0

gracias, eso funciona. Mmm Necesito un poco más de ayuda, en un entorno de lista, ¿sabes cómo puedo hacer lo mismo? (write \ end {lstlisting}) Primero pido textualmente, porque ambos entornos escriben el texto en el interior como se escriben ... la primera solución que me viene a la mente es simplemente dividir el texto en dos partes, por lo que en el medio write \ end {lstlisting} dentro de \ verb – mjsr

+0

Oh, 'lstlisting' es lo suficientemente inteligente como para tener un carácter de escape para eso - actualizando la respuesta ahora. –

1
\\end{verbatim} 

En caso de hacerlo, haciendo que el inicial \ en una barra invertida literal.

+0

Parece que no funciona para mí. –

1

Utilice el paquete fancyvrb en lugar del paquete predeterminado verbatim.

+0

¿Puedes darme un ejemplo? ..... Leí la documentación pero no puedo ver la respuesta – mjsr

+0

¿Fuiste al enlace, descargaste el paquete 'fancyvrb' y usaste el entorno' Verbatim' (capital 'V' ?) Si es así, ¿qué viste? –

0

La respuesta de Craig es buena. Alternativamente, \expandafter\string\csname end{verbatim}\endcsname.

Estas soluciones no rayan muy bien: arreglar esto es complicado.

0

Tengo una solución más simple. Escriba non-breaking space, en Emacs es C-x 8 SPC (Windows, aunque no lo he probado es Alt+0160 (on numeric keypad)). Por lo tanto, usted puede hacer esto:

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

donde el primer \end{verbatim} tiene esto, el carácter "_" no separación.

+0

agrega un espacio feo donde no debería – mjsr

+0

no, no es así. Agregará ese personaje en la fuente, pero resolverá su problema. –