Pacotes de algoritmos no Scissor LaTeX
Os pacotes de algoritmos funcionam em parte no Scissor LaTeX: o ambiente algorithm funciona com legenda numerada e \label; os comandos em maiúsculas do algorithmic (\STATE, \FOR) só são lidos em layouts de conferência; algpseudocode (\State, \For) e algorithm2e (\KwIn, \For{}{}) não são suportados, então coloque os passos em um bloco verbatim no lugar.
O que os pacotes fazem
Pseudocódigo em LaTeX costuma usar dois pacotes. O algorithm oferece um ambiente numerado com legenda, "Algorithm 1: ...", que flutua como uma figura. Um segundo pacote escreve os passos: algorithmic (comandos em maiúsculas, \STATE, \IF, \ENDIF), algpseudocode do conjunto algorithmicx (maiúsculas e minúsculas, \State, \If, \EndIf), ou algorithm2e, que traz seu próprio ambiente algorithm e comandos como \KwIn e \For{condition}{body}.
O que funciona aqui
| Pacote | Recurso | No Scissor LaTeX |
|---|---|---|
| algorithm | \begin{algorithm}, \caption, \label, \ref | Funciona: "Algorithm N", legenda embaixo, não flutua. |
| algorithm | Posicionamento [H], [t], [h] | Ignorado: o algoritmo fica onde você o escreve. |
| algorithm | \listofalgorithms | Não suportado: pulado com uma mensagem. |
| algorithmic | \STATE, \IF, \FOR, \WHILE, \RETURN ... | Em parte: lidos em documentos com layout de conferência, sem números de linha. Fora deles, são desconhecidos. |
| algpseudocode | \State, \If, \For, \Function, \Return ... | Não suportado: os nomes dos comandos são pulados e os passos ficam todos em uma linha. |
| algorithm2e | \KwIn, \KwOut, \For{..}{..}, \eIf, \; | Não suportado: pulados com uma mensagem; os passos ficam todos juntos. |
Dentro de algorithm, o conteúdo é centralizado, como em uma figura. Um bloco verbatim é centralizado como um todo, com as linhas alinhadas à esquerda e recuadas como digitadas, o que o torna a forma mais confiável de mostrar passos aqui.
Exemplos
Passos em verbatim, com número e referência:
algorithm com passos em 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.Os comandos do algorithm2e são pulados, então as linhas ficam todas juntas. A aba Problemas lista os comandos que o editor não conhecia:
algorithm2e não é suportado
\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}Aba Problemas: Skipped 4 unknown commands: \KwIn, \For, \KwTo, \Return
A página Algoritmos e pseudocódigo mostra lado a lado o algorithmic em um layout de conferência e o algpseudocode.
Compatibilidade
- De uma instalação do TeX para cá: os algoritmos mantêm o número e a legenda. Passos escritos com algpseudocode ou algorithm2e ficam todos juntos; reescreva-os em
verbatim, ou com algorithmic em um layout de conferência. - Daqui para uma instalação do TeX:
algorithmcom passos emverbatimcompila em qualquer lugar e fica igual, exceto que o algoritmo pode flutuar para o topo de uma página.
Os manuais estão no CTAN: algorithms (algorithm e algorithmic), algorithmicx (algpseudocode) e algorithm2e.
Veja também Algoritmos, listings e Layouts de conferência.
Perguntas e respostas
Qual pacote de algoritmos devo usar no Scissor LaTeX?
Use algorithm para o número e a legenda, e escreva os passos em um bloco verbatim. Isso funciona em qualquer documento aqui e em qualquer instalação do TeX.
Por que as linhas do meu algoritmo ficam todas juntas em uma?
Os passos usam comandos do algpseudocode ou do algorithm2e, que o Scissor LaTeX não lê. Os nomes são pulados, então o texto de todos os passos acaba em uma única linha.
Cada exemplo desta página é composto pelo Scissor LaTeX quando o site é gerado. Última atualização: 2026-11-07.