
En lugar de imprimir 1:, 2:,.. quiero imprimir el Paso 1:, Paso 2:,.. al principio de cada línea. Aquí está mi código:
\usepackage{algorithm}
\usepackage{algpseudocode}
\begin{document}
\begin{algorithm}
\caption{My algorithm}
\begin{algorithmic}[1]
\State foo
\State bar
\end{algorithmic}
\end{algorithm}
\end{document}
Miréestepregunta, la solución no funcionó para mí, muestra
Comando ALC@lno indefinido.
Creo que esto se debe a que estoy usando el paquete algpseudocode y la solución es usar un paquete algorítmico. Además, quiero que los números de línea se reemplacen con "Paso 1", "Paso 2", etc.; pero esa solución es reemplazar los números de línea con un símbolo fijo.
Respuesta1
Puede redefinir la \ALG@step
macro interna para agregar un texto antes de imprimir el número. La siguiente definición está copiada de la algoritmicx
fuente (que es utilizada por algpseudocode
) con la palabraPasoagregado. Porque la macro contiene el @
carácter que necesitas poner \makeatletter
y \makeatother
alrededor de la definición.
\documentclass{article}
\usepackage{algorithm}
\usepackage{algpseudocode}
\makeatletter
\def\ALG@step%
{%
\addtocounter{ALG@line}{1}%
\addtocounter{ALG@rem}{1}%
\ifthenelse{\equal{\arabic{ALG@rem}}{\ALG@numberfreq}}%
{\setcounter{ALG@rem}{0}\alglinenumber{Step \arabic{ALG@line}}}%
{}%
}%
\makeatother
\begin{document}
\begin{algorithm}
\caption{My algorithm}
\begin{algorithmic}[1]
\State foo
\State bar
\end{algorithmic}
\end{algorithm}
\end{document}
Resultado: