2010-06-11 17 views
5

Mam małe pytanie dotyczące dosłownego środowiska w lateksie ..... moim problemem jest to, jak mogę napisać "\ end {verbatim}" w dosłownym środowisku, przypuszczam, że wszystko w dosłownym jest napisane tak jak wygląda, ale to jest ciąg znaków, aby zakończyć środowisko, więc jak mogę to zrobić?jak to napisać w dosłownym lateksie

Odpowiedz

3

Myślę, że to może być niemożliwe w środowisku verbatim - przynajmniej tak mówi Lamport w książce LaTeX (pierwszy akapit na stronie 64). Jednak można to zrobić za pomocą polecenia \verb: \verb+\end{verbatim}+ działa dobrze (i w rzeczywistości można używać dowolnego znaku zamiast +, o ile dopasujesz je).

To powiedziawszy, pakiet listings jest wystarczająco inteligentny, aby mieć postać ucieczki. Na przykład:

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

dokładnie to, czego szukasz. (Ponownie wybierz inną postać niż +, jeśli już używasz tego do czegoś innego.)

+0

dzięki, to działa. Mmm Potrzebuję trochę więcej pomocy, w środowisku aukcyjnym wiesz, jak mogę zrobić to samo? (write \ end {lstlisting}) Najpierw pytam o dosłowne, ponieważ oba środowiska zapisują tekst w środku, tak jak są napisane ... pierwsze rozwiązanie, które przychodzi mi do głowy, to po prostu podzielenie tekstu na dwie części, więc w środku napisz \ end {lstlisting} inside a \ verb – mjsr

+0

Och, 'lstlisting' jest na tyle sprytny, aby mieć na to znak ucieczki - aktualizując teraz odpowiedź. –

1
\\end{verbatim} 

powinien to zrobić dokonując wstępnej \ w dosłownym backslash.

+0

To nie działa dla mnie. –

1

Użyj pakietu fancyvrb zamiast domyślnego pakietu .

+0

czy możesz dać i przykład? ..... czytam dokumentację, ale nie widzę odpowiedzi – mjsr

+0

Po przejściu do linku pobierz pakiet 'fancyvrb' i użyj środowiska' Verbatim' (kapitał 'V' ?) Jeśli tak, co widzisz? –

0

Odpowiedź Craiga jest dobra. Alternatywnie, \expandafter\string\csname end{verbatim}\endcsname.

Rozwiązania te nie będą ładnie łamane: naprawienie tego jest kłopotliwe.

0

Mam prostsze rozwiązanie. Napisz non-breaking space, w Emacsie jest to C-x 8 SPC (Windows, choć nie próbowałem go to jest Alt+0160 (on numeric keypad)). Tak, można to zrobić:

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

gdzie pierwszy \end{verbatim} ma to „_”, to nie niszczące charakter.

+0

dodaje nieprzyjemne miejsce, w którym nie powinno być – mjsr

+0

nie, nie ma. Doda tę postać do źródła, ale rozwiąże twój problem. –