Este es mi código:
\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}
Las declaraciones finales que ocurren al final de un bucle for no se alinearán correctamente. La declaración final para el bucle más interno está al lado del final del cuerpo del if final, y luego el final del bucle más externo está debajo de este.
¿Estoy haciendo algo mal?
Respuesta1
Hay \\
mensajes adicionales que no son necesarios, además no estoy seguro de la definición de \fluxx{index}
y \fluxy{index}
agregados $$
.
\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}