الگورتھم اور سوڈو کوڈ
سوڈو کوڈ سے "Algorithm 1" بنانے کے لیے اسے \caption کے ساتھ ایک algorithm ماحول میں رکھیں؛ اس کے اندر Scissor LaTeX algorithmic کی بڑے حروف والی کمانڈز (\STATE، \FOR) صرف کانفرنس ترتیبوں میں پڑھتا ہے، اس لیے دوسری دستاویزات میں مراحل کو verbatim بلاک میں رکھیں۔
algorithm ماحول
algorithm پیکج سوڈو کوڈ کے لیے شکل کی طرح ایک نمبر والا ماحول دیتا ہے: \caption اسے نمبر دیتا ہے ("Algorithm 1")، اور کیپشن کے بعد \label سے آپ \ref کے ذریعے اس کا حوالہ دے سکتے ہیں۔ Scissor LaTeX میں الگورتھم وہیں رہتا ہے جہاں آپ اسے لکھیں اور اس کا کیپشن اس کے نیچے آتا ہے۔
اندر کیا لکھا جاتا ہے یہ اس پیکج پر منحصر ہے جو آپ مراحل کے لیے استعمال کرتے ہیں، اور سپورٹ میں فرق یہیں ہے:
| پیکج | کمانڈز | Scissor LaTeX میں |
|---|---|---|
| algorithm | algorithm ماحول، \caption، \label | کام کرتا ہے: نمبر والا "Algorithm N"، کیپشن نیچے۔ |
| algorithmic | \STATE، \IF، \FOR، \WHILE، \RETURN ... (بڑے حروف) | جزوی طور پر: صرف کانفرنس ترتیب والی دستاویزات میں پڑھی جاتی ہیں؛ باقی جگہ یہ نامعلوم کمانڈز ہیں۔ |
| algpseudocode (algorithmicx) | \State، \If، \For، \EndFor، \Return ... | سپورٹ نہیں: پیغام کے ساتھ چھوڑ دی جاتی ہیں، اور مراحل ایک سطر میں جڑ جاتے ہیں۔ |
| algorithm2e | \KwIn، \For{..}{..}، \eIf ... | سپورٹ نہیں: پیغام کے ساتھ چھوڑ دی جاتی ہیں۔ |
ہر جگہ کام کرنے والا سوڈو کوڈ
کسی بھی Scissor LaTeX دستاویز میں سوڈو کوڈ دکھانے کا سب سے قابلِ اعتماد طریقہ algorithm کے اندر ایک verbatim بلاک ہے۔ نمبر اور کیپشن برقرار رہتے ہیں، اور سطریں اپنا انڈینٹ برقرار رکھتی ہیں۔
verbatim مراحل والا ایک الگورتھم
\begin{algorithm}
\caption{Sum of a list}
\label{alg:sum}
\begin{verbatim}
s := 0
for each a in xs:
s := s + a
return s
\end{verbatim}
\end{algorithm}
Algorithm~\ref{alg:sum} adds the numbers of a list.فارمولوں والے سوڈو کوڈ کے لیے lstlisting بھی اسی طرح کام کرتا ہے، یا مراحل کو algorithm ماحول سے باہر عام متن میں، نمبر والی فہرست کے طور پر لکھیں۔
ریاضی کے ساتھ، نمبر والی فہرست کی شکل میں مراحل
\textbf{Input:} numbers $a_1, \dots, a_n$.
\begin{enumerate}
\item Set $s \gets 0$.
\item For $i = 1, \dots, n$: set $s \gets s + a_i$.
\item Return $s$.
\end{enumerate}کانفرنس ترتیبوں میں algorithmic
کانفرنس جیسی ترتیبیں (arXiv، IEEE، NeurIPS، ICML اور دوسری) algorithmic پیکج کی بڑے حروف والی کمانڈز پڑھتی ہیں: for، do، end for اور return جیسے کلیدی الفاظ بولڈ میں چھپتے ہیں، اور ہر کمانڈ نئی سطر شروع کرتی ہے۔ سطروں کے نمبر نہیں بنتے، اور سطریں درمیان میں ہوتی ہیں۔ مسائل کا ٹیب استعمال ہونے والی ترتیب کا نام بتاتا ہے۔
arXiv طرز کی دستاویز میں algorithmic
\documentclass{article}
\usepackage{arxiv}
\usepackage{algorithm,algorithmic}
\begin{document}
\begin{algorithm}
\caption{Sum of a list}
\begin{algorithmic}
\STATE $s \gets 0$
\FOR{$i = 1$ to $n$}
\STATE $s \gets s + a_i$
\ENDFOR
\RETURN $s$
\end{algorithmic}
\end{algorithm}
\end{document}
مسائل کا ٹیب: Layout in the style of the arXiv preprint style (final mode). Not official. To compile elsewhere, add arxiv.sty from github.com/kourgeorge/arxiv-style.
algpseudocode سپورٹ نہیں ہے
algpseudocode، حالیہ مقالوں میں سب سے عام پیکج، \State اور \EndFor جیسی ملے جلے حروف والی کمانڈز استعمال کرتا ہے۔ Scissor LaTeX انہیں نہیں جانتا: ان کے نام چھوڑ دیے جاتے ہیں، فارمولے اور الفاظ باقی رہتے ہیں، اور سب کچھ ایک سطر میں جڑ جاتا ہے۔ مسائل کا ٹیب چھوڑی گئی کمانڈز کی فہرست دیتا ہے۔
algpseudocode: مراحل آپس میں جڑ جاتے ہیں
\begin{algorithm}
\caption{Sum of a list}
\begin{algorithmic}[1]
\State $s \gets 0$
\For{$i = 1$ to $n$}
\State $s \gets s + a_i$
\EndFor
\State \Return $s$
\end{algorithmic}
\end{algorithm}مسائل کا ٹیب: Skipped 4 unknown commands: \State, \For, \EndFor, \Return
اگر دستاویز کو یہاں اور TeX انسٹالیشن دونوں میں چلنا ہے تو مراحل اوپر دکھائے گئے طریقے سے verbatim میں لکھیں؛ یہ ہر جگہ کمپائل ہوتا ہے۔
TeX انسٹالیشن سے کیا فرق ہے
پیکج کا صفحہ algorithm، algorithmic اور algpseudocode ہے۔ دستی کتابچے CTAN پر ہیں: algorithms، algorithmicx اور algorithm2e۔
یہ بھی دیکھیں: الگورتھم پیکجز، کوڈ لسٹنگز اور کانفرنس ترتیبیں۔
سوالات اور جوابات
LaTeX میں الگورتھم کیسے لکھوں؟
\caption کے ساتھ algorithm ماحول استعمال کریں، اور مراحل اس کے اندر رکھیں۔ Scissor LaTeX میں مراحل verbatim بلاک میں سب سے بہتر کام کرتے ہیں، یا کانفرنس ترتیب میں algorithmic کی \STATE کمانڈز کے ساتھ۔
میری \State والی سطریں آپس میں کیوں جڑ جاتی ہیں؟
\State algpseudocode سے آتا ہے، جسے Scissor LaTeX سپورٹ نہیں کرتا۔ کمانڈز کے نام چھوڑ دیے جاتے ہیں، اس لیے مراحل ایک سطر میں مل جاتے ہیں۔ اس کی بجائے مراحل کے لیے verbatim استعمال کریں۔
کیا میں کسی الگورتھم کا حوالہ نمبر سے دے سکتا ہوں؟
جی ہاں۔ \caption کے بعد \label{alg:name} رکھیں اور Algorithm~\ref{alg:name} لکھیں۔
اس صفحے کی ہر مثال سائٹ بنتے وقت Scissor LaTeX ٹائپ سیٹ کرتا ہے۔ آخری بار اپ ڈیٹ: 2026-11-07۔