LaTeX伪代码(algorithm)跨页展示

@TOC

LaTeX伪代码(algorithm)分页展示

有些时候,LaTeX中的算法伪代码很长需要跨页展示,如下如图所示

我们只需要在\begin{document}之前定义breakablealgorithm环境,代码如下

% -------------------------允许算法跨页-------------
\makeatletter
\newenvironment{breakablealgorithm}
  {% \begin{breakablealgorithm}
   \begin{center}
     \refstepcounter{algorithm}% New algorithm
     \hrule height.8pt depth0pt \kern2pt% \@fs@pre for \@fs@ruled
     \renewcommand{\caption}[2][\relax]{% Make a new \caption
       {\raggedright\textbf{\ALG@name~\thealgorithm} ##2\par}%
       \ifx\relax##1\relax % #1 is \relax
         \addcontentsline{loa}{algorithm}{\protect\numberline{\thealgorithm}##2}%
       \else % #1 is not \relax
         \addcontentsline{loa}{algorithm}{\protect\numberline{\thealgorithm}##1}%
       \fi
       \kern2pt\hrule\kern2pt
     }
  }{% \end{breakablealgorithm}
     \kern2pt\hrule\relax% \@fs@post for \@fs@ruled
   \end{center}
  }
\makeatother

注意,要在导包部分加入下面命令。

\usepackage{algorithm}  
\usepackage{algorithmic}  
\usepackage{algorithmicx}
\usepackage{algpseudocode}  

然后在要展示算法伪代码的时候,将\begin{algorithm}\end{algorithm}替换成
\begin{breakablealgorithm}\end{breakablealgorithm}, 例如

\begin{breakablealgorithm}%[H]
	\caption{your algorithm}%算法标题
	\begin{algorithmic}[1]%一行一个标行号
	\State \textbf{Given} : Fixed taxi ID $t$, trip request set $P$, distance matrix $D$
	\State \textbf{Given} : tolerance factor $\Delta$, weight matrix $W$
	\State \Return {$\mathcal{U}$}
	\end{algorithmic}
\end{breakablealgorithm}

这样运行就可以了。

  • 18
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值