为什么我的一段代码不起作用?

为什么我的一段代码不起作用?

我正在尝试编写一段简单的代码,例如:

\begin{algorithm} 
\caption{ALG 1} 
\label{system} 
\begin{algorithmic} 
    \For{$each n \in V$}
        M \leftarrow Dijkstra(n);
    \EndFor


\end{algorithmic}
\end{algorithm}

我已将其包括在内\usepackage{algorithm}\usepackage{algorithmic}但它不起作用。

我得到:

LaTeX Error: Undefined control sequence.
<recently read> \For 

l.81     \For
             {$each n \in V$}
.

错误在哪里?

答案1

您使用的语法是algpseudocode

\documentclass{article}
\usepackage{amsmath}
\usepackage{algorithm,algpseudocode}

\begin{document}

\begin{algorithm}
\caption{ALG 1}
\label{system}
\begin{algorithmic}
    \For{each $n \in V$}
        $M \leftarrow \operatorname{Dijkstra}(n)$;
    \EndFor
\end{algorithmic}
\end{algorithm}

\end{document}

注意中线周围和each外面的数学模式。

在此处输入图片描述

答案2

查看texdoc algorithmic 命令\FOR是否\FORALL\For

\documentclass{article}

\usepackage{algorithm,algorithmic}

\begin{document}
\begin{algorithm} 
\caption{ALG 1} 
\label{system} 
\begin{algorithmic} 
    \FORALL{$n \in V$}
      \STATE   $M \leftarrow \mathrm{Dijkstra}(n)$;
    \ENDFOR
\end{algorithmic}
\end{algorithm}
\end{document}

相关内容