我有两个类似的算法,我想将它们并排展示,并希望对齐代码的类似部分。目前我正在使用:
\begin{multicols}{2}
\begin{algorithm}[H]
\eIf{$i = 0$}{
$a\leftarrow b$\;
\If{$j \not= 0$}{
$x\leftarrow f(i,j)$\;
}
}{
$a\leftarrow c$\;
}
...
\end{algorithm}
\columnbreak
\begin{algorithm}[H]
\If{$i = 0 \wedge j \not= 0$}{
\vskip 2em
$x\leftarrow f(i,j)$\;
}
\vskip 1em
$a\leftarrow c$\;
...
\end{algorithm}
\end{multicols}
这在某种程度上成功地对齐了if
-statement、x <- f(i,j)
和a <- c
,但对齐并不完全正确,因为我的 vskips 没有使用正确的长度。 这可能可以解决,但尽管如此:这显然是一次黑客攻击。这引出了我的问题:
有没有更好的方法(也许使用包)来并排呈现两个算法,以便算法的某些部分保持一致?