\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}