Как сделать так, чтобы пакет листингов прерывал код TeX только после управляющих последовательностей?

Как сделать так, чтобы пакет листингов прерывал код TeX только после управляющих последовательностей?

Пакет 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}

Связанный контент