我试图在if
andfor
语句后添加一条垂直直线,以消除算法环境中的冗余空间。
我使用的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}