我想编写一个算法,以便我所附的内容,我对使用 latex 编写算法有些了解。我不需要确切的答案,只需要提示或与我所附内容类似的示例。
答案1
您可以执行以下任一操作:
将每个算法置于其自己的
minipage
环境中:\begin{minipage}{.5\textwidth} \begin{algorithm}[H]% Left algorithm ... \end{algorithm} \end{minipage}% \begin{minipage}{.5\textwidth} \begin{algorithm}[H]% Right algorithm ... \end{algorithm} \end{minipage}%
将算法放在更大的表的列内。
我选择了上面的(2)来制作这个(借助booktabs
:
符号和其他符号可能需要更改。这只是为了让您了解可以做什么。
剧透警告:
\documentclass{article}
\usepackage[margin=1in]{geometry}% Just for this example
\usepackage[lined]{algorithm2e}
\usepackage{amsmath,tabularx,booktabs}
\DontPrintSemicolon
\newcommand{\vectnotation}[1]{\textbf{\textit{#1}}}
\DeclareMathOperator{\Vect}{vec}
\newcommand{\vect}[1]{\Vect(#1)}
\newcommand{\assign}{\leftarrow}
\newcommand{\To}{\textup{\textbf{to}}}
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{XX}
\toprule
\multicolumn{2}{p{\dimexpr\textwidth-2\tabcolsep}}{\refstepcounter{algocf}\AlCapSty{\AlCapFnt\algorithmcfname\nobreakspace\thealgocf:}
Efficient application of the wavelet dictionary by the Horner's rule.} \\
\midrule
\begin{algorithm}[H]
Forward operator $(y = \vectnotation{D} \vect{\vectnotation{X}})$\;
$\vectnotation{R} \assign \mathbf{1} \otimes \vectnotation{X}(N,:)$\;
\For{$n \assign 2$ \To{} $N$}{
$\vectnotation{P} \assign \mathbf{1} \otimes \vectnotation{X}(N-n+1,:)$\;
$\vectnotation{R} \assign \vectnotation{R} \circ \vectnotation{Z} + \vectnotation{P}$\;
}
$\vectnotation{y} \assign \vectnotation{F}^{-1}(\hat{\vectnotation{w}} \circ \vectnotation{R}\mathbf{1})$\;
\end{algorithm} &
\begin{algorithm}[H]
Adjunct operator $(\vect{\tilde{\vectnotation{X}}} = \vectnotation{D}^{T} \vectnotation{y})$\;
$\mathbf{\rho} \assign \vectnotation{y}^{T} \vectnotation{W}\vectnotation{F}$\;
$\vectnotation{L} \assign N \times M$ all-ones matrix\;
\For{$n \assign 2$ \To{} $N$}{
$\tilde{\vectnotation{X}}(n,:) \assign \mathbf{\rho} \vectnotation{L}$\;
$\vectnotation{L} \assign \vectnotation{Z}^{\star} \circ \vectnotation{L}$\;
}
\end{algorithm} \\[-\normalbaselineskip]
\bottomrule
\end{tabularx}
\end{document}