Μετάβαση στο περιεχόμενο

Πακέτα αλγορίθμων στο 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.