我想找到一个伪代码包,它支持在 if 的右侧写注释的可能性,并且它不会在中间,{ }
而是在页面的右侧,在符号之后。
我想
if x < p { .} then
像这样:
if (x < p) \blacktriangleright x is a ...
我的代码:
\documentclass[]{scrbook}
\usepackage[english]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\begin{document}
\begin{algorithm}
\caption{Influx}
\label{influx}
\begin{algorithmic}[1]
\REQUIRE $p \in [0,1]$, $G$
\ENSURE None
\FOR{$i = 0 \to 2^d-1$}
\IF{$n(\nu_i) = 0$}
\IF{ $x < p$ \COMMENT{ $x$ is a normal distribution number in the range of $[0,1]$}}
\STATE Occupy $v_i$ site with probablility $p$
\ENDIF
\ENDIF
\ENDFOR
\end{algorithmic}
\end{algorithm}
有任何想法吗?
答案1
为了实现您的愿望,有必要对软件包进行一些重大更改(据我所知)algorithmic
。一种可能性是使用算法包。下面是一个小例子
\documentclass[]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{algorithm,algorithmicx,algpseudocode}
\usepackage{amssymb}
%\algrenewcommand{\algorithmiccomment}[1]{\hfill$\blacktriangleright$ #1}
\begin{document}
\begin{algorithm}
\caption{Influx}
\label{influx}
\begin{algorithmic}[1]
\Require $p \in [0,1]$, $G$
\Ensure None \Comment{a test comment}
\For{$i = 0 \to 2^d-1$}\Comment{another test comment}
\If{$n(\nu_i) = 0$}
\If{ $x < p$} \Comment{$x$ is a normal distribution number in the range of $[0,1]$}
\State Occupy $v_i$ site with probablility $p$
\EndIf
\EndIf
\EndFor
\end{algorithmic}
\end{algorithm}
\end{document}
结果如下:
取消注释该行,\algrenewcommand
您将得到一个黑色三角形作为注释。