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
\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}\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
The loop \lstinline|for i in range(44):| runs 44 times, and
\lstinline{total += i} adds up the numbers.फ़िगर के अंदर कैप्शन वाली लिस्टिंग
\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.कम्पैटिबिलिटी
- 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।