為什麼演算法包會出現「可能缺少\item」錯誤?

為什麼演算法包會出現「可能缺少\item」錯誤?

我試著模仿我在中找到的一個例子LaTeX 維基百科使用該包編寫我自己的演算法algorithmic。但我無法清楚地理解它,並且總是出錯。

 \documentclass{article}
 \usepackage{times}
 \usepackage{amsthm}
 \usepackage{algorithm}
 \usepackage{algorithmic}
 \usepackage{alltt}
 \usepackage{mathtools}
 \usepackage{parskip}
 \begin{document}
 \begin{algorithm}
 \caption{Assigning j to a center}
 \begin{algorithmic}  
 INITIALIZE $C = \emptyset$
 \FOR {i=1,...,r}  <------Error
 \IF {$N_i \cap N_{i_0} \neq\emptyset$ for some $i_0 \leq i$
 \STATE assign to $p_{i_0}$ all demand nodes j with $i \in   \widetilde{p_j}$
 \ELSE
 \STATE $C = C \cup \{ i \}$ and assign to $p_i$ all the demand nodes $j$ with  $i \in   \widetilde{p_j}$
 \ENDIF
 \ENDFOR
 \end{algorithmic}
 \end{algorithm}
 \end{document}

我收到錯誤: Something is wrong. Perphaps a missing \item在命令線上\FOR。有人可以幫忙嗎?

答案1

兩個問題:您缺少了右大括號,\IF並且您在禁止的地方使用INITIALIZE(內部使用的清單的開頭)。也許你可以使用

\STATE INITIALIZE $C = \emptyset$

或包提供的任何其他關鍵字。

\documentclass{report}
\usepackage{algorithmic,algorithm}

\begin{document}

\begin{algorithm}
 \caption{Assigning j to a center}
 \begin{algorithmic}  
 \STATE INITIALIZE $C = \emptyset$
 \FOR {i=1,...,r}
 \IF {$N_i \cap N_{i_0} \neq\emptyset$ for some $i_0 \leq i$}
 \STATE assign to $p_{i_0}$ all demand nodes j with $i \in   \widetilde{p_j}$
 \ELSE
 \STATE $C = C \cup \{ i \}$ and assign to $p_i$ all the demand nodes $j$ with  $i \in   \widetilde{p_j}$
 \ENDIF
 \ENDFOR
 \end{algorithmic}
 \end{algorithm}

\end{document}

在此輸入影像描述

相關內容