我正在尝试编写一段简单的代码,例如:
\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}