软件包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}