我正在尝试在 latex 中编写一个算法,但在我输入 if 语句后,它返回一个错误并说缺少一个数字。这是什么意思?我的缺陷在哪里?这是我写的(请注意,我正在尝试编写一个不一定检查事物的通用算法,因此 if 中有通用语句):
\For{j = length($y_i$)}{
\If{$\{x_j$ and $\neg x_j\}$ in $y_i$}{
\State \text{$a_i$ = F}
}
我可以这么做吗?
答案1
似乎您混淆了algpseudocode
和 的语法algorithm2e
。
使用前一个包,语法如下
\documentclass{article}
\usepackage{amsmath}
\usepackage{algpseudocode}
\begin{document}
\begin{algorithmic}[1]
\For{$j = \operatorname{length}(y_i)$}
\If{$\{x_j$ and $\neg x_j\}$ in $y_i$}
\State $a_i = \mathrm{F}$
\EndIf
\EndFor
\end{algorithmic}
\end{document}
后一个包没有\State
命令,所以我猜你正在使用algpseudocode
。
请注意我对您的输入所做的更改,以便在需要时使用数学模式。