
次のコードがあります:
\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