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-এর কমান্ড বাদ দেওয়া হয়, তাই লাইনগুলো জুড়ে যায়। সমস্যা ট্যাবে যে কমান্ডগুলো চেনা যায়নি তার তালিকা থাকে:
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।