在 Latex 中以伪代码形式编写算法

在 Latex 中以伪代码形式编写算法

为什么如果我写:

\State \textbf{upon event $< Init >$  do}
        \For{\textbf{all $n$} $\in N$}
            \State $value[r]=0$;
        \EndFor

我有这个输出:

在此处输入图片描述 但我想要:

在此处输入图片描述 我该怎么做?非常感谢

答案1

您可以定义一个新的块结构\Event...\EndEvent以满足您的需要:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath,algpseudocode}% http://ctan.org/pkg/{amsmath,algorithmicx}
\algdef{SE}[EVENT]{Event}{EndEvent}[1]{\textbf{upon event}\ #1\ \algorithmicdo}{\algorithmicend\ \textbf{event}}%
\algtext*{EndEvent}
\begin{document}
\begin{algorithmic}[0]
  \Event{$< Init >$}
    \For{\textbf{all} $n \in N$}
      \State $\text{value}[r] = 0$;
    \EndFor
  \EndEvent
  \State Do something else;
\end{algorithmic}
\end{document}

相关内容