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
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.)
\\end{verbatim}
powinien to zrobić dokonując wstępnej \
w dosłownym backslash.
To nie działa dla mnie. –
Odpowiedź Craiga jest dobra. Alternatywnie, \expandafter\string\csname end{verbatim}\endcsname
.
Rozwiązania te nie będą ładnie łamane: naprawienie tego jest kłopotliwe.
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.
dodaje nieprzyjemne miejsce, w którym nie powinno być – mjsr
nie, nie ma. Doda tę postać do źródła, ale rozwiąże twój problem. –
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
Och, 'lstlisting' jest na tyle sprytny, aby mieć na to znak ucieczki - aktualizując teraz odpowiedź. –