Wie füge ich „end for“ in meinen Pseudoalgorithmus ein und mache ihn platzsparender?

Wie füge ich „end for“ in meinen Pseudoalgorithmus ein und mache ihn platzsparender?

Dies ist mein Pseudoalgorithmus:

\begin{algorithm}[t]
\caption{Generate Disseminated Sequences}\label{euclid}
\begin{algorithmic}[1]
    \Function{output}{$memory,input$}
    \State $\text{initialize}~ B \gets  \text{all zeros}$
    \For{$i = 1$ to ${sizeIn}$\text{+1}} 
    \State $\text{return}~OUTPUT\gets \text{convert \textit{B} to decimal }$
    \For{$j = memorySize$ to $2$}
    \State $M[j+1] \gets M[j]$ 
    \EndFor
    \State $B[i] \gets inputString[i]$ 
    \EndFor
    \EndFunction
\end{algorithmic}
\end{algorithm}

Mein Problem ist

  1. Ich bekomme kein Ende, wenn ich es ausführe.
  2. Ich möchte den benötigten Platz reduzieren, aber wenn ich \vspacedanach \end{algorithmic}oder \end{algorithm}nach meiner letzten Zeile etwas einfüge, kommt dieser Algorithmus nicht mehr zum Platz.

Antwort1

Sie verwenden wahrscheinlich

\usepackage[noend]{algpseudocode}

Dadurch werden alle Endklauseln aus Strukturen entfernt. Siehealgpseudocodeohne Endblocktext. Entfernen Sie die noendOption zum Wiederherstellen der Endklauseln.


Die algorithmicUmgebung wird als Liste definiert. Der Platz kann anschließend über einetoolboxPatch:

Bildbeschreibung hier eingeben

\documentclass{article}

\usepackage{algpseudocode,etoolbox}

\begin{document}

Something above \verb|algorithmic|.

\begin{algorithmic}[1]
  \State First state
  \State Second state
  \State Third state
  \State Last state
\end{algorithmic}

Something below \verb|algorithmic|.

\hrulefill

\AfterEndEnvironment{algorithmic}{\vspace{50pt}}

Something above \verb|algorithmic|.

\begin{algorithmic}[1]
  \State First state
  \State Second state
  \State Third state
  \State Last state
\end{algorithmic}

Something below \verb|algorithmic|.

\end{document}

Es ist jedoch üblicher, die algorithmicUmgebung innerhalb eines zu verwenden algorithm, das ein schwebender Block ist. Siehe hierzuLeerzeichen nach Abbildung und vor Text entfernenum alle Parameter zu ändern, die mit dem Abstand um Floats zusammenhängen.

Insbesondere könnten Sie an der Anpassung der Längen \textfloatsepbzw. interessiert sein \intextsep.

verwandte Informationen