
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:
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 f
como argumento opcional en \tcc*
lugar de r
cuando 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:
De la algorithm2e
documentació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