Scissor LaTeX میں listings
listings پیکج Scissor LaTeX میں جزوی طور پر کام کرتا ہے: lstlisting کوڈ کو ٹھیک ویسا ہی رکھتا ہے جیسا ٹائپ کیا گیا اور جب آپ ماحول پر language= دیں تو اسے رنگ دیتا ہے، اور \lstinline کام کرتا ہے؛ \lstset، سطروں کے نمبر، فریم، کیپشن اور لیبل نظر انداز ہوتے ہیں، اور \lstinputlisting چھوڑ دیا جاتا ہے۔
پیکج کیا کرتا ہے
listings سورس کوڈ ٹائپ سیٹ کرتا ہے۔ lstlisting ماحول سطروں کے وقفے اور خالی جگہیں برقرار رکھتا ہے، اور language=Python (یا C، Java، SQL ...) کے ساتھ کلیدی الفاظ، تبصروں اور strings کو مختلف انداز میں لکھتا ہے۔ آپشنز سطروں کے نمبر، فریم، کیپشن اور رنگ شامل کرتے ہیں، ہر لسٹنگ کے لیے یا \lstset سے پوری دستاویز کے لیے۔ \lstinline سطر کے اندر کی شکل ہے، اور \lstinputlisting کسی فائل سے کوڈ پڑھتا ہے۔
یہاں کیا کام کرتا ہے
| خصوصیت | Scissor LaTeX میں | نوٹس |
|---|---|---|
\begin{lstlisting} ... \end{lstlisting} | کام کرتا ہے | monospaced، ٹھیک ویسا جیسا ٹائپ کیا گیا۔ |
ماحول پر [language=Python] | کام کرتا ہے | ایک مقررہ اسکیم سے syntax رنگ۔ |
[language={[Sharp]C}] اور دوسری بولیاں | کام کرتا ہے | بریکٹ میں بولی نام کے ساتھ پڑھی جاتی ہے۔ |
\lstinline|code|، \lstinline{code} | کام کرتا ہے | monospaced، رنگوں کے بغیر۔ |
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، وہ بغیر پیغام کے سادہ monospaced کوڈ دیتا ہے۔
مثالیں
ہر لسٹنگ پر زبان دیں:
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۔