虽然说latex写算法伪代码的时候建议使用自带的缩进,不提倡手动控制缩进;但是就像C语言的goto也不提倡,然而改用的时候还是得用一样,总有些情况需要自己调格式。
比如我们这次有个算法初始化比较复杂,挤在一行可读性非常差,所以换行缩进对齐是很好的解决办法。
我们可以自定义一个新命令来优雅的解决这个需求:
\newcommand{\INDSTATE}[1][1]{\STATE\hspace{#1\algorithmicindent}}
然后就可以直接在原本写 \STATE
的地方换用 \INDSTATE
带缩进:
\begin{algorithm}[H] \caption{pseudo-code} \label{algo:pseudo-code} \begin{algorithmic}[1] \INDSTATE do something % \STATE\hspace{\algorithmicindent} do something \INDSTATE[2] do something % Indent by twice the amount \FOR { $i=0$ to $n$ } \STATE do something \ENDFOR \end{algorithmic} \end{algorithm}