सवाल लाटेक्स पैकेज विभिन्न भाषाओं में कोड की सिंटैक्स हाइलाइटिंग करने के लिए


मैं एक लाटेक्स पैकेज की तलाश में हूं जो कोड पर सिंटैक्स हाइलाइट करता है। उदाहरण के लिए, अभी मैं कोड लिखने के लिए वर्बैटिम ब्लॉक का उपयोग करता हूं:

\begin{verbatim}
    <html>
       <head>
           <title>Hello</title>
       </head>
       <body>Hello</body>
    </html>
\end{verbatim}

और यह मेरे दस्तावेज़ पर कोड प्रदर्शित करने के लिए ठीक काम करता है। लेकिन, मान लीजिए कि मैं आउटपुट दस्तावेज़ में आईडीई के तरीके के रूप में एचटीएमएल मार्कअप को हाइलाइट करना चाहता था? क्या कोई पैकेज है जो मदद कर सकता है?

मैं जावा, सी #, एचटीएमएल, सीएसएस आदि जैसे विभिन्न भाषाओं के लिए ऐसा करना चाहता हूं।


147
2017-11-18 23:18


मूल


मैं संतुष्ट नहीं हूँ lstlisting। यह एक्सएमएल कोड को बिल्कुल हाइलाइट नहीं करता है और विदेशी यूनिकोड वर्णों का उपयोग करते समय खराब हो जाता है। ऐसा लगता है कि जावास्क्रिप्ट भी समर्थित नहीं है। क्या एलजीआरआईंड ऐसी चीजों को संभाल सकता है? - webjunkie


जवाब:


आप इसका उपयोग कर सकते हैं लिस्टिंग पैकेज। यह कई अलग-अलग भाषाओं का समर्थन करता है और आउटपुट को अनुकूलित करने के लिए बहुत सारे विकल्प हैं।

\documentclass{article}
\usepackage{listings}

\begin{document}
\begin{lstlisting}[language=html]
<html>
    <head>
        <title>Hello</title>
    </head>
    <body>Hello</body>
</html>
\end{lstlisting}
\end{document}

143
2017-11-18 23:43



क्या यह डिफ़ॉल्ट रूप से रंग करता है? मैं अपने परीक्षण उपयोग में रंगीन आउटपुट नहीं देख रहा हूं, और मुझे यकीन नहीं है कि यह मेरे हिस्से में एक त्रुटि है, या बस एक सुविधा नहीं है। - Benson
मुझे यहां एक जवाब मिला: tjansson.dk/?p=419। आप विभिन्न गुणों के लिए सभी प्रकार की शैलियों को सेट करने के लिए बस lstset कमांड का उपयोग कर सकते हैं। - Benson


एक पूछने के बाद इसी तरह का सवाल मैंने एक और पैकेज बनाया है जो पाइगल्स का उपयोग करता है, और इसके मुकाबले कुछ और विकल्प प्रदान करता है texments। इसे कहते हैं minted और काफी स्थिर और प्रयोग योग्य है।

बस इसे दिखाने के लिए, यहां एक कोड है जो minted के साथ हाइलाइट किया गया है:

Example code


124
2018-01-24 11:20



यह वास्तव में काफी अच्छा काम है। पाइगल्स इंस्टॉल करने के लिए थोड़ा चुनौती है लेकिन मुझे यकीन है कि ज्यादातर लोग ऐसा करने के इच्छुक होंगे। - Vincent Ramdhanie
@ विन्सेंट: दुर्भाग्यवश, विंडोज़ पर पाइगल्स इंस्टॉल करना इस समय थोड़ा अधिक जटिल है (उपयोगकर्ता को अनुकूलित करना है PATH परिवर्तनीय और एक cmd स्क्रिप्ट बनाएँ)। मैं जहाज के रखरखाव करने वालों को जहाज को मनाने की उम्मीद कर रहा हूं pygmentize एक साथ .exe इस कदम को आसान बनाने के लिए रैपर। - Konrad Rudolph
दोनों लिस्टिंग और minted / पायगल्स की कोशिश करने के बाद मैंने फैसला किया कि minted बहुत बेहतर था (अधिक लचीला)। इसके लिए इसे एक दर्जन हुप्स के माध्यम से कूदने की आवश्यकता होगी, मिकिटेक्स 2.8 में अपग्रेड करना, पायथन स्थापित करना, अन्य घटकों को स्थापित करना आदि। छोटा दस्तावेज खराब है और यह लंबी लाइनों को तोड़ने का समर्थन नहीं करता है। लेकिन आखिरकार मुझे ग्रहण रंगों में जावा / एक्सएमएल प्रस्तुत करने के लिए मिला! jevon.org/wiki/Eclipse_Pygments_Style - jevon
@soundasleepful: minted दस्तावेज लगातार अद्यतन किया जाता है। ;-) मुझे वास्तव में यह काफी व्यापक लगता है (बेशक मैं पक्षपातपूर्ण हूं) लेकिन मुझे किसी भी शिकायत को संबोधित करने में खुशी है। जैसा कि यह खड़ा है, "आवश्यकताओं" खंड स्वीकार्य रूप से भयानक है। - Konrad Rudolph
minted स्थापित किया गया है और ShareLatex और ओवरलीफ दोनों पर काम कर रहा है। अपने आप को पाइगल्स इंस्टॉल करने का सिरदर्द बचाएं;) - grofte


मेरा सुझाव है Pygments। यह किसी भी भाषा में कोड का एक टुकड़ा स्वीकार करता है और आउटपुट सिंटैक्स लाइटिक्स कोड को हाइलाइट करता है। यह उपयोगकर्ता है fancyvrb तथा रंग अपने उत्पादन का उत्पादन करने के लिए पैकेज। मैं इसे व्यक्तिगत रूप से लिस्टिंग पैकेज में पसंद करता हूं। मुझे लगता है fancyvrb बहुत सुंदर परिणाम बनाता है।


21
2017-09-20 21:39



जबकि मैं लिस्टिंग के पीछे मैक्रोलॉजी की प्रशंसा करता हूं, मैं यह भी मानता हूं कि पिक्गर्स के किनारे हैं: निकर हाइलाइटिंग, आसान अनुकूलन, वाक्यविन्यास मिश्रण करने की कुछ क्षमता, और लेटेक्स के अलावा प्रारूपों को आउटपुट करने की क्षमता, जैसे एचटीएमएल। - Charles Stewart
पर beamer दस्तावेज़ टाइप करें यह स्पष्ट रूप से एकमात्र कार्यात्मक विकल्प है। न minted न listings सही ढंग से संकलित करें beamer। - Luís de Sousa
हाँ, मैंने उपयोग किया है listings साथ में beamer, लेकिन आपको उस फ्रेम को निर्दिष्ट करना होगा जिसमें लिस्टिंग शामिल हैं [fragile]। - Supernormal


LGrind क्या ये। यह एक परिपक्व लाटेक्स पैकेज है जो एडम एक काउबॉय था और कई प्रोग्रामिंग भाषाओं के लिए समर्थन है।


11
2017-11-18 23:27





मैं इसका इस्तेमाल करूंगा minted पैकेज जैसा कि डेवलपर कॉनराड रुडॉल्फ से उल्लेख किया गया है लिस्टिंग पैकेज। यहां क्यों है:

लिस्टिंग पैकेज

लिस्टिंग पैकेज डिफ़ॉल्ट रूप से रंगों का समर्थन नहीं करता है। रंगों का उपयोग करने के लिए आपको रंग पैकेज शामिल करना होगा और रंग-नियमों को स्वयं के साथ परिभाषित करना होगा \ lstset matlab कोड के लिए समझाया गया आदेश यहाँ

साथ ही, लिस्टिंग पैकेज यूनिकोड के साथ अच्छी तरह से काम नहीं करता है, लेकिन आप समझाए गए समस्याओं को ठीक कर सकते हैं यहाँ तथा यहाँ

निम्नलिखित कोड

\documentclass{article}
\usepackage{listings}

\begin{document}
\begin{lstlisting}[language=html]
<html>
    <head>
        <title>Hello</title>
    </head>
    <body>Hello</body>
</html>
\end{lstlisting}
\end{document}

निम्नलिखित छवि का उत्पादन करता है:

enter image description here

minted पैकेज

Minted पैकेज रंग, यूनिकोड का समर्थन करता है और भयानक लग रहा है। हालांकि, इसका उपयोग करने के लिए, आपको Python 2.6 और होना चाहिए pygments। उबंटू में, आप टर्मिनल में अपने पायथन संस्करण की जांच कर सकते हैं

python --version

और आप के साथ पाइगल्स स्थापित कर सकते हैं

sudo apt-get install python-pygments

फिर, चूंकि minted pygments को कॉल करता है, तो आपको इसे संकलित करने की आवश्यकता होती है -shell-भागने इस तरह

pdflatex -shell-escape yourfile.tex

यदि आप टेक्समेकर या किसी चीज़ जैसे लेटेक्स संपादक का उपयोग करते हैं, तो मैं उपयोगकर्ता-कमांड जोड़ने की अनुशंसा करता हूं, ताकि आप इसे अभी भी संपादक में संकलित कर सकें।

निम्नलिखित कोड

\documentclass{article}
\usepackage{minted}
\begin{document}

\begin{minted}{html}
    <!DOCTYPE html>
    <html>
       <head>
           <title>Hello</title>
       </head>

       <body>Hello</body>
    </html>
\end{minted}
\end{document}

निम्नलिखित छवि का उत्पादन करता है:

enter image description here


6
2017-11-06 11:09





मैं ज्यादातर कागजात में lstlistings का उपयोग करते हैं, लेकिन रंगीन आउटपुट (स्लाइड के लिए) के लिए मैं इसके बजाय pygments का उपयोग करें।


3
2017-08-05 17:27





मैं निम्नलिखित टेक्स कोड के आधार पर अपने पैकेज को परिभाषित करने का सुझाव दूंगा; यह आपको पूर्ण स्वतंत्रता देता है। http://ubuntuforums.org/archive/index.php/t-331602.html


1
2017-11-14 17:13



लिंक सिर्फ 'लिस्टिंग' पैकेज के साथ पायथन कोड को हाइलाइट करने वाले वाक्यविन्यास के लिए विशिष्ट सेटिंग्स दिखाता है ... - las3rjock