![Псевдокод в латексе с несколькими циклами for](https://rvso.com/image/392312/%D0%9F%D1%81%D0%B5%D0%B2%D0%B4%D0%BE%D0%BA%D0%BE%D0%B4%20%D0%B2%20%D0%BB%D0%B0%D1%82%D0%B5%D0%BA%D1%81%D0%B5%20%D1%81%20%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%B8%D0%BC%D0%B8%20%D1%86%D0%B8%D0%BA%D0%BB%D0%B0%D0%BC%D0%B8%20for.png)
\begin{algorithm}
\caption{Určení sousedících clusterů}
\begin{algorithmic}[1]
\For {$a, b \in C$}
\State předpokládej, že $a, b$ jsou sousedící
\For {$k, l \in C$ a $k, l\neq a, b$}
\If {$P_a P_b \cap P_k P_l \neq\emptyset$}
\State $a, b$ nejsou sousedící clustery
\Else
\If {\|$P_a P_b\|\geq \textbf{E}_r_\in_c\|P_a P_r\|$}
\State $a, b$ nejsou sousedící clustery
\EndIf
\EndIf
\EndFor
\EndFor
\end{algorithmic}
\end{algorithm}
решение1
Вы можете использоватьalgorithmic
пакет для написания псевдокода иalgorithm
пакет для помещения алгоритмов в числа с плавающей точкой (например, цифры).
\documentclass{article}
%
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{algorithm}
\usepackage{algorithmic}
%
\newcommand{\algorithmicbreak}{\textbf{break}}
\newcommand{\BREAK}{\STATE \algorithmicbreak}
%
\begin{document}
%
\begin{algorithm}
\caption{My Algorithm}
\begin{algorithmic}[1] % 1: line number for each line
\FOR {$a, b\in C$}
\STATE Suppose $a, b$ are adjacent
\FOR {$k, l\in C$ and $k, l\neq a, b$}
\IF {$\vec{P_aP_b}\cap \vec{P_kP_l}\neq\o$}
\STATE $a, b$ are not adjacent
\BREAK
\ELSIF {$||\vec{P_aP_b}||\geq\mathbf{E}_{r\in C}||\vec{P_aP_r}||$}
\STATE $a, b$ are not adjacent
\BREAK
\ENDIF
\ENDFOR
\ENDFOR
\end{algorithmic}
\end{algorithm}
\end{document}
решение2
Поскольку вы вводите символы, не входящие в набор ASCII, вам необходимо \usepackage[utf8]{inputenc}
в преамбуле указатьalgorithm
иalgpseudocode
.
\documentclass{article}
\usepackage{algorithm,algpseudocode}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{algorithm}
\caption{Určení sousedících clusterů}
\begin{algorithmic}[1]
\For {$a, b \in C$}
\State předpokládej, že $a, b$ jsou sousedící
\For {$k, l \in C$ a $k, l \neq a, b$}
\If {$P_a P_b \cap P_k P_l \neq \emptyset$}
\State $a, b$ nejsou sousedící clustery
\Else
\If {$\|P_a P_b\| \geq \mathbf{E}_r \in c \|P_a P_r\|$}
\State $a, b$ nejsou sousedící clustery
\EndIf
\EndIf
\EndFor
\EndFor
\end{algorithmic}
\end{algorithm}
\end{document}