Я пытаюсь подражать примеру, который я нашел вВики-книга 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
on line with the \FOR
command. Кто-нибудь может помочь?
решение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}