LaTex / LyX में प्रोग्रामिंग कोड जोड़ना


10

हो सकता है कि मैं सिर्फ मोटा हो रहा हूं, लेकिन मुझे सभी इंडेंट जानकारी (अजगर के लिए महत्वपूर्ण थोड़े) को खोए बिना लेटेक्स में बस अपने (अजगर) कोड में पेस्ट करने का कोई समझदार तरीका नहीं मिल रहा है।

किसी को कोई उज्ज्वल विचार मिला? मैं वाक्य रचना हाइलाइटिंग के बारे में चिंतित नहीं हूं; मैं चाहता हूं कि मेरी टैब कुंजी वापस आ जाए!

जवाबों:


13

इस खनन के लिए मेरा पसंदीदा वातावरण । मैं इसका उपयोग संपूर्ण स्रोत फ़ाइलों जैसे इनपुट करने के लिए करता हूं:

\inputminted[linenos,fontsize=\scriptsize]{python}{script.py}

तुम भी एक फ़ाइल inputing के बिना उपयोग कर सकते हैं, और अधिक महत्वपूर्ण बात यह परिभाषित कितना मांगपत्र यह gobbles एक बार चिपकाया:

\newminted{python}{gobble=4,linenos,fontsize=\scriptsize}
\begin{pythoncode}
    print('I am a Python script')
\end{pythoncode}

इस तरह से आपका LaTeX अभी भी अच्छी तरह से इंडेंटेड है, लेकिन आपका वर्बेटिम कोड नहीं है। यह सिंटैक्स-हाइलाइटिंग भी प्रदान करता है, जो मुझे पता है कि आपने उल्लेख किया है कि आप इसमें रुचि नहीं रखते थे। बस भाषा को परिभाषित न करें।


4

आप शब्दशः पर्यावरण का उपयोग करना चाहते हैं: http://web.mit.edu/vogt/www/latex/ltx-79.html

यदि समस्या तब होती है जब आप इसे पेस्ट करते हैं ... क्या आप दस्तावेज़ बनाने के लिए आईडीई का उपयोग कर रहे हैं? फ़ाइल को सादे पाठ संपादक में खोलने का प्रयास करें जैसे कि gedit या notepad।


2

मैं के साथ जाना चाहते हैं minted, के रूप में fideli सुझाव दिया है, लेकिन यह अच्छी बात की जानकारी होनी पैकेज है, जो समस्या OT एक शुद्ध लेटेक्स समाधान है।listings

mintedसे ली गई है Pygments , एक स्रोत हाइलाइटर पायथन में लिखा है। mintedएक लेटेक्स पुल के साथ coimes, के आधार पर \write18, और पैकेज Pygments के लिए एक प्रदान करता है। वहाँ Py Py से तुलना करने के लिए कोई नकारात्मक पहलू नहीं है जो मुझे पता है: शायद दोनों को किसी बिंदु पर विलय कर दिया जाएगा।texmentsminted


1

लिस्टिंग पैकेज का उपयोग करने के लिए, आपको पैकेज को शामिल करना होगा और प्रस्तावना में आवश्यक भाषाओं को लोड करना होगा:

\usepackage{listings}
\lstloadlanguages{Python}

दस्तावेज़ के अंदर कुछ विकल्प सेट करें:

\lstset{language=Python,tabsize=2}

... और फिर आप स्निपेट इनलाइन दे सकते हैं:

\begin{lstlisting}
  print ("Hello, World!")
\end{lstlisting}

... या उन्हें एक फ़ाइल से पढ़ें:

\lstinputlisting[firstline=10,lastline=20]{Hello.py}

... या कोड इनलाइन लिखें: \lstinline!print ("Hello, World!")!


1

LyX के लिए, देखें इस (आयात एक बच्चे दस्तावेज़ "लिस्टिंग" प्रारूप का उपयोग)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.