我读到在列表中启用断线将使包含的代码换行,但在我的情况下却没有。也许有什么东西干扰了这个功能?
完整代码如下所示:
\ifdefined\docdefined
\else
\documentclass[a4paper,twoside,12pt, openright]{report}
\input{include_start}
\begin{document}
\fi
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
% START DOCUMENT
\begin{appendices}
\makeatletter
\chapter{GUI Code}
%%%%%%%%%%%%%%%%% XML
\section{Code XML}
\lstset{language=XML,
numbers=left,
frame=single,
commentstyle=\color{dkgreen},
basicstyle={\scriptsize\ttfamily},
keywordstyle=\color{blue},
%identifierstyle=\color{blue},
stringstyle=\color{mauve},
captionpos=t,
showstringspaces=false,
breaklines=true,
breakatwhitespace=true,
tabsize=3,
caption={\protect\filename@parse{\lstname}\protect\filename@base\text{.}\protect\filename@ext},
}
\begin{frame}
\lstinputlisting{C:/Users/hab/SW/GUI/android/AndroidManifest.xml}
\end{frame}
\end{appendices}
% END DOCUMENT
\ifdefined\docdefined
\else
\input{include_end}
\end{document}
\fi
答案1
解决方案很简单。
我有:
breakatwhitespace=true
这意味着它只会在空格处中断。由于某些 XML 没有空格和长字符串,因此它不会换行!
解决方案:
breakatwhitespace=false
即使没有发现空格,它现在也会换行。