2010-06-11 4 views
5

J'ai une petite question sur l'environnement verbatim en latex ..... mon problème est comment puis-je écrire "\ end {verbatim}" à l'intérieur d'un environnement verbatim, il supposait que tout à l'intérieur d'un verbatim est écrit comme il ressemble mais c'est la chaîne pour mettre fin à l'environnement, alors comment puis-je faire cela?comment écrire cela en latex verbatim

Répondre

3

Je pense que cela pourrait être impossible dans un environnement verbatim - du moins, c'est ce que dit Lamport dans le livre LaTeX (premier paragraphe à la page 64). Cependant, vous pouvez le faire avec la commande \verb: \verb+\end{verbatim}+ fonctionne très bien (et en fait, vous pouvez utiliser tout caractère au lieu de + tant que vous les faites correspondre). Ceci dit, le paquet listings est assez intelligent pour avoir un caractère d'échappement. Par exemple,

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

fait exactement ce que vous cherchez. (Encore une fois, choisissez un autre caractère que + si vous l'utilisez déjà pour autre chose.)

+0

merci, cela fonctionne. Mmm j'ai besoin d'un peu plus d'aide, dans un environnement de liste savez-vous comment puis-je faire la même chose? (write \ end {lstlisting}) Je demande d'abord mot pour mot, parce que les deux environnements écrivent le texte à l'intérieur comme s'ils étaient écrits ... la première solution qui vient à l'esprit est simplement de diviser le texte en deux parties donc au milieu écrire \ end {lstlisting} dans un \ verb – mjsr

+0

Oh, 'lstlisting' est assez intelligent pour avoir un caractère d'échappement pour cela - mettre à jour la réponse maintenant. –

1
\\end{verbatim} 

devrait le faire en faisant le \ initial en un anti-slash.

+0

Cela ne semble pas fonctionner pour moi. –

1

Utilisez le package fancyvrb au lieu du package verbatim par défaut.

+0

pouvez-vous donner et exemple? ..... j'ai lu la documentation mais je ne peux pas voir la réponse – mjsr

+0

Avez-vous aller au lien, téléchargez le paquet 'fancyvrb' et utilisez l'environnement' Verbatim' (capital 'V' ?) Si oui, qu'avez-vous vu? –

0

La réponse de Craig est bonne. En variante, \expandafter\string\csname end{verbatim}\endcsname.

Ces solutions ne seront pas très bien alignées: cela est difficile à résoudre.

0

J'ai une solution plus simple. Ecrire un non-breaking space, dans Emacs c'est C-x 8 SPC (Windows, bien que je ne l'ai pas essayé c'est Alt+0160 (on numeric keypad)). Donc, vous pouvez le faire:

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

où le premier \end{verbatim} a ce « _ », le caractère insécable.

+0

il ajoute un espace moche où il ne devrait pas – mjsr

+0

non, il ne le fait pas. Il va ajouter ce caractère dans la source, mais il va résoudre votre problème. –

Questions connexes