Latex使用algorithm2e包写伪代码

用Latex写伪代码我们需要用到一个包,Algorithm2e,这个工具包的使用手册下载地址为(http://mlg.ulb.ac.be/files/algorithm2e.pdf)CSDN的链接为()

准备

导入该包

\usepackage[ruled,linesnumbered]{algorithm2e}
  • ruled 是让标题显示在上面,否则算法的标题则在下面。
  • linesnumbered 让算法中显示行号。

这种选项在使用手册的第四页到第六页

基本语法

代码含义
;行末添加分号并自动换行
\caption{输入信息}插入标题
\KwData{输入信息}Data:输入信息
\KwIn{输出入信息}In:输入信息
\KwOut{输出信息}Out:输出信息
\KwResult{输出信息}Result:输出信息
\For{条件}{循环语句}for 条件 do
        循环语句
endo
\If{条件}{肯定语句}if 条件 do
        肯定语句
end
\while{条件}{循环语句}while 条件 then
        循环语句
end
\tcc{注释}/* 注释 */
\tcp{注释}// 注释
\elf{条件}{肯定语句}{否定语句}if 条件 then
        肯定语句
else
        否定语句
end
  • 除了\If, \Else, \ElseIf之外,还有\uIf, \lIf, \uElse, \lElse, \uElseIf, \lElseIf等命令,他们的区别在于

  • \If, \Else, \ElseIf都是会以end结尾
    \uIf, \uElse, \uElseIf, 是不以end结尾的块级元素
    \lIf, \lElse, \lElseIf 是不以end为结尾的行内元素
    在If-else结构中,\eIf 自带else(即 if 和 else 共用一个 end),而只是用 \If 和 \Else 的话则会多出一个end给Else。

基本语法在手册的第六页到第九页。手册写的真的非常详细。

示例

我们还是从手册上摘抄几个例子

示例一

\def\SetClass{article}
\documentclass{\SetClass}
\usepackage[linesnumbered,lined,boxed,commentsnumbered]{algorithm2e}
\begin{document}
\IncMargin{1em}
\begin{algorithm}\SetKwData{Left}{left}\SetKwData{This}{this}\SetKwData{Up}{up}\SetKwFunction{Union}{Union}\SetKwFunction{FindCompress}{FindCompress}\SetKwInOut{Input}{input}\SetKwInOut{Output}{output}\Input{A bitmap $im$ of size $w\times l$}\Output{A partition of the bitmap}\BlankLine\emph{special treatment of the first line}\;\For{$i\leftarrow 2$ \KwTo $l$}{\emph{special treatment of the first element of line $i$}\;\For{$j\leftarrow 2$ \KwTo $w$}{\label{forins}\Left$\leftarrow$ \FindCompress{$Im[i,j-1]$}\;\Up$\leftarrow$ \FindCompress{$Im[i-1,]$}\;\This$\leftarrow$ \FindCompress{$Im[i,j]$}\;\If(\tcp*[h]{O(\Left,\This)==1}){\Left compatible with \This}{\label{lt}\lIf{\Left $<$ \This}{\Union{\Left,\This}}\lElse{\Union{\This,\Left}}}\If(\tcp*[f]{O(\Up,\This)==1}){\Up compatible with \This}{\label{ut}\lIf{\Up $<$ \This}{\Union{\Up,\This}}\tcp{\This is put under \Up to keep tree as flat as possible}\label{cmt}\lElse{\Union{\This,\Up}}\tcp*[h]{\This linked to \Up}\label{lelse}}}\lForEach{element $e$ of the line $i$}{\FindCompress{p}}}\caption{disjoint decomposition}\label{algo_disjdecomp}
\end{algorithm}\DecMargin{1em}
\end{document}

请添加图片描述

示例二

\def\SetClass{article}
\documentclass{\SetClass}
\usepackage[ruled,linesnumbered]{algorithm2e}
\begin{document}\begin{algorithm}\caption{Simulation-optimization heuristic}\label{algorithm}\KwData{current period $t$, initial inventory $I_{t-1}$, initial capital $B_{t-1}$, demand samples}\KwResult{Optimal order quantity $Q^{\ast}_{t}$}$r\leftarrow t$\;$\Delta B^{\ast}\leftarrow -\infty$\;\While{$\Delta B\leq \Delta B^{\ast}$ and $r\leq T$}{$Q\leftarrow\arg\max_{Q\geq 0}\Delta B^{Q}_{t,r}(I_{t-1},B_{t-1})$\;$\Delta B\leftarrow \Delta B^{Q}_{t,r}(I_{t-1},B_{t-1})/(r-t+1)$\;\If{$\Delta B\geq \Delta B^{\ast}$}{$Q^{\ast}\leftarrow Q$\;$\Delta B^{\ast}\leftarrow \Delta B$\;}$r\leftarrow r+1$\;}\end{algorithm}
\end{document}

请添加图片描述

示例三

考虑到可能涉及到中文的伪代码,我们写一下中文的

\documentclass{article}
\usepackage[lined,boxed,commentsnumbered]{algorithm2e}
\usepackage{xeCJK}
\begin{document}\begin{algorithm}[H]\SetAlgoLined\KwResult{怎样使用 algorithm \LaTeX2e }初始化所有寄存器\;\While{永不停止}{读取寄存器值\;\eIf{寄存器值为1}{写日志\;跳出循环\;}{读硬盘\;}}\end{algorithm}
\end{document}

请添加图片描述

其实是一样的,只是部分英文换成了中文。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/352448.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【复杂网络建模】——基于微博数据的影响力最大化算法(PageRank)

&#x1f935;‍♂️ 个人主页&#xff1a;Lingxw_w的个人主页 ✍&#x1f3fb;作者简介&#xff1a;计算机科学与技术研究生在读 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4a…

【Markdown小技巧】 整理小图标和表情符号

&#x1f40b;作者简介&#xff1a;博主是一位.Net开发者&#xff0c;同时也是RPA和低代码平台的践行者。 &#x1f42c;个人主页&#xff1a;会敲键盘的肘子 &#x1f436;座右铭&#xff1a;总有一天你所坚持的会反过来拥抱你。 &#x1f308;写在前面&#xff1a; 让博客变得…

工信部—高级软件开发工程师认证

工业和信息化部教育与考试中心是工业和信息化部直属事业单位&#xff0c;承担计算机技术与软件专业技术资格考试、通信专业技术人员职业水平考试、电子通信行业职业技能鉴定、全国信息技术人才培养工程、产业工人网络平台建设等人才培养选拔工作。 软件工程师(Software Enginee…

EasyCVR视频汇聚智能边缘网关在多平台级联及上下级对接中的应用说明

一、行业背景 近年来&#xff0c;在政务数据共享平台的建设上&#xff0c;对国家、省数据、市数据及区县对接上要求打破“信息孤岛”&#xff0c;拔掉“数据烟囱”&#xff0c;全面打通数据“脉络”的主通道。省市平台“级联对接”工作&#xff0c;由国家数据共享平台、省级数据…

水球图的使用

水球图的使用 注意&#xff1a; echarts-liquidfill3 版本匹配 echarts5 版本&#xff0c;echarts-liquidfill2 版本匹配 echarts4 版本 npm install echarts-liquidfill2.0.2 --savevue代码演示&#xff1a; <template> <div class"com-container">…

python制作水球图

水球图是一种适合于展现单个百分比数据的图表类型&#xff0c;pyecharts模块能够非常方便画出水球图&#xff0c;进而实现酷炫的数据展示效果。 下面给大家介绍一下常见水球图的实现方法&#xff1a; 一、基本水球图 from pyecharts import options as opts from pyecharts.cha…

vue3实现水球图

水球图实现的方式有很多种&#xff0c;譬如&#xff1a; a.通过canvas 的sin 绘制水波实现 b.通过canvas的贝塞尔曲线实现水波 c.通过echarts的echarts-liquidfill水球图插件实现 canvas手写水球图确实也不难&#xff0c;只不过效果没有使用echarts-liquidfill插件的好&…

动态水球效果

&#xff08;1&#xff09;首先画出两条虚线之间的弧&#xff0c;以左上的那个点为原点 <div class"wave"></div> .wave { height: 100px; background-color: rgb(125, 242, 142); margin-top…

echart-水球图

Echarts学习之——水球图(echarts-liquidfill) ​ 水球图(Liquid Fill Chart)是填充仪表盘的一种,适合于展现单个百分比数据的图表类型。一般用以于显示利润,回款等财务指标。 安装 npm i echarts npm i echarts-liquidfill注意&#xff1a;echarts-liquidfill3版本匹配echar…

echarts 水球示例

使用echarts水球要先安装水球的依赖。 npm i echarts-liquidfill 代码&#xff1a; // import Common from "./common";import * as echarts from "echarts"; import "echarts-liquidfill/src/liquidFill.js";// ecahrts的水球 export defaul…

echarts-liquidfill 水球图使用

下载及文档&#xff1a;https://github.com/ecomfe/echarts-liquidfill#api 下载好之后把 echarts-liquidfill.js 导入项目即可 水球图支持非常高度定制化的需求&#xff0c;包括颜色&#xff08;color&#xff09;、大小&#xff08;radius&#xff09;、波的振幅&#xff…

android 动态水球,Canvas 制作动态进度加载水球详解及实例代码

Canvas 动态进度加载水球 前言 之前看到一些球型的动态加载的效果&#xff0c;一直想自己动手做一个&#xff0c;正好这段时间重温了一个Canvas&#xff0c;所以就尝试了一下。 实现思路 关于水波的实现&#xff0c;使用了sin()函数&#xff0c;通过每一帧不断的移动sin()函数曲…

CSS动态能量加载水球

效果如下&#xff1a; 相关代码&#xff1a; 由于水面上升的高度是动态传值控制&#xff0c;所以水面上升和波动的动画需通过js添加。 HTML&#xff1a; <div class"crystal"><div class"box"><div class"wave"></div&g…

自定义水球

效果图&#xff1a; 这里的水波纹效果实际上是用得到了数学里的正弦函数,关于正弦函数&#xff1a; 正弦型函数解析式&#xff1a;yAsin&#xff08;ωxφ&#xff09;h 各常数值对函数图像的影响&#xff1a; φ&#xff08;初相位&#xff09;&#xff1a;决定波形与X轴位置…

d3js 实现水球图

d3js 源码地址&#xff1a;: http://bl.ocks.org/brattonc/5e5ce9beee483220e2f6 官方提供的代码不能直接用&#xff0c;版本3.x 这是调整后v5能使用的。 <!DOCTYPE html> <html><head><meta charsetutf-8><meta http-equivX-UA-Compatible conte…

echarts 画动态水球

前言 在对一些需要存放液体的工厂进行开发基于物联网传感器的监控平台时&#xff0c;经常需要监控 该蓄水池当前所处的容量占比为多少。 以达到随时调整其蓄水量的目的。接下来我们看 一下一些常见的水球项目。 有这样的&#xff1a; 这样的&#xff1a; 甚至还有这样的&…

ECHARTS 水球图

转载编辑。 原作者链接地址&#xff1a;https://zhuanlan.zhihu.com/p/25353670?group_id827655855632715776 水球图是一种适合于展现单个百分比数据的图表类型&#xff0c;ECharts 的水球图插件使你能够通过非常简单的配置&#xff0c;实现酷炫的数据展示效果。 第一步&…

echarts 水球图

// ECharts 水球图插件&#xff0c;需要额外插件脚本&#xff0c;参见上方“脚本” // 完整配置参数参见&#xff1a;https://github.com/ecomfe/echarts-liquidfillvar option {series: [{type: liquidFill,data: [0.6, 0.5, 0.4, 0.3],radius: 40%,shape: diamond,center: […

从0到1:如何建立一个大规模多语言代码生成预训练模型

国产AI辅助编程工具CodeGeeX是一个使用AI大模型为基座的辅助编程工具&#xff0c;帮助开发人员更快的编写代码。可以自动完成整个函数的编写&#xff0c;只需要根据注释或Tab按键即可。它已经在Java、JavaScript和Python等二十多种语言上进行了训练&#xff0c;并基于大量公开的…

【Python】打包与发布(Packaging and distributing projects)

以Unix/macOS系统为例。 前提准备&#xff1a;确保pip为最新版本&#xff0c;可使用以下命令来更新pip&#xff1a; python3 -m pip install --upgrade pip一、创建一个简单的项目 我们在目录packaging_tutorial下进行操作。 项目名称为&#xff1a;example_package_wayne。 …