¿Cómo mantener los comentarios en su propia línea con algorítmicox?

¿Cómo mantener los comentarios en su propia línea con algorítmicox?

Estoy intentando agregar comentarios en su propia línea. El comportamiento predeterminado de \Comment{}es colocar el comentario en la misma línea que un archivo \State. Mi truco actual es simplemente hacer

\documentclass{article}
\usepackage{amsmath}
\usepackage{caption}
\usepackage{algpseudocode}
\usepackage{algorithm}
\captionsetup\[algorithm\]{labelformat=empty}
\begin{document}
\begin{algorithm}
\caption{Init}
\begin{algorithmic}\[1\]
  \State // Here is a comment the way I want it.
  \State $x \gets y$
  \end{algorithmic}
\end{algorithm}
\end{document}]

Salida deseada:

producción

¿Existe una forma adecuada de hacer esto? ¿Qué tal si ponemos el comentario en cursiva para que sea un poco menos intrusivo?

Respuesta1

Solucioné algunos errores en el código:

  • reemplazó las 2 apariciones de \[...\]con[...]
  • eliminó el último carácter]

Agregué el \textitcomando para que el comentario esté en cursiva.

\documentclass{article}
\usepackage{amsmath}
\usepackage{caption}
\usepackage{algpseudocode}
\usepackage{algorithm}
\captionsetup[algorithm]{labelformat=empty}

\begin{document}
    \begin{algorithm}
        \caption{Init}
        \begin{algorithmic}[1]
            \State // \textit{Here is a comment the way I want it.}
            \State $x \gets y$
        \end{algorithmic}
    \end{algorithm}
\end{document}

ingrese la descripción de la imagen aquí

También puedes definir un comando para tu tipo de comentario ( \CommentLine):

\documentclass{article}
\usepackage{amsmath}
\usepackage{caption}
\usepackage{algpseudocode}
\usepackage{algorithm}
\captionsetup[algorithm]{labelformat=empty}

\newcommand{\CommentLine}[1]{
    \State // \textit{#1}
}

\begin{document}
    \begin{algorithm}
        \caption{Init}
        \begin{algorithmic}[1]
            \CommentLine{Here is a comment the way I want it.}
            \State $x \gets y$
        \end{algorithmic}
    \end{algorithm}
\end{document}

Respuesta2

Redefinir el caminoalgorithmicxfunciona \Commentusando

\algrenewcommand\algorithmiccomment[1]{// {\itshape #1}}

El comportamiento predeterminado es insertar \hfill \(\triangleright\), lo que coloca el comentario al mismo nivel que el margen derecho.

ingrese la descripción de la imagen aquí

\documentclass{article}

\usepackage{algpseudocode,algorithm}

\usepackage{caption}
\captionsetup[algorithm]{labelformat=empty}

\algrenewcommand\algorithmiccomment[1]{// {\itshape #1}}

\begin{document}

\begin{algorithm}
  \caption{Init}
  \begin{algorithmic}[1]
    \State // Here is a comment the way I want it.
    \State $x \gets y$
    \State \Comment{Here is a comment the way I want it.}
    \end{algorithmic}
  \end{algorithm}

\end{document}

información relacionada