Latex 在伪代码中插入等式的正确方法是什么

Latex 在伪代码中插入等式的正确方法是什么,latex,equation,Latex,Equation,我开始用Latex写我的便笺,并尝试根据以下等式编写一个伪代码: 这是我迄今为止尝试过的代码 \begin{addmargin}[10mm]{0mm} \textbf{重复直到收敛:}\\{ \[ \θj:=\θj+\alpha\sum{i=1}^m(y^{(i)}-h{θ(x^{(i)}))\x_j^{(i)}\quad(\text{for every}\j)。 \] \} \结束{addmargin} 我还是觉得有点乱。您有更简单的方法写这个吗?这个问题可能应该转移到tex.stacke

我开始用Latex写我的便笺,并尝试根据以下等式编写一个伪代码:

这是我迄今为止尝试过的代码

\begin{addmargin}[10mm]{0mm}
\textbf{重复直到收敛:}\\{
\[
\θj:=\θj+\alpha\sum{i=1}^m(y^{(i)}-h{θ(x^{(i)}))\x_j^{(i)}\quad(\text{for every}\j)。
\]
\}
\结束{addmargin}

我还是觉得有点乱。您有更简单的方法写这个吗?

这个问题可能应该转移到tex.stackexchange


有几个不同的纯乳胶包专门用于编写伪代码。更简单的方法之一是使用包(包文档),特别是其中的
algpseudocode
部分

以下是使用Algoritmicx的伪代码的MWE:

\documentclass{article}

\usepackage{amsmath}
\usepackage{algpseudocode}
\renewcommand{\algorithmicforall}{\textbf{for each}}

\begin{document}
\noindent Let $\mathcal{J} := \{1, ..., n\}$.

\begin{algorithmic}
    \While {Some convergence criteria is not fulfilled ...}
        \ForAll {$j \in \mathcal{J}$}
            \State $\theta_j \gets \theta_j + \alpha \sum_{i=1}^m(y^{(i)}-h_\theta(x^{(i)})) \ x_j^{(i)}$
        \EndFor   
        \State {... update some convergence measure} \Comment{Describe convergence measure}
    \EndWhile 
\end{algorithmic}

\end{document}
注意,在第四个非空行中,我重载了algorithmicx(
\algorithmicforall
)中的
\ForAll
命令的文本,使其成为“for…each”而不是“for…all


另外请注意,一般情况下,只有注释可能包含伪代码文本,因此上面的句子“某些收敛标准未满足…”和“…更新某些收敛度量”应替换为定义算法/方程的收敛性。

这是您想要的,从软件包
算法
算法

\begin{algorithm}
\caption{Gradient Descent}\label{alg-gd}
\begin{algorithmic}[1]
\STATE Initialize \( \theta_{0} = k\in \R^d \)
\STATE Initialize \( t \leftarrow 0 \)
\REPEAT
\STATE \( \forall j \in \{1,..., d\}, \theta_{j,t+1} \leftarrow \theta_{j,t} - \alpha \frac{\p }{\p \theta_{j} } L(\theta )\bigg|_{\theta = \theta_{t} }  \)
\STATE \( t \leftarrow t + 1 \)
\UNTIL{convergence}
这就给了,


注意:如果您在beamer中使用它,请将
\begin{algorithm}[H]
放在上面的行中,而不是只放在
\begin{algorithm}

中。它是否有任何问题?如果不是,并且您希望查看代码并在“是”时提交,则仍然存在一个问题,即由于显示的“公式”命令[…]而导致公式缩进。正如您在附图中所看到的,它看起来像是用一个制表符缩进的等式,这与我们编写代码的方式相同。@dfri感谢您提醒我标记您的答案。我喜欢。谢谢你。你的回答看起来比我想象的要正式一点,但我喜欢。