So rücken Sie die For-Schleife ein

So rücken Sie die For-Schleife ein

Ich habe den folgenden Algo-Code

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

Nach der dritten „State“-Anweisung möchte ich den Hauptteil des Algorithmus einrücken, beginnend bei der For-Schleife. Wie kann ich das machen? Derzeit beginnt die For-Schleife direkt unter der „Launch“-Anweisung.

Antwort1

Ich habe das gleiche Problem mit diesem Trick gelöst (Änderung \transparent{0.5}auf \transparent{0}für Produktion).

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

verwandte Informationen