宏包就是Latex发行版(TexLive、MikTex等)的插件功能,通过安装不同的宏包可以获得更多的功能。一般情况下,Latex的发行版都自带了一些宏包(多是CTAN中的),以便于使用者快速的编译。这些宏包默认安装在texmf/tex/latex/下,这里texmf是“Tex and MetaFont”的缩写,指代Latex发行版的目录树。以Windows

7 下MikTex2.9为例,texmf=“D:\Program Files\MiKTeX 2.9\”。宏包的功能可以通过CTAN的搜索功能查询到。

一个宏包往往包含一个文件或多个文件,这些文件利用Tex命令定义了新的命令,用来改变Latex默认的功能。这些文件主要有两种类型:clas文件,以.cls为后缀;类型文件,以.sty为后缀。其它类型的文件多是辅助文件。当编译一篇tex文档时,如果引用某个缺失的宏包时,编译程序会报package missing的错误。当然,这些宏包是可以更新的。一个Latex发行版理论上可以安装任意多的宏包,但是,一篇文档可以使用的宏包数目是受限制的。

虽然Latex发行版自带的宏包已经很多,并且自带的Package Manager也能自动从CTAN上下载和安装宏包。但是,宏包的数量远比CTAN拥有的为多。所以,下面介绍下安装宏包的三种方式:

1. 傻瓜式安装

第一种方式比较简单,就是下载.cls或者.sty格式的文件,直接放在编译的目录下与主文件一起运行。这种方式简单易行,但是每次使用都要复制过去,更新也不易,如果使用几十个宏包,会使得编译目录里文件过多。只适合要使用期刊模板的情况。

2. 自动安装

目前,多数的Latex发行版都带有宏包管理器,如TexLive的tlmgr,MikTex的Package Manager。对于TexLive,可以使用如下命令自动安装:

tlmgr install ...

tlmgr remove ...

对于MikTex,使用 Start -> All Programs -> MikTex -> Settings(admin),记得使用管理员模式来更改。

3. 手动安装

手动安装相对前两种方式要稍微复杂些。如果你下载的宏包里包含sty等格式的必需文件,说明宏包已经经过编译了,可以直接跳到第三步;如果没有,对于较复杂的包,一般包含五个步骤:

(a)提取文件:在下载的宏包里找到后缀名为.ins格式的文件,然后运行“latex yourfilename.ins”命令或者用Latex发行版打开ins文件进行编译。此步骤可以从dtx格式的文件中提取制定的内容并生成需要的文件。

(b)创建文档:接着利用dtx文件创建说明文档,运行命令“latex yourfilename.dtx”。此步骤可以创建一个dvi格式的说明文档,以说明该宏包的功能。

(c)安装文件:此步是最关键的一步,也是容易出错的一步。此步骤的作用是将生成的必需文件,如cls文件和sty文件放到合适的本地位置,以便Latex发行版能够找到。关键是如何定义合适的本地位置呢?在Tex及其衍生物中,所谓合适的本地位置,就是以TDS(Tex Directory Structure)规则组织的文件夹及其子文件夹,也就是一个自定义的目录。一般情况,这个自定义的目录最上层的名字为texmf-local或者texmf。在不同的发行版本下,具体也不一样:

MacTex:Users/username/Library/texmf/.

Unix-type Systems:~/texmf.

MikTex:任意名字,但是子目录要满足一定的规则,具体规则在这里。

TDS定义了不同类型的文件存放的位置不同。比如sty格式文件,一般放在texmf/tex/latex下不同的文件夹下,文件夹的名字即是宏包的名字。下面的表格中给出了文件存放的规则:

Where to put files from packages

Type

Directory (under texmf/ or texmf-local/)

Description

.afm

fonts/afm/foundry/typeface

Adobe Font Metrics for Type 1 fonts

.bst

bibtex/bst/packagename

BibTeX style

.cls

tex/latex/base

Document class file

.dvi

doc

package documentation

.enc

fonts/enc

Font encoding

.fd

tex/latex/mfnfss

Font Definition files for METAFONT fonts

.fd

tex/latex/psnfss

Font Definition files for PostScript Type 1 fonts

.map

fonts/map/

Font mapping files

.mf

fonts/source/public/typeface

METAFONT outline

.pdf

doc

package documentation

.pfb

fonts/type1/foundry/typeface

PostScript Type 1 outline

.sty

tex/latex/packagename

Style file: the normal package content

.tex

doc

TeX source for package documentation

.tex

tex/plain/packagename

Plain TeX macro files

.tfm

fonts/tfm/foundry/typeface

TeX Font Metrics for METAFONT and Type 1 fonts

.ttf

fonts/truetype/foundry/typeface

TrueType font

.vf

fonts/vf/foundry/typeface

TeX virtual fonts

others

tex/latex/packagename

other types of file unless instructed otherwise

(d)更新索引:最后更新Latex发行版的索引文件,以便Latex发行版能找到新安装的宏包。不同的发行版使用了不同的索引器:

teTeX, TeX Live, fpTeX:texhash.

web2c: mktexlsr

MacTeX: MacTeX appears to do this for you.

MikTeX: initexmf --update-fndb;或者使用GUI,即Start -> All Programs -> MikTex -> Settings(admin)下第一个tab,点击“Refresh FNDB”按钮即可。

(e)更新字体映射图:如果一个宏包还顺带安装了一些字体,还应该更新字体的映射。详细方法参详这里。

此外,还有一些老版本的宏包并没有参照TDS格式,因此只能使用前两种方式。

此文参考了WikibooksLatex和stackexchange上的一些讨论。

tikz包 安装_Latex之安装宏包 | 学步园相关推荐

  1. tikz包 安装_LaTex各种安装

    基本的 第一步,安装基本的LaTeX环境: sudo apt-get install texlive 第二步,安装中文字体包.字体包中包含bsmi,bkai,gkai,gbsn四种中文字体.bsmi和 ...

  2. 安卓能不能安装jar_Sentaurus TCAD安装之jedit+TCAD宏包

    -----本教程为作者在知乎原创,未经允许,请勿转载哦!----- 大家好,我准备了一场live,讲述Sentaurus Tcad的入门方法和使用技巧,欢迎收听! 链接如下:https://www.z ...

  3. java发送邮件所需jar包_javamail 发邮件所需jar 包两个 activation.jar,mail.jar | 学步园...

    javamail 所需jar 包两个 activation.jar,mail.jar(放在邮箱里了) index.jsp 填写相关信息.用来发邮件的邮箱和密码一定要写对 发送电子邮件 发送电子邮件 收 ...

  4. java 历遍 类_[Java] 遍历指定包名下所有的类(支持jar) | 学步园

    项目需要,仅做记录. 支持包名下的子包名遍历,并使用Annotation(内注)来过滤一些不必要的内部类,提高命中精度. 通过Thread.currentThread().getContextClas ...

  5. live555库安装_live555库的使用总结 | 学步园

    一. live555\testProgs\testRTSPClient.cpp 测试rtsp命令和数据接收: 1.发送并处理Describe消息 rtspClient->sendDescribe ...

  6. LATEX以及宏包的下载和安装(附下载链接)

    LATEX以及宏包的下载和安装(附下载链接) TexStudio以及宏包下载和安装 LATEX以及宏包的下载和安装(附下载链接) 1. 环境下载 2. 环境安装 2.1 MiKTeX安装 2.2 Te ...

  7. Latex排版论文MiKTeX与Texmaker 配置使用及宏包的下载

    MiKTeX与Texmaker 配置使用及宏包的下载 自己也是第一次使用latex排版论文(导师需要),经过几天的折腾算是把一篇12页内容的英文论文排好了. 首先,texmaker是编辑器,它并不能对 ...

  8. LaTeX代码: 普通化学公式 ← 利用 mhchem 宏包

    在LaTeX 中,普通化学公式主要利用 mhchem 宏包来完成.而有机化学公式,则主要利用 chemfig 宏包来完成.在宏包 mhchem 中,利用 \ce{} 命令用来输人化学式,它在大多数情况 ...

  9. latex中的各种数学字体宏包

    0 数学公式必备 amsmath数学公式核心宏包,amsfonts和amssymb提供丰富的数学符号 1 Times 风格的字体宏包 newtxtext,newtxmath宏包 \usepackage ...

最新文章

  1. linux下修复bash漏洞
  2. 编译可在Android上运行的qemu user mode
  3. 基本概念_复杂网络基本概念
  4. python递归详解_python基于递归解决背包问题详解
  5. iBATIS In Action:使用高级查询技术(一)
  6. Kinect学习(四):提取深度数据
  7. 贪心算法区间调度问题思路代码证明
  8. php无嵌套遍历多维数组,不递归怎么遍历多维数组(维数不定)
  9. 2021大数据1班《Python程序设计基础》学生学期总结
  10. AOP拦截器 表达式写法
  11. Golang实践录:使用gin框架实现转发功能:一些负载均衡算法的实现
  12. tesseract 提升识别质量
  13. linux 下mysql5.7+使用group by、order by报错ONLY_FULL_GROUP_BY不修改配置文件
  14. ASP.NET深入浅出系列3- Page类
  15. 实验二:递归下降语法分析
  16. 2021新版OPEN易支付免费开源版 亲测可用
  17. Modelica中Stream变量
  18. 数据中台 第8章 数据资产管理
  19. 地址转为经纬度通过DBSCAN进行关联识别
  20. tomcat记录访问日志

热门文章

  1. One order deletion tool
  2. python 两点之间的距离_手把手教你HTML5实现根据LBS定位到商家两点之间距离多少...
  3. python3编码问题_python3编码问题
  4. python的linux电脑上图标不见了怎么办_电脑桌面及桌面图标消失不见怎么找回?
  5. mysqlbinlog查看日志_一个分布式 MySQL Binlog 存储系统的架构设计
  6. 哨兵系列卫星_智利Panguipulli湖的卫星遥感水特征时空变化图
  7. python基础语法whike循环_python基础语法 - 循环
  8. oracle指定源位置怎么弄,ORACLE Goldengate测试解决源端和目标端表结构字段位置不同的2种实现方法...
  9. kafka的简单概述及基本命令
  10. 怎样用计算机算分数乘分数,《分数乘分数》教案.pdf