很长的算法如何自动分成多页?

很长的算法如何自动分成多页?

我有一个很长的算法,跨越了好几页。我无法用 Latex 让它跨越好几页。我知道已经有人问过几个类似的问题,但我在任何一个问题中都找不到我想要的答案。

我的算法包括几个步骤,每个步骤都在一个算法环境中描述,所有这些步骤都嵌套在一个算法环境中,如下面的 MWE 所示:

\begin{algorithm*}[!h]
  \caption*{\textbf{Algorithm}}
  \textbf{1)} Step 1
  \begin{algorithmic}[1]
      \State \textit{code}
      \State \textit{pseudo code
      \begin{itemize}
        \item{item 1}
        \item{Item 2}
      \end{itemize}         
  \end{algorithmic}

  \textbf{2)} Step 2

  \begin{algorithmic}[1]
    \State \textit{code}
    \State \textit{code}
  \end{algorithmic}


  \textbf{3)} Step 3
      \begin{algorithmic}
        ...
   \end{algorithmic}


\end{algorithm*}

我在一份很长的文档里包含了很多算法,而且我经常需要对文档进行修改(插入和删除文本、图形等),所以我正在寻找一个自动的Latex 将算法分成多页的方式,使我能够分多个步骤展示我的算法,如上面的 MWE 所示。

欢迎任何帮助。

答案1

从您的命令来看,您正在使用定义的\Statealgorithmicxalgorithmic\STATE

在此处输入图片描述

\documentclass{article}
\usepackage{algorithmicx}

\addtolength\textheight{-32\baselineskip}
\addtolength\paperheight{-32\baselineskip}
\pdfpageheight\paperheight
\renewcommand\labelenumi{\textbf{\theenumi) }}
\begin{document}

\subsection*{Algorithm}

\begin{enumerate}
\item  Step aaa
  \begin{algorithmic}[1]
      \State \textit{code}
      \State \textit{pseudo code}
      \begin{itemize}
        \item{item 1}
        \item{Item 2}
      \end{itemize}         
      \State \textit{pseudo code}
      \begin{itemize}
        \item{item 1}
        \item{Item 2}
      \end{itemize}         
  \end{algorithmic}

\item Step bbb

  \begin{algorithmic}[1]
    \State \textit{code}
    \State \textit{code}
    \State \textit{code}
    \State \textit{code}
    \State \textit{code}
  \end{algorithmic}


\item Step ccc
      \begin{algorithmic}
    \State \textit{code}
   \end{algorithmic}
\end{enumerate}

\end{document}

相关内容