Pakiety do algorytmów w Scissor LaTeX
Pakiety do algorytmów działają w Scissor LaTeX częściowo: środowisko algorithm działa z numerowanym podpisem i \label; polecenia algorithmic pisane wielkimi literami (\STATE, \FOR) są odczytywane tylko w układach konferencyjnych; algpseudocode (\State, \For) i algorithm2e (\KwIn, \For{}{}) nie są obsługiwane, więc zamiast tego umieść kroki w bloku verbatim.
Do czego służą pakiety
Pseudokod w LaTeX wymaga zwykle dwóch pakietów. algorithm daje numerowane środowisko z podpisem „Algorithm 1: ...”, które jest obiektem pływającym jak rysunek. Drugi pakiet zapisuje kroki: algorithmic (polecenia wielkimi literami, \STATE, \IF, \ENDIF), algpseudocode z zestawu algorithmicx (wielkość liter mieszana, \State, \If, \EndIf) lub algorithm2e, który ma własne środowisko algorithm i polecenia takie jak \KwIn oraz \For{condition}{body}.
Co tu działa
| Pakiet | Funkcja | W Scissor LaTeX |
|---|---|---|
| algorithm | \begin{algorithm}, \caption, \label, \ref | Działa: „Algorithm N”, podpis pod spodem, bez przemieszczania. |
| algorithm | Umieszczenie [H], [t], [h] | Pomijane: algorytm zostaje tam, gdzie go napiszesz. |
| algorithm | \listofalgorithms | Nieobsługiwane: pomijane z komunikatem. |
| algorithmic | \STATE, \IF, \FOR, \WHILE, \RETURN ... | Częściowo: odczytywane w dokumentach z układem konferencyjnym, bez numerów wierszy. W innych dokumentach są nieznane. |
| algpseudocode | \State, \If, \For, \Function, \Return ... | Nieobsługiwane: nazwy poleceń są pomijane, a kroki zlewają się w jeden wiersz. |
| algorithm2e | \KwIn, \KwOut, \For{..}{..}, \eIf, \; | Nieobsługiwane: pomijane z komunikatem; kroki zlewają się ze sobą. |
Wewnątrz algorithm treść jest wyśrodkowana, jak w rysunku. Blok verbatim jest wyśrodkowany jako całość, a jego wiersze są wyrównane do lewej i wcięte tak, jak je wpisano, dlatego jest to tutaj najpewniejszy sposób pokazania kroków.
Przykłady
Kroki w verbatim, z numerem i odsyłaczem:
algorithm z krokami w 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.Polecenia algorithm2e są pomijane, więc wiersze zlewają się ze sobą. Karta Problemy wymienia polecenia, których nie rozpoznano:
algorithm2e nie jest obsługiwany
\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}Karta Problemy: Skipped 4 unknown commands: \KwIn, \For, \KwTo, \Return
Strona Algorytmy i pseudokod pokazuje obok siebie algorithmic w układzie konferencyjnym i algpseudocode.
Zgodność
- Z instalacji TeX do Scissor LaTeX: algorytmy zachowują numer i podpis. Kroki zapisane za pomocą algpseudocode lub algorithm2e zlewają się ze sobą; przepisz je w
verbatimalbo za pomocą algorithmic w układzie konferencyjnym. - Ze Scissor LaTeX do instalacji TeX:
algorithmz krokami wverbatimkompiluje się wszędzie i wygląda tak samo, z tą różnicą, że algorytm może przesunąć się na górę strony.
Dokumentacje są dostępne w CTAN: algorithms (algorithm i algorithmic), algorithmicx (algpseudocode) oraz algorithm2e.
Zobacz też Algorytmy, listings oraz Układy konferencyjne.
Pytania i odpowiedzi
Którego pakietu do algorytmów używać w Scissor LaTeX?
Użyj algorithm dla numeru i podpisu, a kroki zapisz w bloku verbatim. Działa to w każdym dokumencie tutaj i w każdej instalacji TeX.
Dlaczego wiersze mojego algorytmu łączą się w jeden?
Kroki używają poleceń algpseudocode lub algorithm2e, których Scissor LaTeX nie odczytuje. Ich nazwy są pomijane, więc tekst wszystkich kroków trafia do jednego wiersza.
Każdy przykład na tej stronie jest składany przez Scissor LaTeX podczas budowania witryny. Ostatnia aktualizacja: 2026-11-07.