Latex语法学习05:代码表格的制作
有时候我们需要在文档中加入源代码,这里给出一个代码示例,供大家参考。
案例1:algorithm宏包
1 源代码
\documentclass{article}
\setlength\textwidth{245.0pt}
\usepackage[noend]{algpseudocode}
\usepackage{algorithm}\begin{document}\begin{algorithm}[t]\caption{algorithm caption} %算法的名字\hspace*{0.02in} {\bf Input:} %算法的输入, \hspace*{0.02in}用来控制位置,同时利用 \\ 进行换行input parameters A, B, C\\\hspace*{0.02in} {\bf Output:} %算法的结果输出output result\begin{algorithmic}[1]\State some description % \State 后写一般语句\For{condition} % For 语句,需要和EndFor对应\State ...\If{condition} % If 语句,需要和EndIf对应\State ...\Else\State ...\EndIf\EndFor\While{condition} % While语句,需要和EndWhile对应\State ...\EndWhile\State \Return result\end{algorithmic}
\end{algorithm}\end{document}
2 代码效果
案例2:带公式的算法伪代码
1 源代码
\documentclass[11pt]{ctexart}
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
\usepackage{algorithm}
\usepackage{algorithmicx}
\usepackage{algpseudocode}
\usepackage{amsmath}\floatname{algorithm}{算法}
\renewcommand{\algorithmicrequire}{\textbf{输入:}}
\renewcommand{\algorithmicensure}{\textbf{输出:}}\begin{document}\begin{algorithm}\caption{用归并排序求逆序数}\begin{algorithmic}[1] %每行显示行号\Require $Array$数组,$n$数组大小\Ensure 逆序数\Function {MergerSort}{$Array, left, right$}\State $result \gets 0$\If {$left < right$}\State $middle \gets (left + right) / 2$\State $result \gets result +$ \Call{MergerSort}{$Array, left, middle$}\State $result \gets result +$ \Call{MergerSort}{$Array, middle, right$}\State $result \gets result +$ \Call{Merger}{$Array,left,middle,right$}\EndIf\State \Return{$result$}\EndFunction\State\Function{Merger}{$Array, left, middle, right$}\State $i\gets left$\State $j\gets middle$\State $k\gets 0$\State $result \gets 0$\While{$i<middle$ \textbf{and} $j<right$}\If{$Array[i]<Array[j]$}\State $B[k++]\gets Array[i++]$\Else\State $B[k++] \gets Array[j++]$\State $result \gets result + (middle - i)$\EndIf\EndWhile\While{$i<middle$}\State $B[k++] \gets Array[i++]$\EndWhile\While{$j<right$}\State $B[k++] \gets Array[j++]$\EndWhile\For{$i = 0 \to k-1$}\State $Array[left + i] \gets B[i]$\EndFor\State \Return{$result$}\EndFunction\end{algorithmic}\end{algorithm}
\end{document}
代码运行效果
案例3:带范围线版本
源代码
\documentclass[8pt,twocolumn]{ctexart}
\usepackage{amssymb}
\usepackage{bm}
\usepackage{textcomp} %命令\textacutedbl的包,二阶导符号% Page length commands go here in the preamble
\setlength{\oddsidemargin}{-0.25in} % Left margin of 1 in + 0 in = 1 in
\setlength{\textwidth}{9in} % 纸张宽度Right margin of 8.5 in - 1 in - 6.5 in = 1 in
\setlength{\topmargin}{-.75in} % Top margin of 2 in -0.75 in = 1 in
\setlength{\textheight}{9.2in} % Lower margin of 11 in - 9 in - 1 in = 1 in
\setlength{\parindent}{0in}\makeatletter
\newif\if@restonecol
\makeatother
\let\algorithm\relax
\let\endalgorithm\relax
\usepackage[linesnumbered,ruled,vlined]{algorithm2e}%[ruled,vlined]{
\usepackage{algpseudocode}
\renewcommand{\algorithmicrequire}{\textbf{Input:}}
\renewcommand{\algorithmicensure}{\textbf{Output:}} \begin{document}\begin{algorithm}
\caption{component matrices computing}
\LinesNumbered
\KwIn{$\mathcal{X}\in\mathbb{R}^{l_1\times l_2\times\cdots\times l_N},\varepsilon,\lambda,\delta,R$}
\KwOut{$A^{(j)}s$ for $j=1$ to $N$}
\textbf{Initialize} all $A^{(j)}s$ //which can be seen as the $0^{th}$ round iterations\;{$l$\hspace*{-1pt}\textacutedbl}$=L$ //if we need to judge whether $(11)$ is true then {$l$\hspace*{-1pt}\textacutedbl} denotes $L|_{t-1}$\;\For{ each $A_{i_jr}^{<!-- -->{j}}(1\le j\le N,1\le i_j\le I_j,1\le r\le R)$ }
{//$1^{st}$ round iterations\;$g_{i_jr}^{(j)'}=g_{i_jr}^{(j)}$\;$A_{i_jr}^{(j)'}=A_{i_jr}^{(j)}$//if the rollback shown as $(12)$ is needed,$A_{i_jr}^{(j)'}$ denotes $A_{i_jr}^{(j)}|_{t-1}$\;$A_{i_jr}^{(j)}=A_{i_jr}^{(j)}-\mathrm{<!-- -->{\bf sign}}\left(g_{i_jr}^{(j)}\right)\cdot\delta_{i_jr}^{(j)}$\;
}\Repeat(//other rounds of iterations for computing component matrices){$\bm{L\le \varepsilon}$ or maximum iterations exhausted}
{$l'=L$ //if we need to judge whether $(11)$ is true then $l'$ denotes $L|_t$\;\For{ each $A_{i_jr}^{<!-- -->{j}}(1\le j\le N,1\le i_j\le I_j,1\le r\le R)$}{\If{$g_{i_jr}^{(j)}\cdot g_{i_jr}^{(j)'}>0$}{$A_{i_jr}^{(j)'}=A_{i_jr}^{(j)} $\;$g_{i_jr}^{(j)'}=g_{i_jr}^{(j)} $\;$\delta_{i_jr}^{(j)}=\bm{\min}\left(\delta_{i_jr}^{(j)}\cdot\eta^{+},Max\_Step\_Size\right)$\;$A_{i_jr}^{(j)}=A_{i_jr}^{(j)}-\mathrm{<!-- -->{\bf sign}}\left(g_{i_jr}^{(j)}\right)\cdot\delta_{i_jr}^{(j)}$\;}\ElseIf{$g_{i_jr}^{(j)}\cdot g_{i_jr}^{(j)'}<0$}{\If{$l'>l$\hspace*{-1pt}\textacutedbl}{$g_{i_jr}^{(j)'}=g_{i_jr}^{(j)}$\;$A_{i_jr}^{(j)}=A_{i_jr}^{(j)'}$// if $(11)$ is true then rollback as $(12)$\;$\delta_{i_jr}^{(j)}=\bm{\max}\left(\delta_{i_jr}^{(j)}\times\eta^{-},Min\_Step\_Size\right)$\;}\Else{$A_{i_jr}^{(j)'}=A_{i_jr}^{(j)} $\;$g_{i_jr}^{(j)'}=g_{i_jr}^{(j)} $\;$\delta_{i_jr}^{(j)}=\bm{\max}\left(\delta_{i_jr}^{(j)}\cdot\eta^{-},Min\_Step\_Size\right)$\;$A_{i_jr}^{(j)}=A_{i_jr}^{(j)}-\mathrm{<!-- -->{\bf sign}}\left(g_{i_jr}^{(j)}\right)\cdot\delta_{i_jr}^{(j)}$\;}}\Else{$A_{i_jr}^{(j)'}=A_{i_jr}^{(j)} $\;$g_{i_jr}^{(j)'}=g_{i_jr}^{(j)} $\;$A_{i_jr}^{(j)}=A_{i_jr}^{(j)}-\mathrm{<!-- -->{\bf sign}}\left(g_{i_jr}^{(j)}\right)\cdot\delta_{i_jr}^{(j)}$\;}}$l$\hspace*{-1pt}\textacutedbl$=l'$\;
}
\end{algorithm}
\end{document}
代码效果:
参考资料:
LaTeX写伪代码_金良山庄-CSDN博客_latex写代码
Latex语法学习05:代码表格的制作相关推荐
- 【每天1分钟】MarkDown语法学习之插入表格
[每天1分钟]MarkDown语法学习之插入表格 表格是Markdown语法中比较复杂的一个,其语法如下: 表头|条目一|条目二 :---:|:---:|:---: 项目|项目一|项目二 以上标记显示 ...
- LaTeX语法学习(一):数学公式篇
LaTeX语法学习(一):数学公式篇 文章目录 LaTeX语法学习(一):数学公式篇 一.前言 二.数学模式 1.行内公式 2.行间公式 3.公式手动编号 4.公式加粗 5.更改公式字母颜色 三.数学 ...
- latex语法学习(二)
文档和语言的结构 如果排版风格反映了内容的逻辑和语义结构,读者就能看见和感觉到文章的这种脉络. 在latex中段落是最重要的文档单位,我们之所以称之为"文档单位",因为段落是反映一 ...
- Latex语法学习04:参考文献的引用
目录 首先准备bib文件: 1 数字标号型参考文献 2 基于natbib包的参考文献引用 2.1 案例 2.2 命令解析 2.2.1 数字引用格式 2.2.2 错误处理 2.2.3 命令解析 3 引用 ...
- Latex语法学习10:盒子的使用(fbox, tcolorbox, boitee),支持设置颜色和换页
目录 1 \fbox 2 彩色的盒子(可换页) 3 boitee环境 1 \fbox 这段代码主要用到了三个命令: \noindent:表示取消缩进 \textwidth:表示设置盒子宽度为页面宽度 ...
- Latex语法学习08:打通latex、mathml和word公式转换
目录 1 基于工具的转换 1.1 获取mathml源码 1.2 将mathml代码转换为latex 1.3 latex向mathml的转换 1.4 mathml粘贴到word 1.5 word转mat ...
- 3、Latex学习笔记之表格篇
目录 表格 1.基本结构 1.1框架 1.2行高 1.3标题 1.4标签 1.5居中 1.6表格 2.引用表格 3.常见表格类型 3.1三线表 3.2 斜线表头 3.3合并单元格 4.在线表格生成工具 ...
- LaTex自用学习笔记(为论文与数学建模排版准备)——涉及字体、符号、文档结构、插入图片、插入表格、图表浮动、数学公式、矩阵等
目录 简介 字体的设置 符号使用情境 文档结构 插图 1.插图的方法 2.图片的参数 插入表格 图表的浮动体环境 数学公式 矩阵 自定义命令或环境 1.\newcommand和\renewcomman ...
- Latex笔记(一)—— 复杂表格的制作
引言 表格是论文写作中的重要一环,尤其是较为复杂的三线表的制作. 在网上寻找了很久发现没有比较综合的解释方法,因此将查阅的关于复杂三线表的制作的资料总结成了一篇笔记. 由于笔记是用Latex写作的,因 ...
- Markdown语法学习|精简版
markdown语法学习|精简版 文章开头 点击这里回到下方介绍 页面跳转 的阅读位置 点击这里回到下方介绍 toc 的阅读位置 此笔记学习摘抄自Markdown语法大全(超级版),并根据笔者的使用不 ...
最新文章
- 软件开发质量控制-CMMI读后疑问
- Python标准库collections模块的Counter类
- C51语言支持哪些数据类型,C51编译器支持的数据类型(1)
- POJ3320 Jessica's Reading Problem 尺取法
- 计算机综合试验,计算机综合实验1.doc
- 【Java基础】 JQuery的常用操作
- 死循环线程php,QObject的派生类方法实现多线程死循环问题
- python-time模块--pickle模块
- 5款优秀免费在线数据备份/存储工具
- Adobe Experience Cloud落地中国,Adobe、微软与世纪互联共庆三方合作
- 古人用计算机计算图片,人类最早的计算器《算表》如何帮助古人完成计算?
- 通联数据举办公益讲座 探讨金融大数据发展机会
- 京东数据库智能运维平台建设之路
- hls简述(HTTP live Streaming)
- shor 量子算法,合数分解
- linux查看进程号、端口号
- 这可能是全网最详细的计算机网络面经(笔记二)
- PLC编程入门梯形图实例讲解
- 如何营造办公室的友好氛围
- Arduino开发遥控小车(三)基于nRF24L01无线模块实现舵机转向和直流电机调速
热门文章
- 下拉列表dropdown取消默认点击隐藏及修复需要二次点击的方法
- 苹果屏幕上的小圆点_官网新增2个内购软件 ! iOS 14上最值得使用的5个好功能,你都会了吗?...
- java数字时钟界面_Java数字时钟实现代码
- 手机号码格式和邮箱格式校正
- 手机邮箱服务器设置安全类型,手机邮箱设置
- IntelliJ IDEA集成JProfiler,入门教程
- 笔记本计算机无法上无线网络,笔记本电脑连不上无线网络的处理方法
- 在html中函数无效,无法在按钮点击HTML中调用JavaScript函数
- 自用PHP版H5微信公众号吸粉引流的恶搞小游戏 当天收获500+粉丝
- php短信接口怎么用,php短信接口接入详细过程