我正在尝试将其用于algorithm2e
我的伪代码。我对注释的行为感到很奇怪。
我希望它们出现在代码之后的右侧,但似乎有一个我不想要的随机(相当大的)空间。
有时我试图在一行上添加注释,这意味着它们不会紧跟在一段伪代码之后,而是直接从注释本身开始。这给了我错误,有什么方法可以实现吗?
\begin{algorithm}[H]
\KwData{Number of samples per pixel N, image and camera properties}
\KwResult{Path Traced image $I_i$, and Gradient Domain Path Traced $\Delta_{i,j}$}
\For{each pixel \emph{i} of the image }{
\For{each sample per pixel}{
$I_i = I_i + h(x-x_i)f(\bar{x})/p(\bar{x})$\tcp*{\textbf{add contribution of base path to the primal image}}
$I_i = I_i/N; $\\
\For{all neighbour pixels $ j \in \Phi_i of i$ }{
$\bar{y} := T_{ij}(\bar{x})$\tcp*{\textbf{calculate offset path with shift mapping}}
$\Delta_{i,j} := \Delta_{i,j} + w_{i,j}(\bar{x})h(x-x_i)(f(\bar{x}) - f(\bar{y})|T_{ij}|);$\\
$\Delta_{i,j} := Delta_{i,j} /N $ \tcp*{\textbf{for all \emph{j}}}
}
}
}
\caption{How to compute GDPT}
\end{algorithm}
答案1
您可以提供一个可选参数来\tcp
更新其在对齐方面的显示方式。有关更多详细信息,请参阅部分10.3 评论(第 32 页)algorithm2e
文档。
下面我使用了[h]
和[l]
来得到一个带有/不带有行尾的左对齐注释。
\documentclass{article}
\usepackage{algorithm2e,mathtools}
\newcommand{\ce}{\coloneqq}
\begin{document}
\begin{algorithm}[H]
\KwData{Number of samples per pixel $N$, image and camera properties}
\KwResult{Path Traced image $I_i$, and Gradient Domain Path Traced $\Delta_{i,j}$}
\For{each pixel\/ $i$ of the image }{
\For{each sample per pixel}{
\tcp*[h]{\textbf{add contribution of base path to the primal image}}
$I_i = I_i + h(x-x_i)f(\bar{x})/p(\bar{x})$\;
$I_i = I_i/N$\;
\For{all neighbour pixels\/ $j \in \Phi_i$ of\/ $i$}{
\tcp*[h]{\textbf{calculate offset path with shift mapping}}
$\bar{y} \ce T_{ij}(\bar{x})$\;
$\Delta_{i,j} \ce \Delta_{i,j} + w_{i,j}(\bar{x})h(x-x_i)(f(\bar{x}) - f(\bar{y})|T_{ij}|)$\;
$\Delta_{i,j} \ce Delta_{i,j} /N$\tcp*[l]{\textbf{for all $j$}}
}
}
}
\caption{How to compute GDPT}
\end{algorithm}
\end{document}