\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}