INFORMS 模板使我的算法更加扁平

INFORMS 模板使我的算法更加扁平

我正在准备一份使用 INFORMS 样式文件的手稿,可以在此处下载:https://pubsonline.informs.org/authorportal/latex-style-files

(该页面未提及许可证,因此我不知道是否可以.sty在此处复制文件的内容。)

当我向此模板添加算法时algorithm2e,某些东西会覆盖默认缩进,并且左侧会出现平坦边距。以下是 MWE:

\documentclass{informs1}

\usepackage{algorithm2e}

\begin{document}

\begin{algorithm}
$y \gets 0$\;
\For{$x \in X$}{
    $y \gets y + x$\;
}
\Return{$y$}\;
\end{algorithm}

\end{document}

输出:

在此处输入图片描述

第三行应该缩进,并且左侧没有奇怪的垂直线。

我如何防止此模板压平我的algorithm2e算法/

答案1

在向日志模板添加包时要小心,因为它们可能不支持它。我无法在代码中找到这种情况发生的真正原因,但显然,文档类将算法缩进的跳过值设置为零。

为了恢复algorithm2e包定义的默认缩进,可以\SetInd{.5em}{1em}直接在 之前添加\begin{algorithm}。为了简化事情,我可能会定义一个新的环境:

\documentclass{informs1}

\usepackage{algorithm2e}

\newenvironment{nalgorithm}{
\begingroup
\SetInd{.5em}{1em}
\begin{algorithm}%
}{%
\end{algorithm}
\endgroup
}

\begin{document}

\begin{nalgorithm}
$y \gets 0$\;
\For{$x \in X$}{
    $y \gets y + x$\;
}
\Return{$y$}\;
\end{nalgorithm}

\end{document}

如果您想保留代码库,可以利用包etoolbox并注入所需的代码行。但是,这意味着您甚至需要将两个包加载到文档类中:

\documentclass{informs1}

\usepackage{algorithm2e}
\usepackage{etoolbox}
\AtBeginEnvironment{algorithm}{\SetInd{.5em}{1em}}

\begin{document}

\begin{algorithm}
$y \gets 0$\;
\For{$x \in X$}{
    $y \gets y + x$\;
}
\Return{$y$}\;
\end{algorithm}

\end{document}

在此处输入图片描述

答案2

只需恢复所需的缩进即可。

\documentclass{informs1}

\usepackage{algorithm2e}

\SetInd{5pt}{10pt}
\SetNlSty{relax}{}{\enspace}

\begin{document}

\begin{algorithm}
$y \gets 0$\;
\For{$x \in X$}{
    $y \gets y + x$\;
}
\Return{$y$}\;
\end{algorithm}

\end{document}

在此处输入图片描述

相关内容