Líneas en blanco y punto y coma no deseados en el algoritmo2e

Líneas en blanco y punto y coma no deseados en el algoritmo2e

Tengo el siguiente código:

\documentclass{article}
\usepackage[linesnumbered,ruled,vlined]{algorithm2e}

\begin{document}

\begin{algorithm}[H]
\SetAlgoLined
    x $\longleftarrow$ 0\tcc*[r]{initialize x}
    \uIf(\tcc*[r]{if comment}){condition 1}{
        x $\longleftarrow$ 1\tcc*[r]{set x as 1}
        }
    \uElseIf(\tcc*[r]{else comment}){condition 2}{
        x $\longleftarrow$ 2\;
        }
    \Else{
        x $\longleftarrow$ 3\tcc*[r]{set x as 3}
    }
\caption{First algorithm}
\end{algorithm}

\end{document}

que produce este pdf: ingrese la descripción de la imagen aquí Donde los dos puntos y comas marcados y las líneas en blanco marcadas no son deseados. ¿Puedes ayudarme qué cambiar en el código, por favor?

Respuesta1

Tienes que usarlo fcomo argumento opcional en \tcc*lugar de rcuando el comentario no termina la línea.

MWE:

\documentclass{article}
\usepackage[linesnumbered,ruled,vlined]{algorithm2e}

\begin{document}

\begin{algorithm}[H]
\SetAlgoLined
    x $\longleftarrow$ 0\tcc*[r]{initialize x}
    \uIf(\tcc*[f]{if comment}){condition 1}{
        x $\longleftarrow$ 1\tcc*[r]{set x as 1}
        }
    \uElseIf(\tcc*[f]{else comment}){condition 2}{
        x $\longleftarrow$ 2\;
        }
    \Else{
        x $\longleftarrow$ 3\tcc*[r]{set x as 3}
    }
\caption{First algorithm}
\end{algorithm}

\end{document} 

Producción:

ingrese la descripción de la imagen aquí

De la algorithm2edocumentación:

\tcc*[r]{comentario del lado derecho justificado,termina la línea(predeterminado)}: comentario “la” C

mientras

\tcc*[f]{comentario justificado a la derecha,sin linea final; útil con macros "if-then-else", por ejemplo}: comentario "la" C

información relacionada