\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} \\
Ich komme nicht $(n, m, q, A,B)\leftarrowff^-, y_1...y_m\leftarrow y$
in die zweite Zeile, nachdem ich\linebreak
Und -
das Zeichen kommt nicht rein\Else $G_g(i, j)\leftarrow y_{\text{g−(n+q−m)}}$
Antwort1
In einer
algorithmicx
Umgebung werden Zeilenumbrüche über das\State
Schlüsselwort und nicht über generiert\linebreak
.Verwenden Sie keine Nicht-ASCII-Unicode-Glyphen wie
×
und−
, es sei denn, Sie verwenden entweder XeLaTeX oder LuaLaTeX und eine geeignete Unicode-Mathematikschriftart. Verwenden Sie stattdessen\times
und-
; Letzteres ist das einfache ASCII-Zeichen „Bindestrich“.Geben Sie außerdem
\dots
und nicht "...
" ein.
Ein vollständiges MWE; beachten Sie das "plötzliche" [!] Auftreten vonEnde, wennUndEnde für:
\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}