Я пытаюсь добавить комментарии на отдельной строке. Поведение по умолчанию \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}}
По умолчанию используется вставка \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}