
我有以下演算法程式碼
\begin{algorithm}[t]
\caption{my algo}
\label{my algo}
\begin{algorithmic}[]
\State \textbf{Input:}{ abc}
\State \textbf{Output:}{ xyz}
\State \textbf{Launch:}{I want to indent the body of this algo afterwards }
% I want to indent the following body:
\For{i=0,i<5,i++}
\For {j=0,i<5,j++ }
\State{Kill}
\State{Now}
\State{There}
\If {this}
\State{then this}}
\EndIf
\For {z=0,z<10,z++ }
\State{Action performed on z}
\EndFor
\State{abc processed }
\State{xyz produced}
\EndFor
% \State{processing done}
\EndFor
\end{algorithmic}
\end{algorithm}
在第三個「State」語句之後,我想從 for 迴圈開始縮排演算法主體。我怎樣才能做到這一點?目前,for 迴圈直接在「Launch」語句下啟動。
答案1
我用這個技巧解決了同樣的問題(改為\transparent{0.5}
生產\transparent{0}
)。
\begin{algorithm}[!t]
\caption{}\label{}
\begin{algorithmic}
\STATE whatever
\transparent{0.5}
\vspace{-1\baselineskip}
\IF fake indentation
\transparent{1}
\FOR {this for loop gets now indented}
\STATE whatever
\ENDFOR
\transparent{0.5}
\vspace{-1\baselineskip}
\ENDIF
\transparent{1}
\end{algorithmic}
\end{algorithm}