算法中方程的中心线号

算法中方程的中心线号

我想equation在算法中使用。以下伪代码生成一个不以方程为中心的行号:

\documentclass{scrartcl}

\usepackage{amsmath}
\usepackage{algorithm}
\usepackage{algpseudocode}

\begin{document}
\begin{algorithm}
\begin{algorithmic}[1]
    \State{}
    \begin{equation*}
        e=mc^2
    \end{equation*}
\end{algorithmic}
\end{algorithm}
\end{document}

导致:

方程旁边没有中心线的算法

我想要的是类似这样的内容:

方程旁边有中心线的算法

是否有可能将行号垂直居中在等式的高度?谢谢你的帮助 :)

答案1

您可以将数学环境包含在其中,\vcenter其本身必须在美元之间

$\vcenter{....}$

示例输出

\documentclass{scrartcl}

\usepackage{amsmath}
\usepackage{algorithm}
\usepackage{algpseudocode}

\begin{document}
\begin{algorithm}
\begin{algorithmic}[1]
  \State{} $\vcenter{
  \begin{equation*}
        e=mc^2
  \end{equation*}
  }$
  \State{} $\vcenter{
  \begin{align*}
    x &= y^2 \\
    &= z + t
  \end{align*}
  }$
\end{algorithmic}
\end{algorithm}
\end{document}

答案2

一种可能性是

\documentclass{scrartcl}

\usepackage{amsmath}
\usepackage{algorithm}
\usepackage{algpseudocode}

\begin{document}
\begin{algorithm}
\begin{algorithmic}[1]
    \State{}$e=mc^2$
\end{algorithmic}
\end{algorithm}
\end{document}

但是当需要的不仅仅是内联数学模式时,这并不能解决问题。

相关内容