Scissor LaTeX में एल्गोरिदम पैकेज
Scissor LaTeX में एल्गोरिदम पैकेज आंशिक रूप से काम करते हैं: algorithm एनवायरनमेंट नंबर वाले कैप्शन और \label के साथ काम करता है; algorithmic के बड़े अक्षर वाले कमांड (\STATE, \FOR) सिर्फ़ कॉन्फ़्रेंस लेआउट में पढ़े जाते हैं; algpseudocode (\State, \For) और algorithm2e (\KwIn, \For{}{}) सपोर्टेड नहीं हैं, इसलिए इसकी जगह स्टेप को verbatim ब्लॉक में रखें।
पैकेज क्या करते हैं
LaTeX में स्यूडोकोड के लिए आम तौर पर दो पैकेज लगते हैं। algorithm कैप्शन वाला एक नंबर वाला एनवायरनमेंट देता है, "Algorithm 1: ...", जो फ़िगर की तरह फ़्लोट करता है। दूसरा पैकेज स्टेप लिखता है: algorithmic (बड़े अक्षर वाले कमांड, \STATE, \IF, \ENDIF), algorithmicx बंडल का algpseudocode (मिले-जुले अक्षर, \State, \If, \EndIf), या algorithm2e, जो अपना algorithm एनवायरनमेंट और \KwIn व \For{condition}{body} जैसे कमांड लाता है।
यहाँ क्या काम करता है
| पैकेज | फ़ीचर | Scissor LaTeX में |
|---|---|---|
| algorithm | \begin{algorithm}, \caption, \label, \ref | काम करता है: "Algorithm N", कैप्शन नीचे, फ़्लोट नहीं करता। |
| algorithm | [H], [t], [h] प्लेसमेंट | छोड़ दिया जाता है: एल्गोरिदम वहीं रहता है जहाँ आप उसे लिखते हैं। |
| algorithm | \listofalgorithms | सपोर्टेड नहीं: संदेश के साथ छोड़ दिया जाता है। |
| algorithmic | \STATE, \IF, \FOR, \WHILE, \RETURN ... | आंशिक: कॉन्फ़्रेंस लेआउट वाले डॉक्यूमेंट में पढ़े जाते हैं, बिना लाइन नंबर के। बाकी जगह ये पहचाने नहीं जाते। |
| algpseudocode | \State, \If, \For, \Function, \Return ... | सपोर्टेड नहीं: कमांड के नाम छोड़ दिए जाते हैं और स्टेप एक ही लाइन में जुड़ जाते हैं। |
| algorithm2e | \KwIn, \KwOut, \For{..}{..}, \eIf, \; | सपोर्टेड नहीं: संदेश के साथ छोड़ दिए जाते हैं; स्टेप आपस में जुड़ जाते हैं। |
algorithm के अंदर कंटेंट फ़िगर की तरह बीच में रखा जाता है। verbatim ब्लॉक पूरा का पूरा बीच में रखा जाता है, उसकी लाइनें बाईं ओर एलाइन और वैसे ही इंडेंट रहती हैं जैसे टाइप कीं, इसलिए यहाँ स्टेप दिखाने का यह सबसे भरोसेमंद तरीका है।
उदाहरण
verbatim में स्टेप, नंबर और रेफ़रेंस के साथ:
verbatim स्टेप वाला algorithm
\begin{algorithm}
\caption{Find the largest value}
\label{alg:max}
\begin{verbatim}
best := xs[1]
for i := 2 to n:
if xs[i] > best:
best := xs[i]
return best
\end{verbatim}
\end{algorithm}
Algorithm~\ref{alg:max} looks at each value once.algorithm2e के कमांड छोड़ दिए जाते हैं, इसलिए लाइनें आपस में जुड़ जाती हैं। Problems टैब उन कमांड की लिस्ट दिखाता है जिन्हें वह नहीं पहचानता:
algorithm2e सपोर्टेड नहीं है
\begin{algorithm}
\caption{Sum of a list}
\KwIn{numbers $a_1, \dots, a_n$}
$s \gets 0$\;
\For{$i \gets 1$ \KwTo $n$}{$s \gets s + a_i$\;}
\Return{$s$}\;
\end{algorithm}समस्याएँ टैब: Skipped 4 unknown commands: \KwIn, \For, \KwTo, \Return
एल्गोरिदम और स्यूडोकोड पेज कॉन्फ़्रेंस लेआउट में algorithmic और algpseudocode को साथ-साथ दिखाता है।
कम्पैटिबिलिटी
- TeX इंस्टॉलेशन से यहाँ: एल्गोरिदम अपना नंबर और कैप्शन रखते हैं। algpseudocode या algorithm2e से लिखे स्टेप आपस में जुड़ जाते हैं; उन्हें
verbatimमें, या कॉन्फ़्रेंस लेआउट में algorithmic के साथ दोबारा लिखें। - यहाँ से TeX इंस्टॉलेशन पर:
verbatimस्टेप वालाalgorithmहर जगह कम्पाइल होता है और एक जैसा दिखता है, सिवाय इसके कि एल्गोरिदम पेज के ऊपर फ़्लोट हो सकता है।
मैनुअल CTAN पर हैं: algorithms (algorithm और algorithmic), algorithmicx (algpseudocode) और algorithm2e।
यह भी देखें: एल्गोरिदम, listings और कॉन्फ़्रेंस लेआउट।
सवाल और जवाब
Scissor LaTeX में कौन-सा एल्गोरिदम पैकेज इस्तेमाल करूँ?
नंबर और कैप्शन के लिए algorithm इस्तेमाल करें, और स्टेप verbatim ब्लॉक में लिखें। यह यहाँ हर डॉक्यूमेंट में और हर TeX इंस्टॉलेशन में काम करता है।
मेरे एल्गोरिदम की लाइनें एक में क्यों जुड़ गईं?
स्टेप algpseudocode या algorithm2e के कमांड इस्तेमाल करते हैं, जिन्हें Scissor LaTeX नहीं पढ़ता। उनके नाम छोड़ दिए जाते हैं, इसलिए सभी स्टेप का टेक्स्ट एक ही लाइन में आ जाता है।
इस पेज का हर उदाहरण साइट बनते समय Scissor LaTeX टाइपसेट करता है। पिछला अपडेट: 2026-11-07।