我正在尝试在自己的行上添加注释。的默认行为是\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}