LaTeX میں کوڈ لسٹنگز
کوڈ کو verbatim، lstlisting یا minted ماحول میں رکھیں، یا سطر کے اندر \verb|...| استعمال کریں؛ Scissor LaTeX اسے بالکل جیسا لکھا ویسا مونو اسپیس فونٹ میں چھاپتا ہے اور زبان کا نام دینے پر سنٹیکس کو رنگ دیتا ہے۔
verbatim
verbatim کے اندر کسی چیز کی تشریح نہیں ہوتی: بیک سلیش، بریسز، $ اور % جوں کے توں چھپتے ہیں، اور سطروں کے وقفے اور خالی جگہیں برقرار رہتی ہیں۔ کوڈ یا ٹرمینل کا آؤٹ پٹ دکھانے کا یہ سب سے آسان طریقہ ہے۔
ایک verbatim بلاک
\begin{verbatim}
for i in range(44):
print(i) # $ and \textbf stay as typed
\end{verbatim}سطر کے اندر کوڈ: \verb
\verb جملے کے اندر کوڈ کا ایک چھوٹا حصہ دکھاتا ہے۔ \verb کے فوراً بعد آنے والا حرف حد بندی کا نشان ہے؛ ایسا حرف چنیں جو کوڈ میں نہ ہو، جیسے | یا +۔
\verb اور \texttt کے ساتھ سطر کے اندر کوڈ
Call \verb|total(xs)| to add the list, or type \verb+x_1 = 44+.
For plain words in a monospaced font, \texttt{main.tex} is enough.\texttt{...} صرف فونٹ بدلتا ہے: وہاں _ اور % جیسے خاص حروف کو اب بھی ایسکیپ کرنا پڑتا ہے، جبکہ \verb انہیں جوں کا توں لیتا ہے۔
listings: زبان کے ساتھ lstlisting
listings پیکج آپ کو lstlisting دیتا ہے۔ language=... کے ساتھ کوڈ کو سنٹیکس رنگ ملتے ہیں۔
language=Python کے ساتھ lstlisting
\begin{lstlisting}[language=Python]
def total(xs):
"""Add up the numbers in xs."""
return sum(xs)
print(total([40, 4])) # 44
\end{lstlisting}\lstinline|code| اس کی سطر کے اندر والی شکل ہے، \verb کی طرح۔
minted
minted زبان کو آرگیومنٹ کے طور پر لیتا ہے۔ TeX انسٹالیشن میں اسے Python اور -shell-escape آپشن کی ضرورت ہوتی ہے؛ Scissor LaTeX میں یہ دونوں کے بغیر کام کرتا ہے۔
زبان کے ساتھ minted
\begin{minted}{rust}
fn main() {
let answer = 40 + 4;
println!("{}", answer);
}
\end{minted}
Inline: \mintinline{rust}{let x = 44;}کیا پڑھا جاتا ہے
| کمانڈ | Scissor LaTeX میں | نوٹس |
|---|---|---|
verbatim، verbatim* | کام کرتا ہے | |
\verb، \verb* | کام کرتا ہے | |
lstlisting | جزوی طور پر | language= پڑھا جاتا ہے؛ باقی ہر آپشن (numbers، caption، frame، basicstyle، firstline ...) نظر انداز ہوتا ہے۔ |
\lstinline | کام کرتا ہے | سطر کے اندر سنٹیکس رنگ نہیں۔ |
\lstset{...} | چھوڑ دیا جاتا ہے | یہاں مقرر کی گئی زبان استعمال نہیں ہوتی؛ ہر لسٹنگ پر language= دیں۔ |
minted | جزوی طور پر | زبان پڑھی جاتی ہے؛ linenos اور frame جیسے آپشنز نظر انداز ہوتے ہیں۔ |
\mintinline{lang}{code} | کام کرتا ہے | سطر کے اندر سنٹیکس رنگ نہیں۔ |
Verbatim، BVerbatim (fancyvrb) | جزوی طور پر | verbatim کی طرح دکھائے جاتے ہیں؛ آپشنز نظر انداز ہوتے ہیں۔ |
\lstinputlisting{file}، \inputminted{lang}{file} | سپورٹ نہیں | پیغام کے ساتھ چھوڑ دیے جاتے ہیں؛ کوڈ کو دستاویز میں پیسٹ کریں۔ |
\lstnewenvironment، \newminted | سپورٹ نہیں |
عام زبانوں کے لیے سنٹیکس رنگ دستیاب ہیں، جن میں Python، C، C++، Java، JavaScript، TypeScript، Rust، Go، Ruby، R، Julia، MATLAB، SQL، Bash، HTML، CSS، JSON، YAML، TeX اور LaTeX شامل ہیں۔ زبانوں کے ناموں میں چھوٹے بڑے حروف کا فرق نہیں ہوتا، اس لیے Python اور python ایک ہی ہیں۔ جو نام پہچانا نہ جائے اس سے سادہ مونو اسپیس کوڈ بنتا ہے۔
فائل سے کوڈ
TeX انسٹالیشن میں \lstinputlisting اور \inputminted کسی دوسری فائل سے کوڈ پڑھتے ہیں۔ Scissor LaTeX انہیں چھوڑ دیتا ہے اور مسائل کے ٹیب میں یہ بتاتا ہے:
\lstinputlisting چھوڑ دیا جاتا ہے
The script below is not shown:
\lstinputlisting[language=Python]{scripts/total.py}
Paste the code into an lstlisting environment instead.مسائل کا ٹیب: 1 included file is not part of this conversion
TeX انسٹالیشن سے کیا فرق ہے
پیکجز کے صفحات کے لیے دیکھیں listings اور minted۔ مکمل دستی کتابچے CTAN پر ہیں: listings، minted اور fancyvrb۔
سوالات اور جوابات
LaTeX میں کوڈ بلاک کیسے شامل کروں؟
کوڈ کو \begin{verbatim} ... \end{verbatim} میں رکھیں، یا سنٹیکس رنگوں کے لیے [language=Python] کے ساتھ lstlisting میں۔
کیا minted شیل ایسکیپ کے بغیر کام کرتا ہے؟
Scissor LaTeX میں، جی ہاں: minted ماحول Python یا -shell-escape کے بغیر رنگین ہوتے ہیں۔ TeX انسٹالیشن میں minted کو اب بھی دونوں کی ضرورت ہے۔
میری لسٹنگ کے سطروں کے نمبر کیوں غائب ہیں؟
Scissor LaTeX numbers=left اور listings کے دوسرے ترتیب والے آپشنز نظر انداز کرتا ہے۔ صرف زبان پڑھی جاتی ہے۔
اس صفحے کی ہر مثال سائٹ بنتے وقت Scissor LaTeX ٹائپ سیٹ کرتا ہے۔ آخری بار اپ ڈیٹ: 2026-11-07۔