\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 math шрифт. Вместо этого используйте\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}