使用 algorithm2e 计算大函数的中心线数

使用 algorithm2e 计算大函数的中心线数

我有一个算法(使用 algorithm2e),我需要一个大函数,所以我想把它作为一个方程输入。但是行号似乎有点奇怪,因为它编号了一个空行。我希望数字位于中央(技术上是在分数条的水平上)。

我有

\documentclass[12pt]{report}
\usepackage[ruled,linesnumbered]{algorithm2e} % nice and easy (?) pseudocode

\begin{document} 

\begin{algorithm}
    \caption{A cool algorithm}
        \ForEach {item $\in$ set}{
                \[
                    \frac
                    {numerator}
                    {denominator}
                \]
    }
\end{algorithm}

\end{document}

但结果是:

一个不起作用的例子

我发现作为一个类似的问题,但它没有正常工作。(它在正确的位置添加了错误的数字)。单行方程的编号工作正常,但分数太小而无法读取。

谢谢您的帮助

答案1

我在这里提出两种解决方案:一种是简单地使用内联数学,前面加上\displaystyle;另一种是使用新定义的环境,它只在数学表达式周围添加一些空间(也排版在\displaystyle

\documentclass[12pt]{report}
\usepackage[ruled,linesnumbered]{algorithm2e}

\newenvironment{varalgomathdisplay}%
   {\qquad$\vcenter\bgroup\kern2ex\hbox\bgroup$\displaystyle}%
   {$\egroup\kern1ex\egroup$}

\begin{document} 

\begin{algorithm}
    \caption{A cool algorithm}
        \ForEach {item $\in$ set}{$\displaystyle\frac{num}{den}$}
\end{algorithm}

\begin{algorithm}
    \caption{Another cool algorithm}
        \ForEach {item $\in$ set}{\begin{varalgomathdisplay}\frac{num}{den}\end{varalgomathdisplay}}
\end{algorithm}

\end{document}

在此处输入图片描述

相关内容