حزم الخوارزميات في Scissor LaTeX
تعمل حزم الخوارزميات جزئيًا في Scissor LaTeX: تعمل البيئة algorithm مع تسمية مرقّمة و\label؛ ولا تُقرأ أوامر algorithmic بالأحرف الكبيرة (\STATE و\FOR) إلا في تخطيطات المؤتمرات؛ أما algpseudocode (\State و\For) وalgorithm2e (\KwIn و\For{}{}) فغير مدعومتين، لذا ضع الخطوات في كتلة verbatim بدلًا من ذلك.
ماذا تفعل الحزم
تحتاج شبه الشيفرة في LaTeX عادةً إلى حزمتين. تعطي algorithm بيئة مرقّمة ذات تسمية، "Algorithm 1: ..."، تعوم مثل الشكل. وتكتب حزمة ثانية الخطوات: algorithmic (أوامر بالأحرف الكبيرة، \STATE و\IF و\ENDIF)، أو algpseudocode من مجموعة algorithmicx (أحرف مختلطة، \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، مع رقم وإحالة:
algorithm بخطوات في verbatim
\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: تُترجَم
algorithmبخطوات فيverbatimفي كل مكان وتبدو بالشكل نفسه، إلا أن الخوارزمية قد تعوم إلى أعلى الصفحة.
الأدلة موجودة على CTAN: algorithms (algorithm وalgorithmic) وalgorithmicx (algpseudocode) وalgorithm2e.
انظر أيضًا الخوارزميات وlistings وتخطيطات المؤتمرات.
أسئلة وأجوبة
أي حزمة خوارزميات أستخدم في Scissor LaTeX؟
استخدم algorithm للرقم والتسمية، واكتب الخطوات في كتلة verbatim. هذا يعمل في كل مستند هنا وفي كل تثبيت TeX.
لماذا اتصلت أسطر خوارزميتي في سطر واحد؟
تستخدم الخطوات أوامر algpseudocode أو algorithm2e، التي لا يقرؤها Scissor LaTeX. تُتخطّى أسماؤها، فينتهي نص كل الخطوات في سطر واحد.
كل مثال في هذه الصفحة ينضّده Scissor LaTeX عند بناء الموقع. آخر تحديث: 2026-11-07.