LaTeX の疑似コードに関するヘルプが必要です

LaTeX の疑似コードに関するヘルプが必要です

こんにちは、Latexで擬似コードを書こうとしています

8行目の間違いを修正できません

コード:

\begin{algorithm} \caption{Učící mechanismus všech obcí}
\begin{algorithmic}[1]
\While {Obce ještě nedokonvergovaly}
\State t=t+1
\ForEach {KNIES_p $\in$ Population}
\For{$X_i$ $\in$ Zařazené body}
\State KNIES_p.\quad \textbf{Learn}($X_i$, $\beta_t = \frac{t\beta_T}{T}$)
\EndFor
\If{KNIES_p {$\qaq$} KNIES}
\State KNIES(t) = KNIES_p
\end{algorithmic}
\end{algorithm}

ここに画像の説明を入力してください

答え1

あなたが持っている多くのエラーは主に数学記号の不適切な処理によって発生します。

事前定義されたブロックはないので\ForEach、自分で定義する必要があります。

の定義を指定します\qaq。これは標準コマンドではありません。

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[czech]{babel}

\usepackage{algorithm,algpseudocode}

\algblockx{ForEach}{EndForEach}{\textbf{foreach} }{\textbf{end foreach}}
\newcommand{\ivar}[1]{\mathit{#1}}
\newcommand{\tvar}[1]{\textrm{#1}}

\newcommand{\qaq}{???} % what's this?

\begin{document}

\begin{algorithm} \caption{Učící mechanismus všech obcí}
\begin{algorithmic}[1]
\While {Obce ještě nedokonvergovaly}
  \State $t=t+1$
  \ForEach {$\ivar{KNIES}_p \in \tvar{Population}$}
    \For{$X_i\in\tvar{Zařazené body}$}
      \State $\ivar{KNIES}_p$.\quad
             \textbf{Learn}($X_i$, $\beta_t = \frac{t\beta_T}{T}$)
    \EndFor
  \EndForEach
  \If{$\ivar{KNIES}_p \qaq \ivar{KNIES}$}
    \State $\ivar{KNIES}(t) = \ivar{KNIES}_p$
  \EndIf
\EndWhile
\end{algorithmic}
\end{algorithm}

\end{document}

ここに画像の説明を入力してください

関連情報