用上Latex实现编辑伪代码
交流、咨询,有疑问欢迎添加QQ 2125364717,一起交流、一起发现问题、一起进步啊,哈哈哈哈哈
【需求】在用word写小论文的时候想插入漂亮的伪代码,搜索发现有latex这个排版软件可以实现。
【思路】
1、利用Aurora插件在word中插入对象时打开latex编辑。(这个出现“problems running latex”多种方法均未被解决,遂放弃,仍想试试的见http://hqium.blog.163.com/blog/static/253625026201712110504726/#)
2、利用CTeX里面的WinEdt编辑。(直接用Latex,但怎么将生成的结果导入到word未研究,或者直接用Latex排版小论文)
【下载】
[MiKTeX] https://miktex.org/download
[Aurora2.2] http://www.xiazaiba.com/html/31107.html
[Aurora 2.x keygen] http://download.csdn.net/detail/studentalei/4600437
[CTeX] http://www.ctex.org/CTeXDownload
[algorithm宏包] https://www.ctan.org/
【步骤】
1、如果按照思路1安装前三个,如果按照思路2安装CTeX。
找了一个例子[1],在winedt新建文档,粘贴编码保存,选择XeLaTex运行(首次使用出现了‘algorithm.sty’ not found的问题)
2、所以要给MikTex安装对应宏包(package),利用Miktex Package Manager(在工具栏Tex里面有)找到algorithm自动安装出现一直连不上服务器的问题“The remote package redository is not online.”,后根据知乎[2]改用从本地文件夹安装还是根据博客[3]更换镜像都出现了问题:包括“本地地址does not seem to be a local package repository”、“Windows API error 87: 鍙傛暟閿欒銆?” 【由于最后失败就不详细说明了,可能只是我个人问题,想试试该方法的自行打开文末网址[2][3]】
3、按照【下载】里的地址找到algorithm宏包下载到本地并解压,新建一个文件夹放一下(我的是:E:Miktex_pacalgorithms)
4、打开命令提示符界面(windows+R ,cmd),进入路径(E:,cd Miktex_pacalgorithms),输入”latex algorithms.ins”, 经过一段时间编译,生成algorithm.sty。(下载宏包解压后自带了pdf帮助文档,如果没有就再输入”latex algorithms.dtx”生成)
5、将生成的algorithm.sty文件放到LaTeX能够识别的路径下(我的是”C:CTEXMiKTeXtexlatex”),新建一个文件夹algorithms,放进去。
6、找到MikTex Options(在CTeX的工具栏Tex里面有,或者在开始找到MikTex里面的Setting(Admin)),点击general选项卡的Refresh FNDB按钮,等待~
7、然后重新运行步骤1的编码,成功就会看到工具栏的pdf变成红色,点击打开pdf。(编码例子有中文的,没有显示出来,后续研究)
参考资料:
[1] http://blog.csdn.net/yeyang911/article/details/41758039
[2] https://www.zhihu.com/question/26584112
[3] http://www.nexoncn.com/read/ed4f5ad1d8d480de07e3b3a2.html
[4] http://www.cnblogs.com/csucat/p/5142459.html
【方便附上编码测试】
documentclass[11pt]{article}
usepackage{CJK}
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{CJK*}{UTF8}{gkai}
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 $igets left$
State $jgets middle$
State $kgets 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{CJK*}
end{document}
各位看官老爷,如果觉得对您有用麻烦赏个子,创作不易,0.1元就行了。下面是微信乞讨码:
添加描述
添加描述
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 在Linux下如何根据域名自签发OpenSSL证书与常用证书转换 修改openssl.cnf配置文件创建根证书自签发泛域名证书将crt转pem格式生成 p12 格式的
- CAS 原子操作
- FlutterDojo设计之道—状态管理之路(七)
- Kubernetes K8S之存储ConfigMap详解 通过目录创建通过文件创建通过命令行创建通过yaml文件创建当前存在的ConfigMap使用ConfigMap
- Material Components——Shape的处理
- pandas系列 - (一)明细数据汇总简单场景应用
- Spring系列 SpringMVC的请求与数据响应
- PHP代码审计03之实例化任意对象漏洞
- 最简单入门深度学习
- Redis 字典结构细谈
- 终于弄明白 i = i++和 i = ++i 了
- 更简易的机器学习-pycaret的安装和环境初始化
- 直观讲解一下 RPC 调用和 HTTP 调用的区别!
- pycaret之训练模型(创建模型、比较模型、微调模型)
- 什么是递归,通过这篇文章,让你彻底搞懂递归