\begin{algorithmic}
\Procedure{$M_{topo}$}{$f^-,y$} \inebreak
$(n, m, q, A,B)\leftarrowff^-, y_1...y_m\leftarrow y$
\For {$(g, i, j) \in \{n + 1, . . . , n + q\} × \{0, 1\} × \{0, 1\}$}
\If{$g \leq n + q − m$} $G_g(i, j) \leftarrow 0$
\Else $G_g(i, j)\leftarrow y_{\text{g−(n+q−m)}}$
\EndIf
\EndFor
$f \leftarrow (n, m, q, A,B,G), x \leftarrow 0^n$ k
\Return (f, x)
\EndProcedure
\end{algorithmic} \\
使用后没有进入$(n, m, q, A,B)\leftarrowff^-, y_1...y_m\leftarrow y$
第二行\linebreak
标志-
没有进入\Else $G_g(i, j)\leftarrow y_{\text{g−(n+q−m)}}$
答案1
在
algorithmicx
环境中,换行符是通过\State
关键字生成的,而不是通过\linebreak
。不要使用非 ASCII Unicode 字形,例如
×
和−
,除非您使用 XeLaTeX 或 LuaLaTeX 以及合适的 Unicode 数学字体。相反,请使用\times
和-
;后者是纯 ASCII“破折号”字符。另外,请输入
\dots
“而不是“...
”。
完整的 MWE;注意“突然”的出现万一和结束于:
\documentclass{article}
\usepackage{algpseudocode}
\begin{document}
\begin{algorithmic}
\Procedure{$M_{\mathrm{topo}}$}{$f^-,y$}
\State $(n, m, q, A,B)\gets f^-,\ y_1,\dots, y_m\gets y$
\For {$(g, i, j) \in \{n+1,\dots,n+q\} \times \{0, 1\} \times \{0, 1\}$}
\If {$g \leq n + q - m$} $G_g(i, j) \gets 0$
\Else \ $G_g(i, j)\gets y_{g-(n+q-m)}$
\EndIf
\EndFor
\State $f \gets (n, m, q, A,B,G),\ x \gets 0^n$ k % huh?
\State \textbf{return} $(f, x)$
\EndProcedure
\end{algorithmic}
\end{document}