Latex 中具有多個 for 迴圈的偽代碼

Latex 中具有多個 for 迴圈的偽代碼

在此輸入影像描述

\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}在序言中加上algorithmalgpseudocode

在此輸入影像描述

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

相關內容