как написать это дословно латекс - PullRequest
5 голосов
/ 11 июня 2010

У меня есть маленький вопрос о дословной среде в латексе ..... моя проблема в том, как я могу написать "\ end {verbatim}" внутри дословной среды, предполагалось, что все внутри дословно написаноэто выглядит, но это строка для завершения среды, так как я могу это сделать?

Ответы [ 5 ]

3 голосов
/ 11 июня 2010

Я думаю, что это может быть невозможно в verbatim среде - по крайней мере, так говорит Лампорт в книге LaTeX (первый абзац на стр. 64). Тем не менее, вы можете сделать это с помощью команды \verb: \verb+\end{verbatim}+ работает просто отлично (и на самом деле вы можете использовать любой символ вместо +, пока вы делаете их совпадающими).

Тем не менее, пакет listings достаточно умен, чтобы иметь escape-символ. Например,

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

делает именно то, что вы ищете. (Опять же, выберите символ, отличный от +, если вы уже используете его для чего-то другого.)

1 голос
/ 11 июня 2010

Используйте пакет fancyvrb вместо пакета по умолчанию verbatim.

1 голос
/ 11 июня 2010
 \\end{verbatim}

Следует сделать это, превратив начальный \ в буквальный обратный слеш.

0 голосов
/ 12 июня 2010

У меня есть более простое решение. Напишите неразрывный пробел , в Emacs это C-x 8 SPC (Windows, хотя я не пробовал, это Alt+0160 (on numeric keypad)). Итак, вы можете сделать это:

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

, где первый \end{verbatim} имеет это "_", неразрывный символ.

0 голосов
/ 11 июня 2010

Ответ Крейга хорош. В качестве альтернативы \expandafter\string\csname end{verbatim}\endcsname.

Эти решения не будут хорошими, потому что исправлять это сложно.

...