Saltar al contenido

Algoritmos y pseudocódigo

Envuelve el pseudocódigo en un entorno algorithm con un \caption para obtener "Algorithm 1"; dentro, Scissor LaTeX solo lee los comandos en mayúsculas de algorithmic (\STATE, \FOR) en los diseños de congreso, así que en los demás documentos pon los pasos en un bloque verbatim.

El entorno algorithm

El paquete algorithm ofrece un entorno numerado para pseudocódigo, como una figura: un \caption le da un número ("Algorithm 1"), y un \label después del pie te permite hacer referencia a él con \ref. En Scissor LaTeX el algoritmo se queda donde lo escribes y su pie se coloca debajo.

Lo que va dentro depende del paquete que uses para los pasos, y ahí es donde cambia la compatibilidad:

PaqueteComandosEn Scissor LaTeX
algorithmentorno algorithm, \caption, \labelFunciona: numerado "Algorithm N", pie debajo.
algorithmic\STATE, \IF, \FOR, \WHILE, \RETURN... (en mayúsculas)En parte: solo se leen en documentos con diseño de congreso; en los demás son comandos desconocidos.
algpseudocode (algorithmicx)\State, \If, \For, \EndFor, \Return...No se admite: se omiten con un mensaje y los pasos quedan juntos en una sola línea.
algorithm2e\KwIn, \For{..}{..}, \eIf...No se admite: se omiten con un mensaje.

Pseudocódigo que funciona en todas partes

La forma más fiable de mostrar pseudocódigo en cualquier documento de Scissor LaTeX es un bloque verbatim dentro de algorithm. Conservas el número y el pie, y las líneas mantienen su sangría.

Un algoritmo con los pasos en verbatim

LaTeXPreámbulo: \usepackage{algorithm}Abrir en el editor (se abre en una pestaña nueva)
\begin{algorithm}
\caption{Sum of a list}
\label{alg:sum}
\begin{verbatim}
s := 0
for each a in xs:
    s := s + a
return s
\end{verbatim}
\end{algorithm}
Algorithm~\ref{alg:sum} adds the numbers of a list.
Compuesto por Scissor LaTeX: Un algoritmo con los pasos en verbatim

Para pseudocódigo con fórmulas, un lstlisting funciona igual, o puedes escribir los pasos como texto normal fuera del entorno algorithm, en forma de lista numerada.

Los pasos como lista numerada, con matemáticas

\textbf{Input:} numbers $a_1, \dots, a_n$.
\begin{enumerate}
  \item Set $s \gets 0$.
  \item For $i = 1, \dots, n$: set $s \gets s + a_i$.
  \item Return $s$.
\end{enumerate}
Compuesto por Scissor LaTeX: Los pasos como lista numerada, con matemáticas

algorithmic en los diseños de congreso

Los diseños parecidos a los de congresos (arXiv, IEEE, NeurIPS, ICML y los demás) leen los comandos en mayúsculas del paquete algorithmic: palabras clave como for, do, end for y return se componen en negrita, y cada comando empieza una línea nueva. No se dibujan números de línea, y las líneas se centran. La pestaña Problemas indica el diseño que se usa.

algorithmic en un documento de estilo arXiv

\documentclass{article}
\usepackage{arxiv}
\usepackage{algorithm,algorithmic}
\begin{document}
\begin{algorithm}
\caption{Sum of a list}
\begin{algorithmic}
\STATE $s \gets 0$
\FOR{$i = 1$ to $n$}
  \STATE $s \gets s + a_i$
\ENDFOR
\RETURN $s$
\end{algorithmic}
\end{algorithm}
\end{document}
Compuesto por Scissor LaTeX: algorithmic en un documento de estilo arXiv

Pestaña Problemas: Layout in the style of the arXiv preprint style (final mode). Not official. To compile elsewhere, add arxiv.sty from github.com/kourgeorge/arxiv-style.

algpseudocode no se admite

algpseudocode, el paquete más habitual en los artículos recientes, usa comandos con mayúsculas y minúsculas como \State y \EndFor. Scissor LaTeX no los conoce: sus nombres se omiten, las fórmulas y las palabras se conservan, y todo queda junto en una sola línea. La pestaña Problemas enumera los comandos omitidos.

algpseudocode: los pasos quedan juntos

LaTeXPreámbulo: \usepackage{algorithm,algpseudocode}Abrir en el editor (se abre en una pestaña nueva)
\begin{algorithm}
\caption{Sum of a list}
\begin{algorithmic}[1]
\State $s \gets 0$
\For{$i = 1$ to $n$}
  \State $s \gets s + a_i$
\EndFor
\State \Return $s$
\end{algorithmic}
\end{algorithm}

Pestaña Problemas: Skipped 4 unknown commands: \State, \For, \EndFor, \Return

Si necesitas que el documento funcione tanto aquí como en una instalación de TeX, escribe los pasos en verbatim como se muestra arriba; se compila en todas partes.

Qué cambia respecto a una instalación de TeX

La página del paquete es algorithm, algorithmic y algpseudocode. Los manuales están en CTAN: algorithms, algorithmicx y algorithm2e.

Consulta también paquetes de algoritmos, Listados de código y Diseños de congreso.

Preguntas y respuestas

¿Cómo escribo un algoritmo en LaTeX?

Usa el entorno algorithm con un \caption y pon los pasos dentro. En Scissor LaTeX los pasos funcionan mejor en un bloque verbatim, o con los comandos \STATE de algorithmic en un diseño de congreso.

¿Por qué mis líneas \State quedan juntas?

\State viene de algpseudocode, que Scissor LaTeX no admite. Los nombres de los comandos se omiten, así que los pasos se unen en una sola línea. Usa verbatim para los pasos.

¿Puedo hacer referencia a un algoritmo por su número?

Sí. Pon \label{alg:nombre} después del \caption y escribe Algorithm~\ref{alg:nombre}.

Scissor LaTeX compone cada ejemplo de esta página al generar el sitio. Última actualización: 2026-11-07.