Pacchetti per algoritmi in Scissor LaTeX
I pacchetti per algoritmi funzionano in parte in Scissor LaTeX: l’ambiente algorithm funziona con una didascalia numerata e \label; i comandi maiuscoli di algorithmic (\STATE, \FOR) vengono letti solo nei layout da conferenza; algpseudocode (\State, \For) e algorithm2e (\KwIn, \For{}{}) non sono supportati, quindi metti invece i passi in un blocco verbatim.
Cosa fanno i pacchetti
Lo pseudocodice in LaTeX richiede di solito due pacchetti. algorithm offre un ambiente numerato con didascalia, "Algorithm 1: ...", che si comporta come oggetto mobile, come una figura. Un secondo pacchetto scrive i passi: algorithmic (comandi maiuscoli, \STATE, \IF, \ENDIF), algpseudocode della raccolta algorithmicx (maiuscole e minuscole, \State, \If, \EndIf), oppure algorithm2e, che porta un proprio ambiente algorithm e comandi come \KwIn e \For{condition}{body}.
Cosa funziona qui
| Pacchetto | Funzione | In Scissor LaTeX |
|---|---|---|
| algorithm | \begin{algorithm}, \caption, \label, \ref | Funziona: "Algorithm N", didascalia sotto, non si sposta. |
| algorithm | Posizionamento [H], [t], [h] | Tralasciato: l’algoritmo resta dove lo scrivi. |
| algorithm | \listofalgorithms | Non supportato: saltato con un messaggio. |
| algorithmic | \STATE, \IF, \FOR, \WHILE, \RETURN ... | In parte: letti nei documenti con un layout da conferenza, senza numeri di riga. Altrove sono sconosciuti. |
| algpseudocode | \State, \If, \For, \Function, \Return ... | Non supportato: i nomi dei comandi vengono saltati e i passi finiscono tutti su una riga. |
| algorithm2e | \KwIn, \KwOut, \For{..}{..}, \eIf, \; | Non supportato: saltati con un messaggio; i passi finiscono tutti insieme. |
All’interno di algorithm, il contenuto è centrato, come in una figura. Un blocco verbatim viene centrato nel suo insieme, con le righe allineate a sinistra e rientrate come digitate, il che lo rende qui il modo più affidabile per mostrare i passi.
Esempi
Passi in verbatim, con un numero e un riferimento:
algorithm con passi in 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.I comandi di algorithm2e vengono saltati, quindi le righe finiscono tutte insieme. La scheda Problemi elenca i comandi che non ha riconosciuto:
algorithm2e non è supportato
\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}Scheda Problemi: Skipped 4 unknown commands: \KwIn, \For, \KwTo, \Return
La pagina Algoritmi e pseudocodice mette a confronto algorithmic in un layout da conferenza e algpseudocode.
Compatibilità
- Da un’installazione TeX a qui: gli algoritmi mantengono numero e didascalia. I passi scritti con algpseudocode o algorithm2e finiscono tutti insieme; riscrivili in
verbatim, oppure con algorithmic in un layout da conferenza. - Da qui a un’installazione TeX:
algorithmcon passi inverbatimsi compila ovunque e ha lo stesso aspetto, salvo che l’algoritmo può spostarsi in cima a una pagina.
I manuali sono su CTAN: algorithms (algorithm e algorithmic), algorithmicx (algpseudocode) e algorithm2e.
Vedi anche Algoritmi, listings e Layout da conferenza.
Domande e risposte
Quale pacchetto per algoritmi conviene usare in Scissor LaTeX?
Usa algorithm per il numero e la didascalia, e scrivi i passi in un blocco verbatim. Funziona in ogni documento qui e in ogni installazione TeX.
Perché le righe del mio algoritmo sono unite in una sola?
I passi usano comandi di algpseudocode o algorithm2e, che Scissor LaTeX non legge. I loro nomi vengono saltati, quindi il testo di tutti i passi finisce su una sola riga.
Ogni esempio di questa pagina viene composto da Scissor LaTeX quando il sito viene generato. Ultimo aggiornamento: 2026-11-07.