我正在准备一份使用 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}