सामग्री पर जाएँ

Scissor LaTeX में listings

Scissor LaTeX में listings पैकेज आंशिक रूप से काम करता है: lstlisting कोड को ठीक वैसा ही रखता है जैसा टाइप किया गया, और एनवायरनमेंट पर language= देने पर उसे रंगीन करता है, और \lstinline काम करता है; \lstset, लाइन नंबर, फ़्रेम, कैप्शन और लेबल नज़रअंदाज़ होते हैं, और \lstinputlisting छोड़ दिया जाता है।

पैकेज क्या करता है

listings सोर्स कोड टाइपसेट करता है। lstlisting एनवायरनमेंट लाइन ब्रेक और स्पेस बनाए रखता है, और language=Python (या C, Java, SQL ...) के साथ कीवर्ड, कमेंट और स्ट्रिंग को अलग-अलग स्टाइल में रखता है। ऑप्शन लाइन नंबर, फ़्रेम, कैप्शन और रंग जोड़ते हैं, या तो हर लिस्टिंग के लिए या \lstset से पूरे डॉक्यूमेंट के लिए। \lstinline इसका इनलाइन रूप है, और \lstinputlisting किसी फ़ाइल से कोड पढ़ता है।

यहाँ क्या काम करता है

फ़ीचरScissor LaTeX मेंटिप्पणी
\begin{lstlisting} ... \end{lstlisting}काम करता हैमोनोस्पेस, ठीक वैसा जैसा टाइप किया।
एनवायरनमेंट पर [language=Python]काम करता हैतय स्कीम से सिंटैक्स रंग।
[language={[Sharp]C}] और दूसरी बोलियाँकाम करता हैब्रैकेट में लिखी बोली नाम के साथ पढ़ी जाती है।
\lstinline|code|, \lstinline{code}काम करता हैमोनोस्पेस, बिना रंग के।
numbers=left, frame=single, basicstyle, keywordstyle, backgroundcolorछोड़ दिया जाता हैबिना संदेश के नज़रअंदाज़।
caption=, label=छोड़ दिया जाता हैकोई कैप्शन नहीं छपता, और लेबल का \ref "??" दिखाता है।
\lstset{...}, \lstdefinestyle, style=छोड़ दिया जाता हैनज़रअंदाज़, वहाँ सेट किया गया language= भी।
\lstinputlisting{file}सपोर्टेड नहींसंदेश के साथ छोड़ दिया जाता है।
\lstlistoflistings, \lstnewenvironmentसपोर्टेड नहींसंदेश के साथ छोड़ दिए जाते हैं।

भाषाओं के नाम में छोटे-बड़े अक्षर से फ़र्क नहीं पड़ता। Python, C, C++, C#, Java, JavaScript, Rust, Go, R, MATLAB, SQL, Bash, HTML और TeX जैसी आम भाषाओं के लिए रंग उपलब्ध हैं। जो नाम पहचाना नहीं जाता, जैसे Fortran, वह बिना संदेश के सादा मोनोस्पेस कोड देता है।

उदाहरण

हर लिस्टिंग पर भाषा दें:

language=Python के साथ lstlisting

LaTeXप्रीएम्बल: \usepackage{listings}एडिटर में खोलें (नए टैब में खुलता है)
\begin{lstlisting}[language=Python]
def mean(values):
    # average of a list of numbers
    return sum(values) / len(values)

print(mean([40, 44, 48]))
\end{lstlisting}
Scissor LaTeX द्वारा टाइपसेट: language=Python के साथ lstlisting

\lstset से सेट की गई भाषा इस्तेमाल नहीं होती, इसलिए इस लिस्टिंग में रंग नहीं हैं। numbers और frame जैसे लेआउट ऑप्शन भी नज़रअंदाज़ होते हैं:

\lstset नज़रअंदाज़ होता है

\documentclass{article}
\usepackage{listings}
\lstset{language=SQL, numbers=left, frame=single}
\begin{document}
\begin{lstlisting}
SELECT name FROM staff WHERE id = 44;
\end{lstlisting}
\begin{lstlisting}[language=SQL]
SELECT name FROM staff WHERE id = 44;
\end{lstlisting}
\end{document}

\lstinline वाला इनलाइन कोड \verb की तरह कोई भी डेलिमिटर ले सकता है:

वाक्य में \lstinline

LaTeXप्रीएम्बल: \usepackage{listings}एडिटर में खोलें (नए टैब में खुलता है)
The loop \lstinline|for i in range(44):| runs 44 times, and
\lstinline{total += i} adds up the numbers.
Scissor LaTeX द्वारा टाइपसेट: वाक्य में \lstinline

फ़िगर के अंदर कैप्शन वाली लिस्टिंग

LaTeXप्रीएम्बल: \usepackage{listings}एडिटर में खोलें (नए टैब में खुलता है)
\begin{figure}[h]
\begin{lstlisting}[language=Python]
print(sum(range(44)))
\end{lstlisting}
\caption{Adding the numbers below 44}
\label{lst:sum}
\end{figure}
The code in Listing~\ref{lst:sum} prints 946.
Scissor LaTeX द्वारा टाइपसेट: फ़िगर के अंदर कैप्शन वाली लिस्टिंग

कम्पैटिबिलिटी

  • TeX इंस्टॉलेशन से यहाँ: हर lstlisting का कोड दिखता है। रंग पाने के लिए language= को \lstset से हटाकर हर लिस्टिंग पर लिखें, और \lstinputlisting फ़ाइलों का कोड डॉक्यूमेंट में पेस्ट करें।
  • यहाँ से TeX इंस्टॉलेशन पर: डॉक्यूमेंट वहाँ बिना बदलाव के कम्पाइल होते हैं, और तब आपके ऑप्शन लागू होते हैं।

पूरा मैनुअल CTAN पर है: ctan.org/pkg/listings। यह भी देखें: LaTeX में कोड लिस्टिंग और minted।

सवाल और जवाब

मेरी लिस्टिंग रंगीन क्यों नहीं हैं?

शायद भाषा \lstset से सेट की गई है, जो यहाँ नज़रअंदाज़ होता है। \begin{lstlisting} के बाद [language=Python] (या अपनी भाषा) लिखें।

क्या मैं लाइन नंबर दिखा सकता हूँ?

अभी नहीं। numbers=left स्वीकार होता है और नज़रअंदाज़ होता है।

इस पेज का हर उदाहरण साइट बनते समय Scissor LaTeX टाइपसेट करता है। पिछला अपडेट: 2026-11-07।