如何在算法环境中更改垂直线的类型,同时最小化垂直间距

如何在算法环境中更改垂直线的类型,同时最小化垂直间距

我试图在ifandfor语句后添加一条垂直直线,以消除算法环境中的冗余空间。

我使用的informs3类可以在本网站您应该点击的地方INFORMS Journal on Computing Style Files

这是一个 MWE。

\documentclass[ijoc,nonblindrev]{informs3} 
\OneAndAHalfSpacedXII % current default line spacing
\TheoremsNumberedThrough     
\usepackage[linesnumbered,ruled,vlined]{algorithm2e}
\begin{document}
\begin{algorithm}
\DontPrintSemicolon
\For{$i \in V$} {
    \For{} {
        \If{}{
            \uIf{}{
                 $statement$
             }\Else{
                $statement$
             }
        }
    }
}
\Return{x}
\caption{{\sc My Algorithm}}
\end{algorithm}
\end{document}

在此处输入图片描述

另外,我想删除行之间的空格。这篇文章中提出的建议都没有算法环境中的垂直间距有效。如果有人能帮助我,我将不胜感激。

答案1

lined通过选项和的组合noend

在此处输入图片描述

\documentclass[ijoc,nonblindrev]{informs3} 
\OneAndAHalfSpacedXII % current default line spacing
\TheoremsNumberedThrough     
\usepackage[linesnumbered,ruled,lined, noend]{algorithm2e}
\begin{document}
\begin{algorithm}
\DontPrintSemicolon
\For{$i \in V$} {
    \For{} {
        \If{}{
            \uIf{}{
                 $statement$
             }\Else{
                $statement$
             }
        }
    }
}
\Return{x}
\caption{{\sc My Algorithm}}
\end{algorithm}
\end{document}

或者与vlined\SetVlineSkip{0pt}

在此处输入图片描述

\documentclass[ijoc,nonblindrev]{informs3} 
\OneAndAHalfSpacedXII % current default line spacing
\TheoremsNumberedThrough   
\usepackage[linesnumbered,ruled,vlined]{algorithm2e}
\begin{document}
\begin{algorithm}
\DontPrintSemicolon
\For{$i \in V$} {
    \For{} {
        \If{}{
            \uIf{}{
                 $statement$
             }\Else{
                $statement$
             }
        }
    }
}
\Return{x}
\caption{{\sc My Algorithm}}
\end{algorithm}
\end{document}

\OneAndAHalfSpacedXII由于您在序言中使用了,因此算法的行之间的垂直间距非常大。要局部减小算法中的行距,您可以在环境\SingleSpacedXII内部使用algorithm,如以下示例所示:

在此处输入图片描述

\documentclass[ijoc,nonblindrev]{informs3}
\OneAndAHalfSpacedXII % current default line spacing
\TheoremsNumberedThrough   
\usepackage[linesnumbered,ruled,lined, noend]{algorithm2e}
\begin{document}
\begin{algorithm}
\SingleSpacedXII
\DontPrintSemicolon
\For{$i \in V$} {
    \For{} {
        \If{}{
            \uIf{}{statement}\Else{
                $statement$
             }
        }
    }
}
\Return{x}
\caption{{\sc My Algorithm}}
\end{algorithm}
\end{document}

相关内容