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