即使 breaklines=true,代码也不会在列表中换行

即使 breaklines=true,代码也不会在列表中换行

我读到在列表中启用断线将使包含的代码换行,但在我的情况下却没有。也许有什么东西干扰了这个功能?

完整代码如下所示:

\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

即使没有发现空格,它现在也会换行。

相关内容