算法环境中标题下方缺少一行

算法环境中标题下方缺少一行

我在公司和家里使用两台不同的计算机,有时用一台计算机编译我的论文,有时用另一台计算机。大多数情况下,两个版本是一致的,但对于算法,我注意到相同的代码在两台机器上给出不同的输出。特别是,如果我编译以下代码:

\begin{algorithm}[!t]
\caption{The GaussSieve algorithm}
\begin{algorithmic}[1]
\State Initialize an empty list $L$ and an empty stack $S$
\Repeat
    \State Get a vector $\vec{v}$ from the stack (or sample a new one) 
    \For{\textbf{each} $\vec{w} \in L$}
        \State Reduce $\vec{v}$ with $\vec{w}$
        \State Reduce $\vec{w}$ with $\vec{v}$
        ...

然后在一台计算机上我得到:

如果我在另一个上进行编译,我会得到:

换句话说:在一台机器上输出有一条水平线(我认为应该如此),而在另一台机器上则没有。在这两台机器上我都使用了和algorithmicxalgpseudocode,以及十几个其他包。

所以我的问题是:如何使输出一致?特别是,如何让两台计算机都添加水平线?是否有一个简单的命令可以强制两台机器在那里输出水平线?或者我是否可以强制两台计算机使用相同版本的软件包,例如将相同的 .sty 文件放在某个文件夹中?

此外:第二个例子中标题和第一行之间的间距比第一个例子中的大,这导致两台机器上的页码不同(因为在第一种情况下,一个部分刚好适合页面,而在第二种情况下则不适合)。

提前致谢!

答案1

更新软件包algorithmicxalgorithms没有帮助,但事实上问题是一台机器上的一个软件包已经过时了。

在两台机器上的 MiKTeX 软件包管理器中彻底搜索/比较软件包日期后,我发现一个系统上的软件包日期caption与另一个系统上的软件包日期不同。卸载旧版本、同步存储库并安装最新版本或此软件包(日期为 2013-05-21)解决了该问题。

相关内容