我的目标是将这个长的单行算法放入双列页面布局中,就像下面显示的一样,分为 3 行,但我无法使用,\State
而且我不知道为什么以及如何实现这一点。
\documentclass{article}
\usepackage[]{algorithm2e}
\begin{document}
\begin{algorithm}[H]
\caption{Computing Levenshtein edit distance }
\label{editComputing}
$D(i,j)=min{D(i-1,j-1)+\gamma(A<i> \to B<j>),
D(i-1,j)+ \gamma(A<i> \to \Lambda),
D(i,j-1) +\gamma(\Lambda \to B<j>)}$
\end{algorithm}
\begin{document}
答案1
不要使用ere 说明符,因为设计[H]
上不允许在模式下使用。此外,我使用了一些s 来提供跨三行函数的适当布局。twocolumn
\phantom
\State
请注意algorithmicx
的algpseudocde
包裹,不是algorithm2e
. 而是algorithm2e
使用行尾\;
没有A \State
。
为了使数学显示合适,最好使用\langle
...\rangle
而不是<
...。>
\documentclass[twocolumn]{article}
\usepackage{algorithm2e,lipsum,amsmath}
\begin{document}
\lipsum[1]
\begin{algorithm}
\DontPrintSemicolon
\caption{Computing Levenshtein edit distance }
$D(i,j) = \min\bigl\{D(i-1,j-1) + \gamma(A\langle i\rangle \to B\langle j\rangle),$\;
$\phantom{D(i,j) = \min\bigl\{} D(i-1,j) + \gamma(A\langle i\rangle \to \Lambda),$\;
$\phantom{D(i,j) = \min\bigl\{} D(i,j-1) + \gamma(\Lambda \to B\langle j\rangle)\bigr\}$\;
\end{algorithm}
\lipsum[2]
\end{document}
答案2
我不知道有什么理由不使用align*
这个;需要amsmath
。
\documentclass[twocolumn]{article}
\usepackage{algorithm2e}
\usepackage{amsmath}
\begin{document}
\noindent Some text preceding.
\begin{algorithm}
\DontPrintSemicolon
\caption{Computing Levenshtein edit distance }
\abovedisplayskip=0pt
\begin{align*}
D(i,j) = \min\bigl\{& D(i-1,j-1) + \gamma(A\langle i\rangle \to B\langle j\rangle),\\
& D(i-1,j) + \gamma(A\langle i\rangle \to \Lambda),\\
& D(i,j-1) + \gamma(\Lambda \to B\langle j\rangle)\bigr\}
\end{align*}
\end{algorithm}
\noindent Some text following.
\begin{align*}
D(i,j) = \min\bigl\{& D(i-1,j-1) + \gamma(A\langle i\rangle \to B\langle j\rangle),\\
& D(i-1,j) + \gamma(A\langle i\rangle \to \Lambda),\\
& D(i,j-1) + \gamma(\Lambda \to B\langle j\rangle)\bigr\}
\end{align*}
\end{document}
包含该行\abovedisplayskip=0pt
是为了消除算法块顶部的多余空间;这在“受限”环境中不会自动发生。(包含代码的第二个实例是为了证明这种调整不会持续。)
编辑:
上方的空间和下面的算法默认为\smallskip
。提供的更改此设置的命令是\SetAlgoSkip{...}
,建议值为medskip
或bigskip
。请注意没有反斜杠;这些不是控制序列,不能用实际尺寸值替代。