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
本文转载自:http://www.cnblogs.com/csucat/p/5142459.html
LaTeX-手动安装宏包(package)以及生成帮助文档的整套流程的更多相关文章
- Windows 下 LaTeX 手动安装宏包(package)以及生成帮助文档的整套流程
本文简单介绍如何手动安装一个 LaTeX 宏包. 一般来说,下载的 TeX 发行版已经自带了很多宏包,可以满足绝大部分需求,但是偶尔我 们也可能碰到需要使用的宏包碰巧没有安装的情况,这时我们就需要自己 ...
- LaTeX手动安装宏包(package)以及生成帮助文档的整套流程
注意:版权所有,转载请注明出处. 我使用的是ctex套装,本来已经自带了许多package,但是有时候还是需要使用一些没有预装的宏包,这时就需要自己安装package了.下载package可以从CTA ...
- [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喜 ...
随机推荐
- Java入门系列-15-封装
为什么要封装 Student stu=new Student(); stu.age=-10; 上面的代码中 age 属性被随意访问,容易产生不合理的赋值 什么是封装 封装:将类的某些信息隐藏在内部,不 ...
- SSIS教程:创建简单的ETL包 -- 2. 添加循环(Adding Looping)
在第 1 课:创建项目和基本包中,创建了从单个平面文件源中提取数据的包,然后使用查找转换功能对数据进行了转换,最后将数据加载到AdventureWorksDW2012 示例数据库的 FactCurre ...
- C#语言-08.序列化与反序列化
a. 序列化:是将对象的状态存储到特定存储介质中的过程 i. 语法:public void Serialize(序列化过程的文件流,保存的对象) b. 返序列化:是从特定存储介质中将数据重新构建对象的 ...
- MongoDB 学习(二)可视化界面
一.安装可视化界面 1.mongobooster 安装和配置 1.下载安装 下载地址:https://nosqlbooster.com/downloads 下载完成后直接点击安装: 安装完成弹出界面: ...
- node.js内存缓存的性能情况
1. WEB 服务性能测试和优化 1.1 测试环境搭建 网络环境:内网 压力测试服务器: 服务器系统:Linux 2.6.18 服务器配置:Intel® Xeon™ CPU 3.40GHz 4 C ...
- 十一 Pipe
Java NIO 管道是2个线程之间的单向数据连接.Pipe有一个source通道和一个sink通道.数据会被写到sink通道,从source通道读取. 创建管道 通过Pipe.open()方法打开管 ...
- ES6,先知道这些必会的才行
变量声明 const 和 let 不要用 var,而是用 const 和 let,分别表示常量和变量.不同于 var 的函数作用域,const 和 let 都是块级作用域. const DELAY = ...
- PAT 1048. Find Coins
two sum题目,算是贪婪吧 #include <cstdio> #include <cstdlib> #include <vector> #include &l ...
- EasyUI combobox 加载JSON数据
Action返回 JSON 格式如下: jsonResult = { total=7,rows=[ {TEXT=技术支持, ID=402894ca4419acf1014419b148a10000}, ...
- mysql的一些sql用法
mysql中修改列名: alter table 表名 change abc def 列类型;比如 alter table student change pws psw char(10);