Pular para o conteúdo

Algoritmos e pseudocódigo

Coloque o pseudocódigo em um ambiente algorithm com um \caption para ter "Algorithm 1"; dentro dele, o Scissor LaTeX lê os comandos em maiúsculas do algorithmic (\STATE, \FOR) só nos layouts de conferência, então nos outros documentos ponha os passos em um bloco verbatim.

O ambiente algorithm

O pacote algorithm oferece um ambiente numerado para pseudocódigo, como uma figura: um \caption dá a ele um número ("Algorithm 1"), e um \label depois da legenda permite fazer referência a ele com \ref. No Scissor LaTeX o algoritmo fica onde você o escreve, e a legenda é colocada abaixo dele.

O que vai dentro depende do pacote que você usa para os passos, e é aí que o suporte varia:

PacoteComandosNo Scissor LaTeX
algorithmambiente algorithm, \caption, \labelFunciona: "Algorithm N" numerado, legenda abaixo.
algorithmic\STATE, \IF, \FOR, \WHILE, \RETURN ... (maiúsculas)Em parte: lidos só em documentos com layout de conferência; nos outros são comandos desconhecidos.
algpseudocode (algorithmicx)\State, \If, \For, \EndFor, \Return ...Não suportado: ignorado com uma mensagem, e os passos ficam todos em uma linha.
algorithm2e\KwIn, \For{..}{..}, \eIf ...Não suportado: ignorado com uma mensagem.

Pseudocódigo que funciona em qualquer lugar

A forma mais confiável de mostrar pseudocódigo em qualquer documento do Scissor LaTeX é um bloco verbatim dentro de algorithm. Você mantém o número e a legenda, e as linhas mantêm o recuo.

Um algoritmo com passos em verbatim

LaTeXPreâmbulo: \usepackage{algorithm}Abrir no editor (abre em uma nova aba)
\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.
Renderizado pelo Scissor LaTeX: Um algoritmo com passos em verbatim

Para pseudocódigo com fórmulas, um lstlisting funciona do mesmo jeito; ou escreva os passos como texto comum fora do ambiente algorithm, em uma lista numerada.

Passos como lista numerada, com matemática

\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}
Renderizado pelo Scissor LaTeX: Passos como lista numerada, com matemática

algorithmic nos layouts de conferência

Os layouts que imitam conferências (arXiv, IEEE, NeurIPS, ICML e os outros) leem os comandos em maiúsculas do pacote algorithmic: palavras-chave como for, do, end for e return saem em negrito, e cada comando começa uma linha nova. Os números de linha não são desenhados, e as linhas ficam centralizadas. A aba Problemas mostra o nome do layout em uso.

algorithmic em um documento no 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}
Renderizado pelo Scissor LaTeX: algorithmic em um documento no estilo arXiv

Aba 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 não é suportado

O algpseudocode, o pacote mais comum em artigos recentes, usa comandos com maiúsculas e minúsculas, como \State e \EndFor. O Scissor LaTeX não os conhece: os nomes deles são ignorados, as fórmulas e palavras são mantidas, e tudo fica junto em uma linha. A aba Problemas lista os comandos ignorados.

algpseudocode: os passos ficam juntos

LaTeXPreâmbulo: \usepackage{algorithm,algpseudocode}Abrir no editor (abre em uma nova aba)
\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}

Aba Problemas: Skipped 4 unknown commands: \State, \For, \EndFor, \Return

Se o documento precisa funcionar tanto aqui quanto em uma instalação do TeX, escreva os passos em verbatim, como mostrado acima; isso compila em qualquer lugar.

O que muda em relação a uma instalação do TeX

A página do pacote é algorithm, algorithmic e algpseudocode. Os manuais estão no CTAN: algorithms, algorithmicx e algorithm2e.

Veja também pacotes de algoritmos, Listagens de código e Layouts de conferência.

Perguntas e respostas

Como eu escrevo um algoritmo em LaTeX?

Use o ambiente algorithm com um \caption e coloque os passos dentro dele. No Scissor LaTeX os passos funcionam melhor em um bloco verbatim, ou com os comandos \STATE do algorithmic em um layout de conferência.

Por que minhas linhas com \State ficam juntas?

\State vem do algpseudocode, que o Scissor LaTeX não suporta. Os nomes dos comandos são ignorados, então os passos se juntam em uma linha. Use verbatim para os passos.

Posso fazer referência a um algoritmo pelo número?

Sim. Coloque \label{alg:name} depois do \caption e escreva Algorithm~\ref{alg:name}.

Cada exemplo desta página é composto pelo Scissor LaTeX quando o site é gerado. Última atualização: 2026-11-07.