【Latex】算法排版规律(中文排版)

这篇具有很好参考价值的文章主要介绍了【Latex】算法排版规律(中文排版)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考资料:

  • 《algorithm, algorithmic算法包到底什么区别?》
  • 《Latex写算法的伪代码排版》
  • 《Latex 编写算法伪代码,基于algorithmicx包的使用说明(人工翻译自CTAN)》
  • 《latex排版原理》

一、中文排版

1.1 准备工作

  1. 设置字符编码为中文排版
\usepackage[UTF8]{ctex}%%%使用中文

UTF8指的是编码包;ctex是参数命令,表示中文排版

%%cetex中提供了四种中文包:ctexart,ctexrep,ctexbook,ctexbeamer对应着article,repoter,book,beamer 具体见:《CTex宏集手册》
【Latex】算法排版规律(中文排版)

  1. 引入算法包,都写上
\usepackage{algorithm}  
\usepackage{algorithmicx} %或者\usepackage{algorithmic}
\usepackage{algpseudocode}
  • algorithm : 算法的float warpper,类似于table, figure这样的们命令,你可以在你的表格/图形上加一个数字,防止它被分成两页.
  • algorithmicx: 是algorithmic的升级版。事先已经定义好一些常用的命令语句,有如IF,WHILE等。需要注意的是所有命令语句必须大写。此外,(升级版)自定义一些命令。
  1. 算法中可用用到特殊的数学公式或者符号
\usepackage{amsmath,amssymb,amsfonts}

举例
【Latex】算法排版规律(中文排版)
4. 利用\renewcommand可以对系统已有的命令重新定义
英文举例
【Latex】算法排版规律(中文排版)

  • algorithmicrequirealgorithmic中的原有命令,require意为要求
  • algorithmicensurealgorithmic中的原有命令,ensure意为确保
  • \textbf是字体加粗命令
  • 黄线下标的Input:是新命令的名称
    效果图如下
    【Latex】算法排版规律(中文排版)
    中文的命令重新定义为
\renewcommand{\algorithmicrequire}{\textbf{输入:}}  
\renewcommand{\algorithmicensure}{\textbf{输出:}}

1.2 排版

一个栗子

\begin{document}

    \begin{algorithm}  %生成浮动式图
        \caption{DBSCAN 伪代码}  %标题
        % 由algorighmic完成代码的编译部分
        \begin{algorithmic}[1] %[1]表示每行显示行号 ,且由123..排序 
            \Require 点集ps,邻域半径eps,邻域的最小个数MinP.
            \Ensure 簇 cl.
            \For {q in ps} 
            \State 标记q为unvisited(未拜访的)
            \EndFor
            
            \For {q in ps }
               \If {q 的标记为visited 或者 q 属于任意簇}:
               \State 跳过(continue)
               \Else:
                    \If {q 是 cp(核心点)}
                        \State 标记q为visited.且创造一个新簇 cl
                        \For {p 是 q的$\epsilon$的邻域内的点(p $\in n_{\epsilon}(q)$ )}
                        
                              \If {p 的标记为unvisited}
                              \State 将p放入簇cl中
                              \EndIf
                        \EndFor
                    \EndIf
               \EndIf
            \EndFor

           \State Return 簇 cl

    \end{algorithmic}
    \end{algorithm}
    
\end{document}

图示:

【Latex】算法排版规律(中文排版)

1.3 循环模块语句的书写

A. For语块

\For{<text1>}
    \State 循环主体
    <body>
\EndFor

【Latex】算法排版规律(中文排版)

\ForAll{<text2>}
    \State 循环主体
    <body>
\EndFor

【Latex】算法排版规律(中文排版)

\For{$i\gets 1, n$} %%%\gets表示逆箭头
    \State $sum\gets sum+i$ 
\EndFor

【Latex】算法排版规律(中文排版)

B. While语块

\While{<text1>}
   \State 循环主体,类似于For
    <body>
\EndWhile

【Latex】算法排版规律(中文排版)

    \State $sum\gets 0$ (初始设置sumw为0)
    \State $i\gets 1$ (初始设置i为1)
\While{$i\le n$}
    \State $sum\gets sum+i$
    \State $i\gets i+1$
\EndWhile

【Latex】算法排版规律(中文排版)

C. Repeat语块

\Repeat
    \State 循环主体在前,条件判断在后
    <body>
\Until{<text2>}

【Latex】算法排版规律(中文排版)

    \State $sum\gets 0$ (初始设置sumw为0)
    \State $i\gets 1$ (初始设置i为1)
\Repeat
    \State $sum\gets sum+i$
    \State $i\gets i+1$
\Until{$i>n$}

【Latex】算法排版规律(中文排版)

1.4 条件模块的语句书写

\If{$quality\ge 9$}
    \State $a\gets perfect$
\ElsIf{$quality\ge 7$}
    \State $a\gets good$
\ElsIf{$quality\ge 5$}
    \State $a\gets medium$
\ElsIf{$quality\ge 3$}
    \State $a\gets bad$
\Else
    \State $a\gets unusable$
\EndIf

【Latex】算法排版规律(中文排版)

1.5 输入输出语句

\Require something
\Ensure something
    \Statex
\State \Call{Create}{10}

【Latex】算法排版规律(中文排版)

1.6 Procedure语块

\Procedure{<name>}{<params>}
    <body>
\EndProcedure

其他的见参考资料文章来源地址https://www.toymoban.com/news/detail-400516.html

到了这里,关于【Latex】算法排版规律(中文排版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 资料与参考

    资料: 本书(《Python神经网络编程》)的资料是使用Jupyter notebooks写的,本人并不擅长使用Jupyter,所以用传统py重写了一遍,并附加了新功能(即多数字识别),现将Jupyter版和py版连带本书pdf一并上传至gitee,地址:python-neuralNetwork-coding: 《Python神经网络编程》pdf和随书源码,

    2024年02月11日
    浏览(60)
  • Fast Planner——代码解读参考资料整理

    参数解读 主要函数解读 概率栅格地图,概率更新过程的公式推导过程 全概率公式、贝叶斯公式 一. kinodynamic a_star(前端hybrid A_star动力学路径搜索) 1.1启发函数的计算 1.2 Compute shot Traj 1.3 节点扩张 1.4 节点剪枝 1.5 返回kinopath与 getsamples 二、B样条曲线设置 2.1 均匀B样条设置

    2024年02月05日
    浏览(93)
  • [渝粤教育] 中国人民警察大学 工业企业防火 参考 资料

    教育 -工业企业防火-章节资料考试资料-中国人民警察大学【】 随堂测验 1、【判断题】工业企业的火灾特点是涉及行业种类繁多,涉及到社会生活的方方面面。 A、正确 B、错误 参考资料【 】 2、【判断题】工业企业的火灾特点是物资集中,存在各种形式的点火源,发生火灾

    2024年02月02日
    浏览(58)
  • [渝粤教育] 辽宁对外经贸学院 数字新技术 参考 资料

    教育 -数字新技术-4-章节资料考试资料-辽宁对外经贸学院【】 第一单元测验 1、【单选题】1. 云计算是对(D)技术的发展与运用 云计算是对( )技术的发展与运用。 A、并行计算 B、网格计算 C、分布式计算 D、三个选项都是 参考资料【 】 2、【单选题】从研究现状上看,下

    2023年04月25日
    浏览(93)
  • 【Python NLTK】零基础也能轻松掌握的学习路线与参考资料

    Python 自然语言处理工具包(Natural Language Toolkit,简称 NLTK)是一款 Python 的库,主要用于处理自然语言的相关问题,如文本清洗、标记化、分词、语义分析、词性标注、文本分类等功能,是数据科学家和机器学习工程师不可或缺的工具之一。 本文将介绍学习 Python NLTK 的路线,

    2024年02月07日
    浏览(64)
  • 【Python psycopg2】零基础也能轻松掌握的学习路线与参考资料

    Python psycopg2是一个Python库,在Python中提供了一个连接PostgreSQL数据库的接口。它可以让Python应用程序和PostgreSQL数据库之间进行通信和数据传输。学习Python psycopg2的路线和教程可以在查阅资料和实践中快速入门。 一、学习前置知识 学习Python psycopg2需要一定的前置知识,如Pytho

    2024年02月05日
    浏览(49)
  • 【Python Cookie 和代理 IP】零基础也能轻松掌握的学习路线与参考资料

    一、Python Cookie 1、什么是Cookie? Cookie是一种在客户端保存数据的机制,服务器通过在HTTP响应头中添加Set-Cookie头实现。浏览器在接收到响应头中的Set-Cookie后,会将这个Cookie保存在本地。之后每次请求都会将本地保存的Cookie自动添加到请求头中,发送给服务器。 2、为什么需要

    2024年02月05日
    浏览(49)
  • java工程师面试技巧和方法,这份Github标星50K,相关资料参考

    Dubbo 为什么要用 Dubbo? Dubbo 的整体架构设计有哪些分层? 默认使用的是什么通信框架,还有别的选择吗? 服务调用是阻塞的吗? 一般使用什么注册中心?还有别的选择吗? 默认使用什么序列化框架,你知道的还有哪些? 服务提供者能实现失效提出是什么原理? 服务上线怎么

    2024年04月16日
    浏览(56)
  • 基于JAVA高校校园学习资料共享系统 设计与实现(springboot框架) 参考文献

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年01月19日
    浏览(48)
  • 基于python影视电影点评系统设计与实现:开题报告、成品参考、毕设辅导资料

     博主介绍: 《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、PPT、论文模版

    2024年02月05日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包