algorithm2e - kann die Enden in der For-Schleife nicht ausrichten

algorithm2e - kann die Enden in der For-Schleife nicht ausrichten

Dies ist mein Code:

\begin{algorithm}[H]
\SetAlgoLined
\KwResult{Computes Flux in x and y direction}
\KwIn{arrays flux\_x and flux\_y of length $x \times y$}
\SetKwArray{fluxx}{flux_x}
\SetKwArray{fluxy}{flux_y}
\SetKwArray{q}{q}
\For{$i \gets 0$ \textbf{to} $x$} {
    \For{$j \gets 0$ \textbf{to} $y$} {
        $index \gets getIndex(i,j)$
        \\If{ $j \neq 0$}{
            \fluxx{index} = $$\frac{1}{2} \times (\q{index} + \q{index-1}) - ((\frac{\alpha}{2}) \times (\q{index} - \q{index-1}))$$
        }
        \\If{ $i \neq 0$}{
            \fluxy{index} = $$\frac{1}{2} \times (\q{index} + \q{index-x}) - ((\frac{\alpha}{2}) \times (\q{index} - \q{index-x}))$$
        }  
    }
}
\end{algorithm}

Die Endanweisungen am Ende einer For-Schleife werden nicht richtig angeordnet. Die Endanweisung für die innerste Schleife steht neben dem Ende des letzten if-Hauptteils, und darunter steht die Endanweisung für die äußerste Schleife.

Mache ich etwas falsch?

Antwort1

Es sind \\keine zusätzlichen „s“ erforderlich und außerdem bin ich mir über die Bedeutung von \fluxx{index}„und“ nicht sicher, das \fluxy{index}hinzugefügt wurde $$.

\begin{algorithm}
\SetAlgoLined
\KwResult{Computes Flux in x and y direction}
\KwIn{arrays $flux\_x$ and $flux\_y$ of length $x \times y$}
\SetKwArray{fluxx}{$flux_x$}
\SetKwArray{fluxy}{$flux_y$}
\SetKwArray{q}{q}
\For{$i \gets 0$  \KwTo $x$} {%
    \For{$j \gets 0$  \KwTo $y$} {%
        $index \gets getIndex(i,j)$\\
        \If{$j \neq 0$}{%
            $\fluxx{index}= \frac{1}{2} \times (\q{index} + \q{index-1}) - ((\frac{\alpha}{2}) \times (\q{index} - \q{index-1}))$
        }
        \If{$i \neq 0$}{%
            $\fluxy{index} = \frac{1}{2} \times (\q{index} + \q{index-x}) - ((\frac{\alpha}{2}) \times (\q{index} - \q{index-x}))$
        } 
    }
}
\end{algorithm}

Bildbeschreibung hier eingeben

verwandte Informationen