
Пакет listings
всегда любит ломать код TeXпослеобратные косые черты. Как сделать так, чтобы он всегда прерывалсядообратные косые черты?
\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[basicstyle=\ttfamily,breaklines,language=TeX]
\def\beamer@toc@subsubsectionstyle#1{\beamer@toc@ssprocess\beamer@toc@csss\beamer@toc@osss\beamer@toc@oosss\beamer@toc@ooosss#1////}
\end{lstlisting}
\end{document}
Редактировать: Вопрос следует прояснить, поскольку --Как заставить listings
пакет разбить только код TeXпослеконтрольные последовательности?
решение1
Вы можете предотвратить разрывы после, \
сделав это буквой, через alsoletter={\\}
. Однако произвольные разрывы до этого \
опасны и могут привести к неправильному синтаксису с точки зрения tex TeX.
\def\a{\b}
это не то же самое, что
\def\a{
\b}
что эквивалентно
\def\a{ \b}
С другой стороны
\def\a{\b\c}
\def\a{\b \c}
\def\a{\b
\c}
эквивалентны. Я предлагаю вам добавлять пробелы там, где это уместно, например, можно ввести:
\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[basicstyle=\ttfamily,breaklines,language=TeX,alsoletter={\\}]
\def\beamer@toc@subsubsectionstyle#1{%
\beamer@toc@ssprocess \beamer@toc@csss \beamer@toc@osss \beamer@toc@oosss \beamer@toc@ooosss#1////}
\end{lstlisting}
\end{document}