LaTeX各种算法排版
1)首先在导言区加入语句:
\usepackage{algorithm}
\usepackage{algorithmic}
2)例1
\begin{algorithm}
\caption{A}
\label{alg:A}
\begin{algorithmic}
\STATE {set $r(t)=x(t)$}
\REPEAT
\STATE set $h(t)=r(t)$
\REPEAT
\STATE set $h(t)=r(t)$
\UNTIL{B}
\UNTIL{B}
\end{algorithmic}
\end{algorithm}
排版结果如下:
3)例2
\begin{algorithm}
\caption{Calculate $y = x^n$}
\label{alg1}
\begin{algorithmic}
\REQUIRE $n \geq 0 \vee x \neq 0$
\ENSURE $y = x^n$
\STATE $y \Leftarrow 1$
\IF{$n < 0$}
\STATE $X \Leftarrow 1 / x$
\STATE $N \Leftarrow -n$
\ELSE
\STATE $X \Leftarrow x$
\STATE $N \Leftarrow n$
\ENDIF
\WHILE{$N \neq 0$}
\IF{$N$ is even}
\STATE $X \Leftarrow X \times X$
\STATE $N \Leftarrow N / 2$
\ELSE[$N$ is odd]
\STATE $y \Leftarrow y \times X$
\STATE $N \Leftarrow N - 1$
\ENDIF
\ENDWHILE
\end{algorithmic}
\end{algorithm}
排版结果如下:
4)\renewcommand 改变现有命令的定义。在导言区加入如下语句:
\renewcommand{\algorithmicrequire}{ \textbf{Input:}} %Use Input in the format of Algorithm
\renewcommand{\algorithmicensure}{ \textbf{Output:}} %UseOutput in the format of Algorithm
使得原来软件包中定义的命令\REQUIRE和\ENSURE显示为Input:和Output:
一个例子如下:
\begin{algorithm}[htb]
\caption{ Framework of ensemble learning for our system.}
\label{alg:Framwork}
\begin{algorithmic}[1] %这个1 表示每一行都显示数字
\REQUIRE ~~\\ %算法的输入参数:Input
The set of positive samples for current batch, $P_n$;\\
The set of unlabelled samples for current batch, $U_n$;\\
Ensemble of classifiers on former batches, $E_{n-1}$;
\ENSURE ~~\\ %算法的输出:Output
Ensemble of classifiers on the current batch, $E_n$;
\STATE Extracting the set of reliable negative and/or positive samples $T_n$ from $U_n$ with help of $P_n$;
\label{ code:fram:extract }%对此行的标记,方便在文中引用算法的某个步骤
\STATE Training ensemble of classifiers $E$ on $T_n \cup P_n$, with help of data in former batches;
\label{code:fram:trainbase}
\STATE $E_n=E_{n-1}\cup E$;
\label{code:fram:add}
\STATE Classifying samples in $U_n-T_n$ by $E_n$;
\label{code:fram:classify}
\STATE Deleting some weak classifiers in $E_n$ so as to keep the capacity of $E_n$;
\label{code:fram:select}
\RETURN $E_n$; %算法的返回值
\end{algorithmic}
\end{algorithm}
排版结果如下:
5)一个例子
\begin{algorithm}[h]
\caption{An example for format For \& While Loop in Algorithm}
\begin{algorithmic}[1]
\FOR{each $i \in [1,9]$}
\STATE initialize a tree $T_{i}$ with only a leaf (the root);\
\STATE $T=T \cup T_{i};$\
\ENDFOR
\FORALL {$c$ such that $c \in RecentMBatch(E_{n-1})$}
\label{code:TrainBase:getc}
\STATE $T=T \cup PosSample(c)$;
\label{code:TrainBase:pos}
\ENDFOR
\FOR{$i=1$; $i<n$; $i++$ }
\STATE $//$ Your source here;
\ENDFOR
\FOR{$i=1$ to $n$}
\STATE $//$ Your source here;
\ENDFOR
\STATE $//$ Reusing recent base classifiers.
\label{code:recentStart}
\WHILE {$(|E_n| \leq L_1 )and( D \neq \phi)$}
\STATE Selecting the most recent classifier $c_i$ from $D$;
\STATE $D=D-c_i$;
\STATE $E_n=E_n+c_i$;
\ENDWHILE
\label{code:recentEnd}
\end{algorithmic}
\end{algorithm}
排版结果如下:
6)开始中头部加入
\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
算法中使用:
\begin{breakablealgorithm}
\caption{Multi task balanced scheduling algorithm}
\label{alg1}
\begin{algorithmic}[1]
%%%REQUIRE 输入
\REQUIRE ~~\\
$G$ = 250;
Size = 30;
CodeL = 10;
\FOR{$i = 1:3$}
\STATE Min $X(i)$ = 0.1 * ones(1);
\STATE Max $X(i)$ = 3 * ones(1);
\ENDFOR
\FOR{$i = 4:1:9$}
\STATE Min $X(i)$ = -3 * ones(1);
\STATE Max $X(i)$ = 3 * ones(1);
\ENDFOR
\FOR{$i = 10:1:12$}
\STATE Min $X(i)$ = -ones(1);
\STATE Max $X(i)$ = ones(1);
\ENDFOR
\STATE $E$ = round(rand(Size,12*CodeL));
\STATE BsJ = 0;
\FOR{$kg = 1:1:G$}
\STATE time(kg) = kg
\FOR{$s$ = 1:1:Size}
\STATE $m = E(s,:)$;
\FOR{$j = 1:1:12$}
\STATE $y(j) = 0;$
\STATE $mj = m((j-1)$ * CodeL + $1:1:j$ * CodeL);
\FOR{$i = 1:1:$CodeL}
\STATE $y(j) = y(j) + mj(i) * 2^(i - 1);$
\ENDFOR
\STATE $f(s,j) =$ (Max $X(j)$ - Min $X(j)$) * $y(j)/1023$ + Min $X(j)$;
\ENDFOR
\STATE $p = f(s,:);$
\STATE [p,BsJ] = fitness(p,BsJ);
\STATE BsJi(s) = BsJ;
\ENDFOR
\STATE [OderJi,IndexJi] = sort(BsJi);
\STATE BestJ(kg) = OderJi(1);
\STATE BJ = BestJ(kg);
\STATE Ji = BsJi + 1e-10;
\STATE fi = 1./Ji;
\STATE [Oderfi,Indexfi] = sort(fi);
\STATE Bestfi = Oderfi(Size);
\STATE BestS = E(Indexfi(Size),:);
\STATE kg
\STATE p
\STATE BJ
\STATE fi\_sum = sum(fi);
\STATE fi\_Size = (Oderfi/fi\_sum) * Size;
\STATE fi\_S = floor(fi\_Size);
\ENDFOR
%%%%%注意下句 ensure 输出
\ENSURE
\STATE kk = 1;
\FOR{$i = 1:1:$Size}
\FOR{$j = 1:1:$fi\_S(i)}
\STATE TempE(kk,:) = E(Indexfi(i),:);
\STATE kk = kk + 1;
\ENDFOR
\ENDFOR
\end{algorithmic}
\end{breakablealgorithm}
样式:
7)例子7
\begin{algorithm}[!htb]
\caption{Low latency video coding rate control algorithm}
\label{alg1}
\begin{algorithmic}[1]
\FOR{$n=1$ to $N$}
\STATE $G n=S B S_{n}$;
\ENDFOR
\STATE $G=\left\{G_{1}, G_{2}, \ldots G_{N}\right\}$
\STATE $N=\{G, G, \ldots, G\}$
\WHILE{The minimum value of $L$ is less than $K$}
\STATE Find out the subscripts of the two groups corresponding to the minimum value of $n^{*}, m^{*}$;
\STATE $G_{m^{*}}$ and $G_{n^{*}}$ were removed from $G$;
\STATE Merge $\left\{G_{n^{*}}, G_{m^{*}}\right\}$ into $G$;
\STATE Reset $L$ to null;
\FOR{$G_{n} \subset G$ and $n>0$}
\FOR{$G_{m} \subset G$ and $m>n$}
\STATE $L^{\prime} \leftarrow L\left(G_{n}, G_{m}\right)$; $m$\hspace{2pt}-\hspace{-2pt} -; $n$\hspace{2pt}-\hspace{-2pt} -
\ENDFOR
\ENDFOR
\ENDWHILE
\ENSURE group set $G$;
\end{algorithmic}
\end{algorithm}
样式:
LaTeX各种算法排版相关推荐
- 【Latex】算法排版规律(中文排版)
参考资料: <algorithm, algorithmic算法包到底什么区别?> <Latex写算法的伪代码排版> <Latex 编写算法伪代码,基于algorithmi ...
- LaTex:算法排版
排版可能需要的包: usepackage{algorithm} //format of the algorithm usepackage{algorithmic} //format of the al ...
- latex排版原理 常用算法排版伪代码模块 添加注释以及注意事项
首先说一下latex关于排版的内部原理 latex的文档由两样元素组成: 字符文本,就是我们写进去的文字内容 浮动体,默认 figure 和 table,但是我们可以定义额外的浮动体类型,比如algo ...
- LaTex(论文排版)的使用心得及入门教程
前言 最早接触到LaTex,就是要发论文的时候,之前只知道这是别人推荐的论文编译软件,不同于富文本语言,类似于Markdown格式,是一种文本标记语言,排版真的非常方便.美观,完爆Word,瞬间感觉使 ...
- Latex论文写作排版遇到的问题
字体缩放 \resizebox{0.8\width}{!}{$\displaystyle\int_a^b f(x)dx$} %宽度一定,高度默认 \resizebox{0.8\width}{0.8 ...
- LaTeX论文自动化排版
本文介绍了LaTeX的一些基本知识,重点描述了LaTeX论文自动化排版的一些核心技巧,帮助读者朋友们提高写作的效率和自动化程度. 1. LaTeX的基本介绍 在介绍LaTeX前,必须先了解一下TeX及 ...
- latex中算法命令_比较Java 8中的命令式和功能性算法
latex中算法命令 Mario Fusco受欢迎的推文令人印象深刻,显示了类似算法的命令性和功能性方法之间的主要区别实际上是: 势在必行–功能分离pic.twitter.com/G2cC6iBkDJ ...
- LaTeX 参考文献的排版与引用
6. LaTeX 参考文献的排版与引用_Training.L的博客-CSDN博客_latex参考文献格式
- Latex——伪代码算法
一般在论文的写作中,需要有算法流程图,现讲述两种伪代码算法流程图的实现:algorithm,algorithme2 第一个:algorithm %导包 \usepackage{algorithm} \ ...
- latex 论文算法编辑
论文算法编辑 在使用latex书写算法流程时,建议使用包algorithm2e. 源码如下 \documentclass{ctexart}%\usepackage[noend]{algpseudoco ...
最新文章
- PostgreSQL 10.1 手册_部分 II. SQL 语言_第 5 章 数据定义_5.5. 修改表
- VS调试启动编辑并继续功能
- 2020年中国美好消费趋势报告
- 微信微调助手WeChatTweak for mac(微信多开和防撤回工具)最新版
- 大型网站架构的演化[转]
- ms17-010 php版本,MS17-010补丁360版
- ARM指令集详解(超详细!带实例!)
- python数据标注工具_数据标注|分享9个数据标注工具
- 记一次网易云解锁灰色音乐代理异常
- 笔记本连接显示器后没有声音_电脑连接HDMI电视/显示器后没声音怎么解决
- Downward paths
- wxpy将个人微信号变成微信聊天机器人
- 流放者柯南自建服务器 linux,《流放者柯南》自建服务器教程一览 服务器搭建方法介绍...
- 2022年外贸公司邮箱签名怎么设置?
- OpenGL 与显卡
- linux vim 编辑 保存 退出
- 计算机英语发展,计算机发展史(英语版)
- Vue报错: Error compiling template:
- overridePendingTransition设定两个activity之间的转场动画没有效果,但不报错! (大神帮帮我吧,代码如下,谢谢)
- 服务器开机提示系统初始化失败,Win7开机提示交互式登录进程初始化失败怎么解决...
热门文章
- 基于E-Mail的隐蔽控制:机理与防御
- python查询12306余票_【python】用GUI编写一个12306余票查询的系统,附源码
- kdc服务器密码修改,KDC服务安装及配置 · ZHY ZONE
- 金阊oracle服务器,配置 KDC 服务器
- KUI-金山界面库 自定义消息
- 22个常用Python包,相信你一定用的到!
- 【网络安全】前端程序员务必掌握的图片防盗链
- maven报错The JAVA_HOME environment variable is not defined correctly
- 修改电脑IP地址和MAC地址
- 详解谷歌VR平台Daydream:有手柄就是不一样