你好,尝试在 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}