我对乳胶列表包有疑问。我需要在我的硕士论文附录中嵌入以下 XML 文档的源代码http://www.sparxsystems.com.au/downloads/profiles/EP_Extensions.xml。问题是,无论我向包传递什么选项,我似乎都无法将其放入页面中。列表中的行太长,并且列表包没有包装它们,这看起来很奇怪......什么选项组合可以解决这个问题?
目前我使用以下 lstset 指令:
\lstset{
breakindent=0em,
language=XML,
basicstyle=\footnotesize,
numbers=left,
numberstyle=\footnotesize,
stepnumber=2,
numbersep=5pt,
backgroundcolor=\color{white},
showspaces=false,
showstringspaces=false,
showtabs=false,
frame=single,
tabsize=2,
captionpos=b,
breaklines=true,
breakatwhitespace=true,
breakautoindent=true,
escapeinside={\%*}{*)},
linewidth=\textwidth
}
其中,没有设置其他选项,并与以下命令结合使用:
\lstinputlisting{EP_Extensions.xml}
列出给定文件的源到以下输出:
我刚刚遇到这个问题...
breaklines
对我有用,尽管你确实需要将其设置为 true - 默认为 false:
\lstinputlisting[style=Python,
caption=My Class,
label={mine.py},
breaklines=true,
]{../python/mine.py}
和我用过的差不多
我遇到了这个问题,这个页面在谷歌上排名很高,所以这里是我的解决方案:
我有以下内容:
\usepackage[none]{hyphenat}
,这会导致上述问题。我用它来解决 Latex 在单词中间自动断行的问题,这在某些情况下看起来非常愚蠢。
经过大量寻找此解决方案的替代方案后,我发现没有任何合适的解决方案,并解决了正确的断线但连字符放置不当的情况。
这不是一个很好的答案,但一个想法是在包含源代码之前对其进行自动换行。如果您使用的是 Linux,则可以使用命令 fold 来实现此目的。显然,如果文本采用固定宽度字体,则效果最好,在任何情况下我都会推荐用于代码列表。
检查您使用的软件包可能会有所帮助。我有同样的问题。即使我尝试了一切,但我无法解决它。然后我从文档中删除
\usepackage[none]{hyphenat}
,它就成功了!该库似乎会导致换行错误,因为它禁用了自动连字符。