以下算法出现在 Boyd 和 Parikh 的书的第 152 页近端算法。
我想知道这是如何在 Latex 中编写的,以便我可以用相同的风格编写自己的算法。使用了哪种算法环境(如果有)?有人能猜出这是怎么写的吗?
答案1
恐怕没有使用专门的包:
\documentclass{article}
\usepackage{enumitem,amsmath}
\DeclareMathOperator{\prox}{\mathbf{prox}}
\begin{document}
\noindent
\begin{minipage}{\columnwidth}
\normalfont
\hrule
\vspace{2ex}
\textbf{given} $y^k$, $\lambda^{k-1}$, and parameter $\beta\in(0,1)$.
\medskip
Let $\lambda:=\lambda^{k-1}$.
\medskip
\textbf{repeat}
\begin{enumerate}[nosep,leftmargin=3.5em]
\item Let $z:=\prox_{\lambda g}(y^k-\lambda\nabla f(y^k))$.
\item \textbf{break if} $f(z)\le \hat{f}_\lambda(z,y^k)$.
\item Update $\lambda:=\beta\lambda$.
\end{enumerate}
\medskip
\textbf{return} $\lambda^k:=\lambda$, $x^{k+1}:= z$.
\vspace{2ex}
\hrule
\end{minipage}
\end{document}