Почему возникает ошибка «Возможно, отсутствует \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 \itemon line with the \FORcommand. Кто-нибудь может помочь?

решение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}

введите описание изображения здесь

Связанный контент