缩进
虽然说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}