我有一个很长的算法,我想把它分成两页。像这样:
\documentclass{article}
\usepackage{algorithm}
\usepackage{algpseudocode}
\begin{document}
\begin{algorithm}
\caption{function}\label{function}
\begin{algorithmic}[1]
\Function{function}{}
\State $x \gets y$;
\While{$x < y$}
\If{$x = y$}
\State $split \gets split$; %%SPLIT HERE
\ElsIf{$x = y$}
\State $x \gets y$;
\ElsIf{$x < y$}
\State $x \gets y$;
\State $x \gets y$;
\Else
\State $x \gets y$;
\State $x \gets y$;
\EndIf
\EndWhile
\If{$x = y$}
\If{$x = y$}
\State $x \gets y$;
\ElsIf{$x = y$}
\State $x \gets y$;
\ElsIf{$x <= y$}
\State $x \gets y$;
\State $x \gets y$;
\Else
\State $x \gets y$;
\State $x \gets y$;
\EndIf
\ElsIf{$x = y$}
\State $x \gets y$;
\EndIf
\State \Return $x$
\EndFunction
\end{algorithmic}
\end{algorithm}
\end{document}
我找到了一个使用 的解决方案\algstore
,但是当将其放在 IF-ELSE 结构中时,它不起作用。我读过一些关于\vsplit
- 的内容,但我不确定如何使用它来拆分我的代码。
答案1
不要使用algorithm
环境:
\documentclass{article}
\usepackage{algorithm}
\usepackage{algpseudocode}
\begin{document}
\section{Function}\label{function}
\begin{algorithmic}[1] \Function{function}{}
\State $x \gets y$;
\While{$x < y$}
\If{$x = y$}
\State $split \gets split$; %%SPLIT HERE
\ElsIf{$x = y$}
\State $x \gets y$;
\ElsIf{$x < y$}
\State $x \gets y$;
\State $x \gets y$;
\Else
\State $x \gets y$;
\State $x \gets y$;
\EndIf
\EndWhile
\While{$x < y$}
\If{$x = y$}
\State $split \gets split$; %%SPLIT HERE
\ElsIf{$x = y$}
\State $x \gets y$;
\ElsIf{$x < y$}
\State $x \gets y$;
\State $x \gets y$;
\Else
\State $x \gets y$;
\State $x \gets y$;
\EndIf
\EndWhile
\While{$x < y$}
\If{$x = y$}
\State $split \gets split$; %%SPLIT HERE
\ElsIf{$x = y$}
\State $x \gets y$;
\ElsIf{$x < y$}
\State $x \gets y$;
\State $x \gets y$;
\Else
\State $x \gets y$;
\State $x \gets y$;
\EndIf
\EndWhile
\While{$x < y$}
\If{$x = y$}
\State $split \gets split$; %%SPLIT HERE
\ElsIf{$x = y$}
\State $x \gets y$;
\ElsIf{$x < y$}
\State $x \gets y$;
\State $x \gets y$;
\Else
\State $x \gets y$;
\State $x \gets y$;
\EndIf
\EndWhile
\If{$x = y$}
\If{$x = y$}
\State $x \gets y$;
\ElsIf{$x = y$}
\State $x \gets y$;
\ElsIf{$x <= y$}
\State $x \gets y$;
\State $x \gets y$;
\Else
\State $x \gets y$;
\State $x \gets y$;
\EndIf
\ElsIf{$x = y$}
\State $x \gets y$;
\EndIf
\State \Return $x$
\EndFunction
\end{algorithmic}
\end{document}