我使用算法和 algpseudocode 包。问题是,当我尝试启动第四个过程\函数时,无论第一页剩余多少空间,第四个过程\函数都会从下一页的中间开始,而不是从第三个过程\函数的正下方开始。
然后我尝试放入更多程序。看来多余的程序会自动均匀分布在第二页。(将安排两个额外的程序均匀分布在第二页,等等。)
这个真的很麻烦啊,有谁能告诉我怎么让第四个算法显示在第三个算法下面,就像第三个算法显示在第二个算法下面一样,避免自动排列的问题吗?
\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\begin{document}
\begin{algorithm}
\begin{algorithmic}
\Function{ABC}{S}
\If {A}
\State A
\EndIf
\EndFunction
\end{algorithmic}
\end{algorithm}
\begin{algorithm}
\begin{algorithmic}
\Function{ABC}{S}
\If {A}
\State A
\EndIf
\EndFunction
\end{algorithmic}
\end{algorithm}
\begin{algorithm}
\begin{algorithmic}
\Function{ABC}{S}
\If {A}
\State A
\EndIf
\EndFunction
\end{algorithmic}
\end{algorithm}
\begin{algorithm}
\begin{algorithmic}
\Function{ABC}{S}
\If {A}
\State A
\EndIf
\EndFunction
\end{algorithmic}
\end{algorithm}
\begin{algorithm}
\begin{algorithmic}
\Function{ABC}{S}
\If {A}
\State A
\EndIf
\EndFunction
\end{algorithmic}
\end{algorithm}
\end{document}
答案1
您的问题严重缺乏具体说明,因此我们只能猜测,但假设您将每个算法设为单独的浮点数,那么它将受浮点参数控制。这些参数由类设置(您没有说明您正在使用哪个类),但在文章中,主要参数是
\setcounter{topnumber}{2}
\renewcommand\topfraction{.7}
\setcounter{bottomnumber}{1}
\renewcommand\bottomfraction{.3}
\setcounter{totalnumber}{3}
\renewcommand\textfraction{.2}
\renewcommand\floatpagefraction{.5}
totalnumber
因此,除非您增加或使用[!]
忽略参数的选项,否则一页上不能有超过三个浮点数。
MWE 补充道:
\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\begin{document}
\begin{algorithm}[!t]
\begin{algorithmic}
\Function{ABC}{S}
\If {A}
\State A
\EndIf
\EndFunction
\end{algorithmic}
\end{algorithm}
\begin{algorithm}[!t]
\begin{algorithmic}
\Function{ABC}{S}
\If {A}
\State A
\EndIf
\EndFunction
\end{algorithmic}
\end{algorithm}
\begin{algorithm}[!t]
\begin{algorithmic}
\Function{ABC}{S}
\If {A}
\State A
\EndIf
\EndFunction
\end{algorithmic}
\end{algorithm}
\begin{algorithm}[!t]
\begin{algorithmic}
\Function{ABC}{S}
\If {A}
\State A
\EndIf
\EndFunction
\end{algorithmic}
\end{algorithm}
\begin{algorithm}[!t]
\begin{algorithmic}
\Function{ABC}{S}
\If {A}
\State A
\EndIf
\EndFunction
\end{algorithmic}
\end{algorithm}
\end{document}