2009-06-11 11 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 पर इंगित कर सकता हूं और सुझाव देता हूं कि वहां है उसमें एक खंड "मार्जिन और लाइन आकृति" नाम दिया गया है। क्या आप इन विकल्पों में से हैं जो आपने कोशिश की है?

विशेष रूप से मैं linewidth, breaklines, और breakautoindent जो cetainly पता चलता है कि listings अपनी आवश्यकताओं का समर्थन करता है जैसे नामों के साथ विकल्प देखें।

+0

मैंने उन सभी संयोजनों की कोशिश की जिन्हें मैं सोच सकता था, और यह काम नहीं करता है। – Adam

+2

हमम ... मुझे संदेह है कि कुछ कोड देखने के बिना हम आपके लिए कुछ भी नहीं कर सकते हैं। – dmckee

2

कोई अच्छा जवाब नहीं है, लेकिन एक विचार यह है कि इसे शामिल करने से पहले स्रोत कोड को लपेटें। यदि आप लिनक्स पर हैं, तो गुना कमांड का उपयोग इस के लिए किया जा सकता है। स्पष्ट रूप से यह सबसे अच्छा काम करता है यदि पाठ एक निश्चित चौड़ाई फ़ॉन्ट में है, जिसे मैं कोड सूची के लिए किसी भी मामले में अनुशंसा करता हूं।

51

मैं सिर्फ इस समस्या थी ...

breaklines मेरे लिए काम किया है, हालांकि आप सही करने के लिए यह निर्धारित करने की आवश्यकता है - डिफ़ॉल्ट गलत है:

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

काफी है कि मैं क्या

प्रयोग किया जाता है
+0

विकल्पों की एक पूरी सूची https://en.wikibooks.org/wiki/LaTeX/Packages/Listings –

7

मैं इस समस्या थी और इस पृष्ठ गूगल पर अत्यधिक शुमार है इसलिए यहाँ मेरे लिए समाधान था:

मैं निम्नलिखित शामिल किए जाने के लिए किया था: \usepackage[none]{hyphenat} w जो ऊपर वर्णित मुद्दा का कारण बनता है। मैं लेटेक्स की समस्या को एक शब्द के बीच में स्वचालित रूप से तोड़ने की समस्या को ठीक करने के लिए इसका उपयोग कर रहा था, जो कुछ परिस्थितियों में वास्तव में बेवकूफ दिखता है।

इस समाधान के विकल्प के लिए बहुत अधिक खोज करने के बाद मुझे उचित रूप से टूटी हुई लाइनों के लिए उपयुक्त और बसने के लिए कुछ भी नहीं मिला लेकिन बुरी तरह से हाइफेनेशन रखा गया।

+0

पर उपलब्ध है धन्यवाद! मुझे एक ही समस्या थी, और यह पता नहीं लगा सका कि क्यों ब्रेकलाइन = सच के साथ लिस्टिंग मेरी लाइनें तोड़ नहीं पाएगी। आपने मुझे बहुत सी सिर खरोंच से बचाया है। – Zero3

संबंधित मुद्दे