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