如何调整这个算法

如何调整这个算法

我有一个算法,我想调整它以使其看起来更好。我有一些矩阵和一些方程式,所以我想把文本放在左边而不是中间。

\documentclass[11pt,twocolumn]{article}
\usepackage[margin=1cm]{geometry}
\usepackage{algpseudocode}
\usepackage{algorithm}
\usepackage{amsmath}

\begin{document}
\begin{algorithm}[h]
  \caption{title}

  \begin{algorithmic}[1]
    \For  {all } 
    \State{ 
     \begin{equation*}
        \begin{bmatrix}
         a \\
         a \\
         a \\
        \end{bmatrix}
        =
        \begin{bmatrix}
         b \\
         b \\
         b \\
        \end{bmatrix}
     \end{equation*}
     \For {aaaa}
     \State{
       \begin{align*}
            \delta_{p} &= 
            \begin{bmatrix}
            e \\
            e 
            \end{bmatrix} \\
            W &= W      \\      
            S &= S \\
            D &= D
        \end{align*}
     }
     \EndFor
     \State{
    \begin{align*}
    a &=a \\
    a &= a
    \end{align*}         
 }
    } 
    \EndFor 


  \end{algorithmic}
\end{algorithm}
\end{document}

另外,我正在使用align它来增加行之间的垂直空间。有什么方法可以减少垂直空间吗?

在此处输入图片描述

答案1

以下是一次尝试:

\documentclass[11pt,twocolumn]{article}
\usepackage[margin=1cm]{geometry}
\usepackage{algpseudocode}
\usepackage{algorithm}
\usepackage{amsmath}

\begin{document}
\begin{algorithm}[h]
  \caption{title}

  \begin{algorithmic}[1]
    \setlength{\lineskip}{3pt}
    \For  {all }
    \State{
     $
        \begin{bmatrix}
         a \\
         a \\
         a \\
        \end{bmatrix}
        =
        \begin{bmatrix}
         b \\
         b \\
         b \\
        \end{bmatrix}
     $
     \For {aaaa}
     \State{
       $\begin{aligned}[t]
            \delta_{p} &=
            \begin{bmatrix}
            e \\
            e
            \end{bmatrix} \\
            W &= W      \\
            S &= S \\
            D &= D
          \end{aligned}
        $
     }
     \EndFor
     \State{
    $\begin{aligned}[t]
    a &=a \\
    a &= a
    \end{aligned}
    $
 }
    }
    \EndFor


  \end{algorithmic}
\end{algorithm}
\end{document}

在此处输入图片描述

相关内容