דילוג לתוכן

חבילות אלגוריתמים ב-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

LaTeXמבוא: \usepackage{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.
סודר על ידי Scissor LaTeX: algorithm עם צעדים ב-verbatim

פקודות של algorithm2e מדולגות, ולכן השורות מתחברות זו לזו. לשונית הבעיות מפרטת את הפקודות שלא הוכרו:

algorithm2e לא נתמכת

LaTeXמבוא: \usepackage{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}
סודר על ידי Scissor LaTeX: algorithm2e לא נתמכת

לשונית הבעיות: 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.