我有一个很长的算法,跨越了好几页。我无法用 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
从您的命令来看,您正在使用定义的\State
包algorithmicx
algorithmic
\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}