latex如何更改某一段落的字体_[LaTeX 指南] 功能性宏包推荐

本文介绍了LaTeX宏包的概念、名字和文档,推荐了若干功能性宏包,如amsmath、graphicx、xcolor等,涵盖数学公式、插图、颜色、表格等领域,还提及了文档阅读和宏包定制。
摘要由CSDN通过智能技术生成

本文已加入专栏文章目录。

宏包的概念

本文所指宏包(package),特指安装后提供 .sty 文件的、能以 usepackage{...} 方式调用的宏包。这类宏包,旨在扩展或提供 LaTeX 的某一特定功能,以便利用户使用。

在 CTAN 上,除了上述提供 .sty 文件的宏包,一些其他形式的内容,也都以宏包的形式进行收录和呈现,它们是广义上的宏包。这些其他形式的内容,有的提供文档类,有的提供字体,有的提供(多种形式的纯粹的)文档,还有的提供外部工具。

一般,在提到「使用/依赖/缺/安装某某宏包」时,使用的是狭义的「宏包」概念。有时,为了强调是在使用「狭义的」宏包概念,笔者会使用「功能性宏包」一词。

宏包的名字

  • 调用时,usepackage{amsmath} 相当于插入了文件 amsmath.sty,此时,宏包名就是文件名。
  • 被 CTAN 收录时,一个 CTAN 上的宏包,可以包含一个或多个「广义」的宏包。通常,一个功能性宏包,被 CTAN 收录时的名字和被调用时的名字是一致的。
  • 安装/更新某个宏包时,实际使用的是发行版对宏包的命名。对大部分宏包而言,这和它被 CTAN 收录时的名字是一致的。每个 CTAN 宏包的页面里,都包含以下信息:其是否被发行版 TeX Live 和 MikTeX 收录,及若被收录,其在发行版内部的名称。

642846f9128db612ef18111cf6dd54b7.png
发行版收录信息示例:amsmath 宏包

通常,我们在使用「某某宏包」一词时,是在使用该宏包被调用时的名字。

宏包的文档

使用宏包,离不开阅读宏包文档。

  • 形式上,除了常见的提供一个或多个 PDF 文件作为文档,某些简单和年代较早的宏包,还可能仅提供纯文本形式的文档。
  • 内容上,除了必须的用户手册,宏包文档还可能包含带注释的代码实现、示例集等部分,不同部分可能集中于同一个文件,也可能分散在多个文件。
  • 特别地,几个可以单独调用的宏包,它们的文档可能是同一个文件。

假设在安装宏包时,同时安装了对应的文档,那么

  • 对于大部分宏包,在终端使用 texdoc <name-of-package> 即可打开其(主)文档。
  • 对于提供多个文档文件的宏包,可以使用 texdoc -l <name-of-package> 列出所有文档,再根据终端的提示,选择打开其中的某一个。
  • 有些宏包的(主)文档不是英语的,其对应的英译文档,可能在同一宏包中提供,可能在单独的宏包中提供,也可能没有提供。

本文剩余部分,以 <功能介绍> - <宏包名> 的形式,推荐了一些功能性宏包(不包括符号及字体包)。推荐不仅基于宏包自身的功能完成度、使用便利性、使用广泛性和维护状态等,也受到笔者认知范围、使用经验、个人偏好的影响。

如果是从现在开始,以加载、配置宏包的方式学用 LaTeX,这些推荐是值得信赖的。如果想要深入宏包内部,则这个推荐列表就不恰当也不够用了。

几乎必须

数学公式 - amsmath

插图 - graphicx

颜色 - xcolor

表格 - array

中文 - ctex, xecjk

西文 otf 字体 - fontspec

样式定制

页面布局 - geometry, typearea(额外支持在文档中途改变纸型)

页眉页脚 - fancyhdr
- fancyhdr 不会自动更新版心宽度,与 geometry 配合使用时可能出现问题。宏包 autofancyhdr 修复了这个问题

章节标题 - ctexheading(ctex 宏集的子包),titlesec

目录 - tocloft, titletoc

列表 - enumitem

脚注 - footmisc

抄录环境 - listings, fancyvrb(及扩展 fvextra), minted(不分先后)

定理环境 - amsthm, thmtools, 不推荐 ntheorem

文本强调(下划线、文字底纹等) - ulem, soul(均不支持中文), xeCJKfntef(仅 xetex),lua-ul(仅 luatex)

特定领域

更多公式符号 - amssymb

交换图 - amsmath(amscd 环境),tikzcd(有在线编辑器)

段落对齐方式 - ragged2e

幻灯片,学术报告向 - beamer

多栏模式 - multicol

允许栏宽不等的多栏模式(不可跨页) - vwcol

数字、单位与量 - siunitx

参考文献引用格式 - cite, natbib(提供了「人名年份」引用格式)

索引 - makeindex(定制索引样式见 texdoc ind)

绘制分子和反应流程,偏有机化学 - chemfig

排版分子和反应式,偏无机化学 - chemformula, mhchem

排版算法和伪代码 - algorithm2e,另见知乎回答

排版代码,带语法高亮 - minted(需安装 Python 库 Pygments)

排版示例,「一边是源码,一边是结果」 - showexpl, tcolorbox 的 listings 等模块

插入多页 PDF - pdfpages

自动切边 - standalone

特定需求

四则运算 - calc

术语表 - nomencl

自动调整宽度的子段盒子 - varwidth

让长章节拥有自己的子目录 - minitoc

为目录、参考文献和索引添加目录项 - tocbibind

多栏目录 - multitoc

首字下沉 - lettrine

章首名人名言 - epigraph

尾注 - end­notes

多个参考文献列表 - chapterbib

获知文档总页数 - lastpage

获知文档各部分的总页数 - pageslts

插入终端执行命令后返回的结果 - bashful

使用相对于子文件的路径 - import

页面水印 - watermark, atbegshi

浮动体专题

浮动体标题的格式 - caption

双语标题 - bicaption

定义新浮动体系列,让浮动体「不浮动」 - float

定义新浮动体系列,允许一个浮动体环境包含多个标题 - newfloat

提供「算法」浮动体系列,基于 float 宏包 - algorithm

子图的标题 - subcatpion, subfig

在侧边排版标题,及其他 - floatrow

避免浮动体跨章节出现 - placeins

表格专题

在单元格中自由换行 - makecell

纵向合并单元格 - multirow

均分列宽 - tabularx

在小数点处对齐的列 - dcolumn, siunitx

三线表 - booktabs

表头斜线 - diagbox

使横表线避开纵表线 - hhline

彩色的单元格和表线 - colortbl(常通过usepackage[table]{xcolor} 间接调用)

可跨页表格 - longtable, supertabular

使列按比例分配宽度 - tabu(缺乏维护,色彩支持部分有 bug)

PDF 专题

超链接 - hyperref

书签 - bookmark

注释 - pdfcomment

附件 - embedall, embedfile

辅助工具专题

以表格形式输出指定字体前256个符号 - fonttable

输出页面布局示意图,列出页面参数的值 - layout

可视化各文档部件的布局参数,提供调整接口 - layouts

英文测试文本,可用于测试排版效果 - lipsum

中文测试文本 - zhlipsum

输出测试文档,可包含目录、各级标题、列表、公式、文本等 - blindtext

提供示例图片 - mwe

长度的单位转换 - printlen

输出文件加载依赖关系 - inputtrc

命令定义、宏包编写专题

综合工具 - etoolbox

指定命令参数「类型」 - xparse

修改已定义命令 - xpatch, regexpatch

操作「字符串」 - xstring

个人推荐

功能类

数学公式辅助 - mathtools

公式输入便捷命令 - physics

使用 opentype 数学字体 - unicode-math

自动调整引号方向 - csquote

兴趣类

排版微调 - microtype

为一系列宏包统一配置接口 - interfaces

高度可配置的彩色盒子 - tcolorbox

选项形式提供对「盒子」的操作,避免命令嵌套 - adjustbox

其他

数学公式样式配置和小宏包功能汇总 - voss-math­mode(TeX Live 未收录,CTAN 标记为「已废弃」)

有名但笔者尚不了解

高度可定制的专业文档类 - koma-script, memoir

知乎相关讨论

用 TeX 编辑论文时,如何选择合适的 Packages ?

LaTeX的宏包选择的最佳实践一般都是怎么找的?

【CTeX 套装】暂拟常用宏包列表

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值