
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
- Ich bekomme kein Ende, wenn ich es ausführe.
- Ich möchte den benötigten Platz reduzieren, aber wenn ich
\vspace
danach\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. Siehealgpseudocode
ohne Endblocktext. Entfernen Sie die noend
Option zum Wiederherstellen der Endklauseln.
Die algorithmic
Umgebung wird als Liste definiert. Der Platz kann anschließend über einetoolbox
Patch:
\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 algorithmic
Umgebung 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 \textfloatsep
bzw. interessiert sein \intextsep
.