Teks kustom, bukan nomor baris dengan paket algpseudocode
Alih-alih mencetak 1 :, 2:, .. Saya ingin mencetak Langkah 1 :, Langkah 2:, .. di awal setiap baris. Ini kode saya:
\usepackage{algorithm}
\usepackage{algpseudocode}
\begin{document}
\begin{algorithm}
\caption{My algorithm}
\begin{algorithmic}[1]
\State foo
\State bar
\end{algorithmic}
\end{algorithm}
\end{document}
Saya melihat pertanyaan ini , solusi tidak berhasil untuk saya, acara
Perintah ALC @ lno tidak ditentukan.
Saya rasa ini karena saya menggunakan paket algpseudocode, dan solusinya menggunakan paket algoritmik. Selain itu, saya ingin nomor baris diganti dengan "Langkah 1", "Langkah 2", dan seterusnya; tetapi solusi itu mengganti nomor baris dengan simbol tetap.
Jawaban
Anda dapat menentukan ulang \ALG@stepmakro internal untuk menambahkan teks sebelum mencetak nomor. Definisi di bawah ini disalin dari algoritmicxsumber (yang digunakan oleh algpseudocode) dengan kata Langkah ditambahkan. Karena makro berisi @karakter yang Anda butuhkan untuk meletakkan \makeatletterdan \makeatothermengelilingi definisi.
\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}
Hasil: