algorithm2e の不要な空白行とセミコロン

algorithm2e の不要な空白行とセミコロン

次のコードがあります:

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

次の PDF が生成されます: ここに画像の説明を入力してください マークされた 2 つのセミコロンとマークされた空白行は不要です。コードで何を変更すればよいか教えていただけますか?

答え1

コメントが行を終了しない場合は、 の代わりにfをオプションの引数として使用する必要があります。\tcc*r

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} 

出力:

ここに画像の説明を入力してください

ドキュメントよりalgorithm2e:

\tcc*[r]{右寄せのサイドコメント、行の終わり(デフォルト)}: コメント「ラ」C

その間

\tcc*[f]{右寄せコメント、エンドラインなし; 例えば「if-then-else」マクロで便利です}: コメント「la」C

関連情報