у меня есть немного вопроса о дословной среде в латексе..... моя проблема состоит в том, как я могу записать "\end {дословно}" в дословной среде, это предположило, что все в verbatim записано точно так же, как это смотрит, но это - строка для окончания среды, поэтому как я могу сделать это?
Я думаю, что это может быть невозможно в дословной
среде - по крайней мере, так говорит Лампорт в книге LaTeX (первый абзац на стр. 64). Однако вы можете сделать это с помощью команды \ verb
: \ verb + \ end {verbatim} +
отлично работает (и на самом деле вы можете использовать any символ вместо +
при условии, что они совпадают).
При этом пакет listings
достаточно умен, чтобы иметь escape-символ. Например,
\begin{lstlisting}[escapechar=+]
+\verb!\end{lstlisting}!+
\end{lstlisting}
делает именно то, что вы ищете. (Опять же, выберите другой символ, отличный от +
, если вы уже используете его для чего-то другого.)
\\end{verbatim}
Должен сделать это, превратив начальный \
в литеральный обратный слеш.
У меня есть более простое решение. Напишите неразрывный пробел , в Emacs это C-x 8 SPC (Windows, хотя я не пробовал, это Alt + 0160 (на цифровой клавиатуре)
). Итак, вы можете сделать это:
\begin{verbatim}
\_end{verbatim}
\end{verbatim}
где первый \ end {verbatim}
имеет этот "_", неразрывный символ.
Используйте пакет fancyvrb вместо пакета по умолчанию verbatim
.
Крейг ответил хорошо. Или \ expandafter \ string \ csname end {verbatim} \ endcsname
.
Эти решения не очень хороши для разбивки строк: исправить это непросто.