
Ich habe folgenden Code:
\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}
wodurch dieses PDF entsteht:
Wobei die beiden markierten Semikolons und die markierten Leerzeilen unerwünscht sind. Könnt ihr mir bitte helfen, was ich im Code ändern muss?
Antwort1
Sie müssen „ for“ anstelle von f
als optionales Argument verwenden , wenn der Kommentar die Zeile nicht beendet.\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}
Ausgabe:
Aus der algorithm2e
Dokumentation:
\tcc*[r]
{rechtsbündiger Seitenkommentar,beendet die Zeile(Standard)}: Kommentar „ la“ C
während
\tcc*[f]
{rechtsbündiger Kommentar,ohne Schlusslinie; nützlich zum Beispiel bei „if-then-else“-Makros}: Kommentar „ la“ C