LaTeX手动安装宏包(package)以及生成帮助文档的整套流程
注意:版权所有,转载请注明出处。
我使用的是ctex套装,本来已经自带了许多package,但是有时候还是需要使用一些没有预装的宏包,这时就需要自己安装package了。下载package可以从CTAN(Comprehensive TeX Archive Network)下载,网址是https://www.ctan.org/。下载下来的宏包,有的直接包含.sty 文件(.sty文件就是package的最终形式);有的下载下来只包含了.ins, .dtx,以及一个readme文件,这时需要自己编译生成.sty文件,以及生成相应的manual。下面详细介绍生成.sty文件以及帮助文档的步骤。
以下步骤的前提是你已经安装好了ctex,并且MikTex的可执行程序已经加入了系统的环境变量中(PATH),另外我的系统的win 8.1,win 7应该也是一样的。
第一步:下载宏包,解压,不赘述,下载地址https://www.ctan.org/pkg,我下在的一个宏包名称是qrcode,是用来生成二维码的,以这个宏包的编译为例来讲解。
第二步:找到你的解压后安装包地址,在我的电脑上是“E:\LaTeX_package\qrcode”, 然后打开电脑的命令提示符界面,把当前的路径改到这个package所在的文件夹,也就是“E:\LaTeX_package\qrcode”
第三步:生成qrcode.sty,在命令提示符界面输入”latex qrcode.ins”, 经过一段时间编译,qrcode.sty就生成了;然后接着生成帮助文档manual, 在命令提示符界面输入” latex qrcode.dtx”,编译完成以后,会生成一个叫做qrcode.dvi的文件,这个文件也可以用ctex自带的yap程序打开,不过不是很方便,所以最好还是把它转为pdf格式,分为两部,先输入 “dvips qrcode.dvi”,生成qrcode.ps文件,再输入”ps2pdf qrcode.ps”,最终就生成了qrcode.pdf的帮助文档,可以打开查看这个package的基本用法,命令的格式等。最终完成的样子如下

第四步:生成qrcode.sty文件以后还需要把这个文件放到LaTeX能够识别的路径下,在ctex下,这个路径样子以我的电脑为例,是”D:\Program Files\CTEX\MiKTeX\tex\latex”,你可以在这个路径下建立一个文件夹,譬如qrcode,然后把qrcode.sty放到这里,接着在你的电脑里找到MikTex的settings这个程序,settings有两个,选择后面括号里有admin的那个,打开以后,在general选项卡下有Refresh FNDB按钮,点击,过一会,这个package就会加入MikTex的路径中,然后在你的tex文件中就可以使用这个package了


利用这个宏包,最后可以生成文本对应的二维码,
代码如下
\documentclass{article}
\usepackage{qrcode}
\begin{document}
This is a qrcode for Google HK.
\qrcode{https://www.google.com.hk/}
\end{document}
最后生成的二维码如下,其他宏包的安装应该都是类似操作的。Happy TeXing!

参考资料
1,关于如何安装宏包的文章,http://www.xuebuyuan.com/1673310.html
2,上一篇文章提到的wiki,https://en.wikibooks.org/wiki/LaTeX/Installing_Extra_Packages
3,如何把dvi文件转为pdf的帖子,http://tex.stackexchange.com/questions/150182/dvi-to-pdf-convertor
LaTeX手动安装宏包(package)以及生成帮助文档的整套流程的更多相关文章
- Windows 下 LaTeX 手动安装宏包(package)以及生成帮助文档的整套流程
本文简单介绍如何手动安装一个 LaTeX 宏包. 一般来说,下载的 TeX 发行版已经自带了很多宏包,可以满足绝大部分需求,但是偶尔我 们也可能碰到需要使用的宏包碰巧没有安装的情况,这时我们就需要自己 ...
- LaTeX-手动安装宏包(package)以及生成帮助文档的整套流程
我使用的是ctex套装,本来已经自带了许多package,但是有时候还是需要使用一些没有预装的宏包,这时就需要自己安装package了.下载package可以从CTAN(Comprehensive T ...
- [Django REST framework - 自动生成接口文档、分页]
[Django REST framework - 自动生成接口文档.分页] 自动生成接口文档 # 后端人员写好接口,编写接口文档,给前端人员看,前端人员依照接口文档开发 # 公司里主流 -后端,使用w ...
- Codeigniter项目使用phpDocumentor生成api文档
前言 运行环境: vagrant 2.2.4 virtualbox 6.0 box bento/ubuntu-16.04 (Apache 2.4.18 + Mysql 5.7.26 + PHP 5.6 ...
- LaTeX的一些宏包及细节知识
文章来源:LaTeX的一些宏包及细节知识http://blog.chinaunix.net/uid-20289887-id-1710422.html ps:我的机器上软件并不能直接运行通,下面“代码” ...
- LaTeX使用titlesec宏包改变章节编号形式的方法
1.titleformat宏包命令详解 LaTeX中可以用titlesec宏包中的titleformat命令来改变标题形式: 导入宏包: \usepackage{titlesec} 改变标题的代码如下 ...
- Linux系统手动安装rpm包依赖关系分析(以Kernel升级为例)
有在Linux系统中安装软件的经历的人都知道,在Linux系统中手动安装软件不想在Windows下安装软件那么方便,直接双击,然后下一步下一步就可以把软件成功的装入到系统中,而在Linux系统中,安装 ...
- Confluence 6 手动安装语言包和找到更多语言包
手动安装语言包 希望以手动的方式按照语言包,你需要按照下面描述的方式上传语言包.一旦你安装成功后,语言包插件将会默认启用. 插件通常以 JAR 或者 OBR(OSGi Bundle Repositor ...
- PyCharm虚拟环(Project Interpreter)手动安装第三方包图解教程
PyCharm虚拟环(Project Interpreter)手动安装第三方包图解教程 an鑫_wolfxin2010 关注 2018.03.13 21:58* 字数 313 阅读 3782评论 1喜 ...
随机推荐
- hibernate - 何时关闭数据库
ref: http://www.coderanch.com/t/637103/ORM/databases/close-database-connection-hibernate 我上这个问题, 原因是 ...
- jQuery easyUI框架中经常出现的问题
相信开发者对于我们jquery来说都不会陌生吧,jquery为我们的开发提供了很多各式各样的库,满足各种开发的需求,其中我们知道的有轻量级的,但是也有一些基于富客服端的一些重量级库,顾名思义,当我们在 ...
- PAT_1018 锤子剪刀布
问题描述 大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜.平.负次数,并且给出双方分别出什么手势的胜算最大. 输入格式: 输入第1行给出 ...
- MySQL全文检索笔记 转载
1. MySQL 4.x版本及以上版本提供了全文检索支持,但是表的存储引擎类型必须为MyISAM,以下是建表SQL,注意其中显式设置了存储引擎类型 CREATE TABLE articles ( id ...
- Angular简单应用剖析
这一篇我们将一起感受学习一个小型的.活生生的应用,而不是继续深入分析哪些单个的特性.我们将会一起感受一下,前面所讨论过的所有片段如何才能真正的组合在一起,形成一个真实的.可以运行的应用. GutHub ...
- linux自定义开机启动服务
转 http://www.cnblogs.com/jimeper/archive/2013/03/12/2955687.html 手工创建服务 1.在/etc/rc.d/init.d目录下创建shel ...
- JavaScript学习心得(二)
一选择DOCTYPE DOCTYPE是一种标准通用标记语言的文档类型声明,目的是告诉标准通用标记语言解析器使用什么样的文档类型定义(DTD)来解析文档. 网页从DOCTYPE开始,即<!DOCT ...
- uboot 连接脚本分析
一.脚本分析 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm ...
- Entity Framework 实践系列 —— 搞好关系 - 单相思(单向一对一,one-to-one)【转】
原以为躲入代码世界,就可以不用搞关系,哪知“关系无处不在”.写代码多年之后,终于明白“面向对象的关键是搞好对象之间的关系”.而Entity Framework作为ORM中的明日之星,首当其冲的使命就是 ...
- C语言之 短路原则
a=0;b=1 c=a&&(b=3) 最终c=0; b=1 因为从左至右进行时,若遇到运算符左边的操作数是 0(逻辑假),则停止运算. a=1;b=1;c=0; d=a||b||(c= ...