Αλγόριθμοι και ψευδοκώδικας
Βάλτε τον ψευδοκώδικα σε ένα περιβάλλον algorithm με \caption για να πάρετε «Algorithm 1»· μέσα σε αυτό, το Scissor LaTeX διαβάζει τις κεφαλαίες εντολές του algorithmic (\STATE, \FOR) μόνο σε διατάξεις συνεδρίων, οπότε στα άλλα έγγραφα βάλτε τα βήματα σε ένα μπλοκ verbatim.
Το περιβάλλον algorithm
Το πακέτο algorithm παρέχει ένα αριθμημένο περιβάλλον για ψευδοκώδικα, όπως ένα σχήμα: ένα \caption του δίνει αριθμό («Algorithm 1») και ένα \label μετά τη λεζάντα σας επιτρέπει να αναφερθείτε σε αυτό με \ref. Στο Scissor LaTeX ο αλγόριθμος μένει εκεί όπου τον γράφετε και η λεζάντα του μπαίνει από κάτω.
Το τι μπαίνει μέσα εξαρτάται από το πακέτο που χρησιμοποιείτε για τα βήματα, και εκεί διαφέρει η υποστήριξη:
| Πακέτο | Εντολές | Στο Scissor LaTeX |
|---|---|---|
| algorithm | περιβάλλον algorithm, \caption, \label | Λειτουργεί: αριθμημένο «Algorithm N», λεζάντα από κάτω. |
| algorithmic | \STATE, \IF, \FOR, \WHILE, \RETURN ... (κεφαλαία) | Εν μέρει: διαβάζονται μόνο σε έγγραφα με διάταξη συνεδρίου· αλλού είναι άγνωστες εντολές. |
| algpseudocode (algorithmicx) | \State, \If, \For, \EndFor, \Return ... | Δεν υποστηρίζεται: παραλείπεται με μήνυμα και τα βήματα ενώνονται σε μία γραμμή. |
| algorithm2e | \KwIn, \For{..}{..}, \eIf ... | Δεν υποστηρίζεται: παραλείπεται με μήνυμα. |
Ψευδοκώδικας που λειτουργεί παντού
Ο πιο αξιόπιστος τρόπος να δείξετε ψευδοκώδικα σε οποιοδήποτε έγγραφο του Scissor LaTeX είναι ένα μπλοκ verbatim μέσα σε algorithm. Κρατάτε τον αριθμό και τη λεζάντα, και οι γραμμές κρατούν τις εσοχές τους.
Ένας αλγόριθμος με βήματα σε verbatim
\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.Για ψευδοκώδικα με τύπους, ένα 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}Το algorithmic στις διατάξεις συνεδρίων
Οι διατάξεις που μιμούνται τα συνέδρια (arXiv, IEEE, NeurIPS, ICML και οι υπόλοιπες) διαβάζουν τις κεφαλαίες εντολές του πακέτου algorithmic: λέξεις-κλειδιά όπως for, do, end for και return στοιχειοθετούνται με έντονα, και κάθε εντολή ξεκινά νέα γραμμή. Δεν σχεδιάζονται αριθμοί γραμμών και οι γραμμές είναι κεντραρισμένες. Η καρτέλα Προβλήματα αναφέρει ποια διάταξη χρησιμοποιείται.
Το algorithmic σε έγγραφο σε στυλ arXiv
\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}
Καρτέλα Προβλήματα: 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: τα βήματα ενώνονται
\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;
Χρησιμοποιήστε το περιβάλλον algorithm με ένα \caption και βάλτε τα βήματα μέσα. Στο Scissor LaTeX τα βήματα λειτουργούν καλύτερα σε ένα μπλοκ verbatim ή με τις εντολές \STATE του algorithmic σε μια διάταξη συνεδρίου.
Γιατί οι γραμμές \State μου ενώνονται;
Το \State προέρχεται από το algpseudocode, το οποίο το Scissor LaTeX δεν υποστηρίζει. Τα ονόματα των εντολών παραλείπονται, οπότε τα βήματα ενώνονται σε μία γραμμή. Χρησιμοποιήστε αντί γι’ αυτό verbatim για τα βήματα.
Μπορώ να αναφερθώ σε έναν αλγόριθμο με τον αριθμό του;
Ναι. Βάλτε \label{alg:name} μετά το \caption και γράψτε Algorithm~\ref{alg:name}.
Κάθε παράδειγμα σε αυτή τη σελίδα στοιχειοθετείται από το Scissor LaTeX κατά τη δημιουργία του ιστότοπου. Τελευταία ενημέρωση: 2026-11-07.