这是我的伪算法:
\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}
我的问题是
- 当我运行它时,并没有得到结束。
- 我想减少它所占用的空间但是当我放置
\vspace
之后\end{algorithmic}
或\end{algorithm}
最后一行时就会超出那些算法空间。
答案1
你可能正在使用
\usepackage[noend]{algpseudocode}
这将删除结构中的所有结束子句。请参阅algpseudocode
无结束块文本. 删除noend
恢复结束子句的选项。
环境algorithmic
定义为列表。之后的空间可以使用etoolbox
修补:
\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}
不过,人们更习惯于在(即浮动块)algorithmic
内使用环境。在这方面,请参阅algorithm
删除图形后和文本前的空格改变与浮点数周围间距相关的任何参数。
具体来说,您可能有兴趣调整长度\textfloatsep
或\intextsep
。