algorithmicx,使用自定义编号左对齐

algorithmicx,使用自定义编号左对齐

我尝试使用带有步骤 1. 步骤 2. 的算法包,而不是 1、2、... 行号,并且我有无数行。示例:

\documentclass[11 pt]{report}
\usepackage{algorithm}
\usepackage{algpseudocode}
\begin{document}
\begin{algorithm}
\caption{My Algorithm}
\algrenewcommand{\alglinenumber}[1]{\bf Step{#1}.}
\begin{algorithmic}[1]
\State aaa
\Statex bbb
\State ccc
\end{algorithmic}
\end{algorithm}
\end{document}

但是,aaa bbb 和 ccc 没有正确左对齐。我该如何修复?

编辑:我已经编辑了代码以使其可编译(MWE)

答案1

您还应该重新定义\Statex以考虑宽度:

\documentclass[11pt]{report}
\usepackage{algorithm}
\usepackage{algpseudocode}

\begin{document}
\begin{algorithm}
\caption{My Algorithm}
\algrenewcommand{\alglinenumber}[1]{\bfseries Step {#1}.}
\renewcommand{\Statex}{\item[\hphantom{\bfseries Step \arabic{ALG@line}.}]}
\begin{algorithmic}[1]
\State aaa
\Statex bbb
\State ccc
\end{algorithmic}
\end{algorithm}
\end{document}

这会将该项目与前一个项目对齐。

在此处输入图片描述

请注意,必须写入size选项11pt而不是11 pt;而且\bf是一个过时的命令,\bfseries应该用它代替。

相关内容