Como recuar o loop for

Como recuar o loop for

Eu tenho o seguinte código algorítmico

\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} 

Após a terceira instrução "State", quero recuar o corpo do algoritmo, começando pelo loop for. Como eu posso fazer isso? Atualmente, o loop for inicia diretamente na instrução "Launch".

Responder1

Resolvi o mesmo problema com este truque (mudar \transparent{0.5}para \transparent{0}produção).

\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}

informação relacionada