Paquetes de algoritmos en Scissor LaTeX
Los paquetes de algoritmos funcionan en parte en Scissor LaTeX: el entorno algorithm funciona con un pie numerado y \label; los comandos en mayúsculas de algorithmic (\STATE, \FOR) solo se leen en los diseños de congreso; algpseudocode (\State, \For) y algorithm2e (\KwIn, \For{}{}) no son compatibles, así que pon los pasos en un bloque verbatim.
Qué hacen los paquetes
El pseudocódigo en LaTeX suele necesitar dos paquetes. algorithm da un entorno numerado con pie, "Algorithm 1: ...", que flota como una figura. Un segundo paquete escribe los pasos: algorithmic (comandos en mayúsculas, \STATE, \IF, \ENDIF), algpseudocode del conjunto algorithmicx (mayúsculas y minúsculas, \State, \If, \EndIf), o algorithm2e, que trae su propio entorno algorithm y comandos como \KwIn y \For{condition}{body}.
Qué funciona aquí
| Paquete | Función | En Scissor LaTeX |
|---|---|---|
| algorithm | \begin{algorithm}, \caption, \label, \ref | Funciona: "Algorithm N", pie debajo, no flota. |
| algorithm | Colocación [H], [t], [h] | Se omite: el algoritmo se queda donde lo escribes. |
| algorithm | \listofalgorithms | No compatible: se omite con un mensaje. |
| algorithmic | \STATE, \IF, \FOR, \WHILE, \RETURN ... | En parte: se leen en documentos con un diseño de congreso, sin números de línea. En los demás son desconocidos. |
| algpseudocode | \State, \If, \For, \Function, \Return ... | No compatible: los nombres de los comandos se omiten y los pasos se juntan en una sola línea. |
| algorithm2e | \KwIn, \KwOut, \For{..}{..}, \eIf, \; | No compatible: se omiten con un mensaje; los pasos se juntan. |
Dentro de algorithm, el contenido se centra, como en una figura. Un bloque verbatim se centra como un todo, con sus líneas alineadas a la izquierda y sangradas tal como las escribes, lo que lo convierte en la forma más fiable de mostrar pasos aquí.
Ejemplos
Pasos en verbatim, con un número y una referencia:
algorithm con pasos en 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.Los comandos de algorithm2e se omiten, así que las líneas se juntan. La pestaña Problemas enumera los comandos que no conocía:
algorithm2e no es compatible
\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}Pestaña Problemas: Skipped 4 unknown commands: \KwIn, \For, \KwTo, \Return
La página Algoritmos y pseudocódigo muestra algorithmic en un diseño de congreso y algpseudocode uno al lado del otro.
Compatibilidad
- De una instalación de TeX a aquí: los algoritmos conservan su número y su pie. Los pasos escritos con algpseudocode o algorithm2e se juntan; reescríbelos en
verbatim, o con algorithmic en un diseño de congreso. - De aquí a una instalación de TeX:
algorithmcon pasos enverbatimse compila en todas partes y se ve igual, salvo que el algoritmo puede flotar al principio de una página.
Los manuales están en CTAN: algorithms (algorithm y algorithmic), algorithmicx (algpseudocode) y algorithm2e.
Consulta también Algoritmos, listings y Diseños de congreso.
Preguntas y respuestas
¿Qué paquete de algoritmos uso en Scissor LaTeX?
Usa algorithm para el número y el pie, y escribe los pasos en un bloque verbatim. Eso funciona aquí en cualquier documento y en cualquier instalación de TeX.
¿Por qué las líneas de mi algoritmo se juntan en una sola?
Los pasos usan comandos de algpseudocode o algorithm2e, que Scissor LaTeX no lee. Sus nombres se omiten, así que el texto de todos los pasos acaba en una sola línea.
Scissor LaTeX compone cada ejemplo de esta página al generar el sitio. Última actualización: 2026-11-07.