مواد پر جائیں

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

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۔