我有一个算法(使用 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}