LaTeX 中的算法包

LaTeX 中的算法包

我想用 LaTeX 编写以下算法:

 V <- AllUnigramsInTraining(D)
 N <- NumberOfTweets(D)
**for** each c ∈ C do
  Nc <- Number of tweets in Class c
  prior(c) <- [...] 
  Tweetsc <- All Tweets in class c
  **for** each term t ∈ V do
    Tct <- No. of times term t appeared in Tweetsc
  **end for**
  **for** each term t ∈ V do
    prob[t][c] <- [...] 
  **end for**
**end for**

我写了下面的代码,但编译不正确。有人能帮忙吗?

\begin{algorithmic}
\STATE $V\gets AllUnigramsInTraining(D)$ \\
\STATE $N\gets NumberOfTweets(D)$ \\
 \FOR each $c \in C$ \DO \\
  \STATE $N_c\gets Number of tweets in Class c$ \\
  \begin{equation}
    prior(c) = \frac{N_c}{N} \\
   \end{equation}
  \STATE $Tweets_c\gets = All Tweets in class c$ \\
  \FOR each term $t \in V$ \DO \\
    T_ct = No. of times term t appeared in Tweets_c \\
  \END
  \FOR each term $t \in V$ \DO \\
    \begin{equation}
     $prob[t][c] = \frac{T_ct}{\sum_^t'{T_ct'+ 1}} \\
    \end{equation}
  \END
\END
\end{algorithmic}

答案1

非常那里错了。首先,你不需要\\在行末。你的$等式内部有一个(不平衡的)内联数学。你的下标不在数学模式中。你的和符号有问题。我不知道你到底想要什么,但这至少应该给你输出,不管它是否正是你想要的……我不知道。

\documentclass{article}
\usepackage{algorithmic}
\begin{document}
\begin{algorithmic}
\STATE $V\gets$ AllUnigramsInTraining($D$)
\STATE $N\gets$ NumberOfTweets($D$)
 \FORALL{$c \in C$}
  \STATE $N_c \gets$ Number of tweets in Class $c$
  \STATE \begin{equation}prior(c) = \frac{N_c}{N}\end{equation}
  \STATE $Tweets_c \gets $All Tweets in class $c$
  \FORALL{$t \in V$}
    \STATE $T_ct$ = No. of times term $t$ appeared in $Tweets_c$
  \ENDFOR
  \FORALL{$t \in V$}
    \STATE \begin{equation}prob[t][c] = \frac{T_ct}{\sum^{t'}T_ct'+ 1}\end{equation}
  \ENDFOR
\ENDFOR
\end{algorithmic}
\end{document}

答案2

您的for陈述缺少括号,并且您的方程块应该是\state线。

有一些很好的例子LaTeX 维基百科

相关内容