我會做這樣的:
\usepackage{eqparbox}
\renewcommand{\algorithmiccomment}[1]{\hfill\eqparbox{COMMENT}{\# #1}}
注1:兩個文件,彙編有必要確定註釋的最大寬度。
注2:顯然,這隻適用於不太長的單行註釋。
從這個想法繼,這裏是在相同的排序方式完整的例子,同時也提供了一個命令,有打破了行註釋:
\documentclass{amsbook}
\usepackage{algorithmic,eqparbox,array}
\renewcommand\algorithmiccomment[1]{%
\hfill\#\ \eqparbox{COMMENT}{#1}%
}
\newcommand\LONGCOMMENT[1]{%
\hfill\#\ \begin{minipage}[t]{\eqboxwidth{COMMENT}}#1\strut\end{minipage}%
}
\begin{document}
\begin{algorithmic}
\STATE do nothing \COMMENT{huh?}
\end{algorithmic}
\begin{algorithmic}
\STATE do something \LONGCOMMENT{this is a comment broken over lines}
\end{algorithmic}
\begin{algorithmic}
\STATE do something else \COMMENT{this is another comment}
\end{algorithmic}
\end{document}
這真是太棒了!在你的例子中不同的算法環境是不必要的,但是強調對齊將保持不同的算法;額外的獎勵。 現在我需要閱讀eqparbox。 – foxcub 2009-11-17 06:41:24
其實這是一個無意的副作用:)如果你想要在算法之間改變大小的註釋,那將會更加努力(只需要改變'{COMMENT}'來包含一個計數器,真的)。 – 2009-11-17 07:33:51