文档类别 clv2 中的算法

文档类别 clv2 中的算法

如何在一篇文章中编写算法\documentclass{clv2},有人可以给我发送一个带有虚拟算法的工作模型吗,因为我猜\caption会产生问题。我想将其发送到麻省理工学院出版社的计算语言学期刊,但它给出了很多错误。

答案1

您可以将algorithm2ealgorithmicclv2类一起使用,只要您解决一些问题即可:

  1. 该类定义一个algorithm环境(非常原始的环境)
  2. 该类定义\TRUE
  3. 该类定义了一个numdef环境,这使得它与etoolbox

这是使用该类的一种algorithm2e方法。algorithmic

\documentclass{clv2}

%% Remove the useless algorithm environment
\let\algorithm\relax
\let\endalgorithm\relax
%% Remove the useless numdef environment
\let\numdef\relax

\usepackage{algorithm2e,algorithmic,xpatch}

%% the algorithmic package does \newcommand{\TRUE}{...}
\xpretocmd{\algorithmic}{\let\TRUE\relax}{}{}

\begin{document}

\begin{algorithm}[H]
\caption{How to write algorithms}
\begin{algorithmic}
\REQUIRE $n \geq 0$
\ENSURE $y = x^n$
 \STATE $y \leftarrow 1$
 \STATE $X \leftarrow x$
 \STATE $N \leftarrow n$
 \WHILE{$N \neq 0$}
 \IF{$N$ is even}
 \STATE $X \leftarrow X \times X$
 \STATE $N \leftarrow N / 2$
 \ELSE[$N$ is odd]
 \STATE $y \leftarrow y \times X$
 \STATE $N \leftarrow N - 1$
 \ENDIF
 \ENDWHILE
 \end{algorithmic}
\end{algorithm}

\end{document}

在此处输入图片描述

答案2

clv2班级已经将环境定义algorithm为类似于的常规列表description(参见第节7.1 其他列表类型在里面COLI 手册或第 3-4 页中海油模板):

\newenvironment{algorithm}{\par\list{}{\leftmargin\z@\labelwidth\z@\labelsep\z@\itemsep6pt\topsep12pt plus2pt
                        \let\makelabel\algorithmlabel}}{\endlist}
\def\algorithmlabel#1{{\bfseries #1: }}

因此,它不是人们所期望的浮点数,也不会自动枚举通常与“算法”相关的步骤。此外,算法内部没有位置\caption。以下是它的使用方式:

在此处输入图片描述

\documentclass{clv2}% http://cljournal.org/Docs/clv2.cls

\begin{document}

\begin{algorithm}
  \item[1] Something
  \item[b] Something else
\end{algorithm}

\end{document}

我的建议是坚持使用期刊文档类并按algorithm原样使用它们的环境;也就是说,不要诉诸于包括其他(可能不兼容的)算法包(如algorithm2e)。

答案3

最后我的算法很好

\documentclass{clv2}

%% Remove the useless algorithm environment
\let\algorithm\relax
\let\endalgorithm\relax
%% Remove the useless numdef environment
\let\numdef\relax

\usepackage[lined,ruled,vlined,resetcount]{algorithm2e}

%% the algorithmic package does \newcommand{\TRUE}{...}
%\xpretocmd{\algorithmic}{\let\TRUE\relax}{}{}

\begin{document}

\begin{algorithm}[H]
\SetAlgoLined
\BlankLine
\KwData{Input}
\KwResult{PMI}
\BlankLine
\Begin
{
 \textbf{Perform:}\\  
 Token\\     
 \For {each}
{
Pos\\
\If{C}
{
Write
 }
 }
  \For {each}
 {
U= F\\
B= F[i] “+” F[i+1]
}
 \For {each}
{
bbbbb\\
\For {each}
{
    \If {C}                                             {
  bbbb+=1
 }
 \If {C}                                             {
  bbb+=1
  }
  }
  }
 \For {each}
 {
 $
 bbbb
$\
}
}       
\caption{PMI}
\end{algorithm}

\end{document}

相关内容