सामग्री पर जाएँ

एल्गोरिदम और स्यूडोकोड

"Algorithm 1" पाने के लिए स्यूडोकोड को \caption के साथ algorithm एनवायरनमेंट में रखें; इसके अंदर Scissor LaTeX algorithmic की बड़े अक्षर वाली कमांड (\STATE, \FOR) सिर्फ़ कॉन्फ़्रेंस लेआउट में पढ़ता है, इसलिए दूसरे डॉक्यूमेंट में स्टेप एक verbatim ब्लॉक में रखें।

algorithm एनवायरनमेंट

algorithm पैकेज स्यूडोकोड के लिए फ़िगर जैसा एक नंबर वाला एनवायरनमेंट देता है: \caption उसे नंबर ("Algorithm 1") देता है, और कैप्शन के बाद का \label आपको \ref से उसका रेफ़रेंस देने देता है। Scissor LaTeX में एल्गोरिदम वहीं रहता है जहाँ आप उसे लिखते हैं और उसका कैप्शन उसके नीचे सेट होता है।

अंदर क्या जाता है, यह स्टेप के लिए इस्तेमाल किए गए पैकेज पर निर्भर करता है, और सपोर्ट में फ़र्क यहीं है:

पैकेजकमांडScissor LaTeX में
algorithmalgorithm एनवायरनमेंट, \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 स्टेप वाला एक एल्गोरिदम

LaTeXप्रीएम्बल: \usepackage{algorithm}एडिटर में खोलें (नए टैब में खुलता है)
\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.
Scissor LaTeX द्वारा टाइपसेट: verbatim स्टेप वाला एक एल्गोरिदम

फ़ॉर्मूलों वाले स्यूडोकोड के लिए 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}
Scissor LaTeX द्वारा टाइपसेट: मैथ के साथ, नंबर वाली लिस्ट के रूप में स्टेप

कॉन्फ़्रेंस लेआउट में 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}
Scissor LaTeX द्वारा टाइपसेट: arXiv-स्टाइल डॉक्यूमेंट में algorithmic

समस्याएँ टैब: 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: स्टेप आपस में मिल जाते हैं

LaTeXप्रीएम्बल: \usepackage{algorithm,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।