Algorithicx를 사용하여 자신의 줄에 주석을 유지하는 방법은 무엇입니까?

Algorithicx를 사용하여 자신의 줄에 주석을 유지하는 방법은 무엇입니까?

나는 자신의 줄에 주석을 추가하려고합니다. 의 기본 동작은 \Comment{}주석을 와 같은 줄에 배치하는 것입니다 \State. 내 현재 해킹은 그냥하는 것입니다

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

원하는 출력:

산출

이를 수행하는 적절한 방법이 있습니까? 방해가 되지 않도록 주석을 이탤릭체로 만드는 것은 어떻습니까?

답변1

코드의 일부 오류를 수정했습니다.

  • 2번의 항목을 \[...\]다음 으로 대체했습니다.[...]
  • 마지막 문자를 삭제했습니다]

\textit주석을 이탤릭체로 표시하는 명령을 추가했습니다 .

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

여기에 이미지 설명을 입력하세요

주석 유형( \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}

답변2

방법을 재정의하다algorithmicx\Comment사용한 작품

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

기본 동작은 insert 로 \hfill \(\triangleright\), 주석을 오른쪽 여백과 동일하게 배치합니다.

여기에 이미지 설명을 입력하세요

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

관련 정보