2009-06-11 40 views
37

我有一個關於乳膠中的列表包的問題。我需要在我的碩士論文附錄中嵌入以下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} 

列出給定文件的源到以下輸出: alt text

回答

4

我所能做的只是指出你在the listings docs,並建議有一個名爲「邊距和線形」的部分。這些選項是你嘗試過的嗎?

特別是我看到的選項與像linewidthbreaklines,並且breakautoindent這cetainly表明listings支持您需要的名字。

+0

我嘗試了他們所能想到的每一種組合,但它不起作用。 – Adam 2009-06-11 16:17:52

+2

嗯...我懷疑沒有一些代碼可以爲你做點事。 – dmckee 2009-06-11 17:05:48

2

不是一個好的答案,但有一個想法是在包含源代碼之前用文字包裝它。如果你在linux上,可以使用命令fold。顯然,如果文本是固定寬度的字體,我會建議在任何情況下爲代碼清單,這是最好的。

51

我只是有這個問題...

breaklines工作對我來說,雖然你需要將它設置爲true - 默認爲false:

\lstinputlisting[style=Python, 
    caption=My Class, 
    label={mine.py}, 
    breaklines=true, 
    ]{../python/mine.py} 

是差不多就是我用

+0

完整的選項列表可在https://en.wikibooks.org/wiki/LaTeX/Packages/Listings – 2014-01-12 15:28:57

7

我有這個問題,此頁面高度排名在谷歌所以這裏是我的解決方案:

我有以下包含:\usepackage[none]{hyphenat}瓦特這導致了上述問題。我正在用它來解決乳膠自動斷裂的問題,這在某些情況下看起來非常愚蠢。

經過多次尋找這種解決方案的替代方案後,我發現沒有合適的東西,並確定了正確的斷線但嚴重放置斷字。

相關問題