我学习使用LaTeX大概有半年时间,很喜欢这种方式的编辑排版,现在基本上使用的文档编辑都从Office之类的软件转移过来了。LaTeX的内容很多,为了方便以后查询,现在把自己使用过的宏包介绍和说明文档的下载地址收录在此。
以下文档的下载地址都在我的百度网盘,不需要优快云里面的积分。另外,这些文档都是官方或者开发者免费提供的,不存在侵权问题,大家放心下载使用。
1、geometry
下载:geometry宏包说明文档百度网盘下载
介绍:这个宏包用于页面布局,例如设置页面尺寸。
示例:
页面大小及页边距设置
\geometry{a4paper, left = 3.17cm, right = 3.17cm, top = 2.54cm, bottom = 2.54cm}
这段语句的作用就是把页面设置为A4纸大小,并设置了上下左右的页边距,这个边距是参考MSOFFICE的。
设置单页的页边距
\newgeometry{left = 0cm, right = 0cm, top = 0cm, bottom = 0cm}
% 恢复命令
\restoregeometry
上述语句把页面的边距都改为0,后面是恢复成原来的设置。我在编写封面时就把页边距都设为0,好进行全页面的设计。
2、tikz
下载:tikz宏包说明文档百度网盘下载
介绍:这个宏包是强大的在线绘图包,真的很强。
示例:
\tikz \datavisualization [
scientific polar axes={0 to pi, clean},
all axes=grid,
style sheet=vary hue,
legend=below
][
visualize as smooth line=sin,
sin={label in legend={text=$1+\sin \alpha$}}]
data [format=function] {
var angle : interval [0:pi];
func radius = sin(\value{angle}r) + 1;
}[
visualize as smooth line=cos,
cos={label in legend={text=$1+\cos\alpha$}}]
data [format=function] {
var angle : interval [0:pi];
func radius = cos(\value{angle}r) + 1;
};
效果如下:
3、xcolor
下载:xcolor说明文档百度网盘下载
介绍:提供色彩支持。
示例:
示例一
\usepackage[dvipsnames, svgnames, x11names]{xcolor}
\definecolor{umlyellow}{RGB}{255, 251, 214}
以上语句的第一句是调用xcolor宏包,同时也载入三个色彩名称支持。第二句是自定义新的色彩名称。
4、hyperref
下载:hyperref宏包说明文档百度网盘下载
介绍:支持超链接,好像只有加载这个包目录才能跳转。
示例:
示例一
% 设置超链接样式
\hypersetup{%
colorlinks,%
linkcolor = blue!80!black,%
breaklinks,%
}%
5、graphics
下载:graphics宏包说明文档百度网盘下载
介绍:图片支持。上面的这份说明文档中还包含了color宏包的说明。
示例:
示例一
\includegraphics[width=8cm]{cover.jpg}
上面的语句是载入cover.jpg图片,并且指定显示宽度为8cm。这里要注意的是图片文件可以带路径,并且路径中的下划线不受LaTeX的影响。
6、ctex
下载:ctex宏包说明文档百度网盘下载
介绍:中文支持。原来我在使用xeLaTeX编译方式时,用的是xeCJK,还是挺好用的,只是现在使用LuaLaTeX后,xeCJK就用不成了,所以目前使用这个包来支持中文。
示例:
示例一
% 设置字体。注意顺序,第一个定义的就是默认字体
\setCJKfamilyfont{song}{FZShuSong-Z01S}% 方正书宋简体
\newcommand{\song}{\CJKfamily{song}}%
\setCJKfamilyfont{kaiti}{FZKai-Z03S}% 方正楷体简体
\newcommand{\kaiti}{\CJKfamily{kaiti}}%
\setCJKfamilyfont{heiti}{FZHei-B01S}% 方正黑体简体
\renewcommand{\heiti}{\CJKfamily{heiti}}% 因为原命令已被ctex中定义过,所以这里重定义
\setCJKfamilyfont{fangsong}{FZFangSong-Z02S}% 方正仿宋简体
\renewcommand{\fangsong}{\CJKfamily{fangsong}}% 因为原命令已被ctex中定义过,所以这里重定义
以上语句是定义了一些汉字字体的调用命令。上面的四种字体是方正官方免费提供的、可以商用的字体,大家可以去官网下载。要有版权意识。在Ubuntu下,ctex定义的汉字字体调用命令是对文鼎系列字体的,这个看个人喜好。
7、luacode
下载:luacode宏包说明文档百度网盘下载
介绍:用于在LuaLaTeX编译方式下,支持lua代码编写调用。LuaLaTeX编译方式对于程序员而言比较有意义,因为通过这种方式,我们就把文档的编辑排版与lua语言编程联系在一起,又通过lua与C/C++联系起来,这样我们的发挥空间就很大了。
示例:
示例一
\luaexec{
require "lua/uml_class"
local umlClass = UmlClass:new(nil, "#1", "#2")
tex.sprint(umlClass:Draw())
}
上述语句调用了lua子目录里的uml_class.lua文件,并传递两个参数给其中的UmlClass类的函数new。这个就是前面示例中绘制UML图的命令。uml_class.lua文件是纯粹的(直接在LaTeX下编写会有很多制约)lua文件,我是在VSCode中编写好后供LaTeX调用。
示例二
\luaexec{%
local test = require("test")
str = "字符串示例:" .. test.Hello() .. "\\\\"
tex.sprint(str)
str = "数值计算示例,面积: " .. test.Area(6)
tex.sprint(str)
}%
这个示例是调用test.so动态链接库,这个库是C语言编写的,有关代码、方法我在另一篇博客中介绍。
8、enumerate
下载:enumerate宏包说明文档百度网盘下载
介绍:自动枚举宏包,就是在前面加上可自定义的序号。
示例:
示例一
\begin{enumerate}[(1)]
\item \textbf{僵化性}
\item \textbf{脆弱性}
\item \textbf{牢固性}
\item \textbf{粘滞性}
\item \textbf{不必要的重复}
\item \textbf{晦涩性}
\end{enumerate}
上述语句会在条目前面显示(1)、(2)……之类的序号。
9、listings
下载:listings宏包说明文档百度网盘下载
介绍:支持代码显示,可以语法高亮等。
示例:
示例一
% 代码显示样式设置
\lstset{%
breaklines,% 自动换行
basicstyle=\small,% 设置字体大小
frame=single,% 单线框
numbers=left,% 行号在左边
numberstyle=\tiny,% 行号字体大小
keywordstyle = \color[RGB]{0, 0, 160},% 关键字颜色
commentstyle = \color[RGB]{160, 160, 160},% 注释颜色
stringstyle = \color[RGB]{0, 0, 255},% 字符串颜色
}%
上述语句是设置显示的程序代码样式。
示例二
\begin{lstlisting}
public void testPayroll() {
MockEmployeeDatabase db = new MockEmployeeDatabase();
MockCheckWriter w = new MockCheckWriter();
Payroll p = new Payroll(db, w);
p.payEmployees();
assert(w.checksWereWrittenCorrectly());
assert(db.paymentsWerePostedCorrectly());
}
\end{lstlisting}
在lstlisting环境内,不会受到LaTeX控制字符的影响。
10、setspace
下载:setspace宏包源文件 提取码:0c9v
介绍:这个宏包用于行距设置。
因为这个宏包没有专门的说明文档,只是在源代码中有介绍,所以这里直接提供宏包的源代码文件下载。
示例:
示例一
\renewcommand{\baselinestretch}{1.0}% 修改n倍行距
\setlength{\baselineskip}{20pt}
行间距是由两部分控制,就是上面的这两个,第一行的1.0代表几倍行距。
11、overpic
下载:overpic宏包说明文档百度网盘下载
介绍:用于在图片上面摆放文字。说明文档只有一页。
示例:
示例一
\begin{overpic}[width = 21cm]{#4}%
\color{white}\put(70, 57){\textit{Hongshan Park, Anshun, Guizhou}}%
\end{overpic}
效果如下:

12、booktabs
下载:booktabs宏包说明文档百度网盘下载
介绍:提供一些改善表格质量的附加功能。目前我用在给表格上下横线加粗。
示例:
示例一
\begin{tabular}{p{0.06\textwidth}|p{0.24\textwidth}|p{0.7\textwidth}}
\bottomrule
年份 & 获奖者 & 获奖原因\\
\hline
1966 & Alan J. Perlis & 先进编程技术和编译架构方面的贡献\\
\hline
1971 & John McCarthy & Lisp语言、程序语义、程序理论、人工智能方面的贡献\\
\hline
1972 & E. W. Dijkstra & 对开发Algol做出了原理性贡献\\
\hline
1977 & John Backus & 在高级语言方面所做出的具有广泛和深远意义的贡献,特别是在Fortran语言方面\\
\toprule
\end{tabular}
效果如下:

其中的\bottomrule与\toprule就是这个宏包提供的功能,注意是顶部横线用\bottomrule,底部横线用\toprule,是倒着用,否则会有一丝缝隙,当然,如果你想有缝隙也可以。
13、colortbl
下载:colortbl宏包说明文档百度网盘下载
介绍:为表格上色提供支持。
示例:
示例
\begin{center}
\heiti 表2.1 QList、QLinkedList和QVector容器的时间复杂度比较\songti
\begin{tabular}{C{2.5cm}|C{2.5cm}|C{2.5cm}|C{2.5cm}|C{2.5cm}}
\bottomrule[2pt]
\rowcolor{gray!20}
容器类 & 查找 & 插入 & 头部添加 & 尾部添加\\
\hline
QList & O(1) & O(n) & Amort.O(1) & Amort.O(1)\\
\hline
QLinkedList & O(n) & O(1) & O(1) & O(1)\\
\hline
QVector & O(1) & O(n) & O(n) & Amort.O(1)\\
\toprule[2pt]
\end{tabular}
\end{center}
说明:代码中的\rowcolor命令即由此宏包提供。
14、multirow
下载:multirow宏包说明文档百度网盘下载
介绍:提供表格中的多行合并支持。
示例:
示例
\begin{center}
\heiti 表1-5 Pascal的运算符\songti\\
\begin{tabular}{c|c|c|c|c|c|c}
\bottomrule[2pt]
分类 & 运算符 & 目数 & 优先级 & 运算类型 & 返回类型 & 功能说明\\
\hline
\multirow{13}{0.5cm}{算术} & - & 单目 & 1 & 整、实型 & 整、实型 & 取负\\
\cline{2-7}
~ & NOT & 单目 & 1 & 整型 & 整型 & 位非\\
\cline{2-7}
~ & * & 双目 & 2 & 整、实型 & 整、实型 & 乘法运算符\\
\cline{2-7}
~ & / & 双目 & 2 & 整、实型 & 实型 & 实数除\\
\cline{2-7}
~ & DIV & 双目 & 2 & 整型 & 整型 & 整数除\\
\cline{2-7}
~ & MOD & 双目 & 2 & 整型 & 整型 & 取模(取余)\\
\cline{2-7}
~ & AND & 双目 & 2 & 整型 & 整型 & 位与\\
\cline{2-7}
~ & SHL & 双目 & 2 & 整型 & 整型 & 左移\\
\cline{2-7}
~ & SHR & 双目 & 2 & 整型 & 整型 & 右移\\
\cline{2-7}
~ & + & 双目 & 3 & 整、实型 & 整、实型 & 加法\\
\cline{2-7}
~ & - & 双目 & 3 & 整、实型 & 整、实型 & 减法\\
\cline{2-7}
~ & OR & 双目 & 3 & 整型 & 整型 & 位或\\
\cline{2-7}
~ & XOR & 双目 & 3 & 整型 & 整型 & 位异或\\
\hline
\multirow{4}{0.5cm}{逻辑} & NOT & 单目 & 1 & 布尔型 & 布尔型 & 逻辑非\\
\cline{2-7}
~ & AND & 双目 & 2 & 布尔型 & 布尔型 & 逻辑与\\
\cline{2-7}
~ & OR & 双目 & 3 & 布尔型 & 布尔型 & 逻辑或\\
\cline{2-7}
~ & XOR & 双目 & 3 & 布尔型 & 布尔型 & 逻辑异或\\
\hline
\multirow{6}{0.5cm}{关系} & = & 双目 & 4 & 基本类型 & 布尔型 & 等于\\
\cline{2-7}
~ & <> & 双目 & 4 & 基本类型 & 布尔型 & 不等于\\
\cline{2-7}
~ & < & 双目 & 4 & 基本类型 & 布尔型 & 小于\\
\cline{2-7}
~ & > & 双目 & 4 & 基本类型 & 布尔型 & 大于\\
\cline{2-7}
~ & <= & 双目 & 4 & 基本类型 & 布尔型 & 小于或等于\\
\cline{2-7}
~ & >= & 双目 & 4 & 基本类型 & 布尔型 & 大于或等于\\
\hline
\multirow{8}{0.5cm}{集合} & * & 双目 & 2 & 集合类型 & 集合类型 & 集合交\\
\cline{2-7}
~ & + & 双目 & 3 & 集合类型 & 集合类型 & 集合并\\
\cline{2-7}
~ & - & 双目 & 3 & 集合类型 & 集合类型 & 集合差\\
\cline{2-7}
~ & = & 双目 & 4 & 集合类型 & 布尔型 & 两个集合是否相等\\
\cline{2-7}
~ & <> & 双目 & 4 & 集合类型 & 布尔型 & 两个集合是否不相等\\
\cline{2-7}
~ & >= & 双目 & 4 & 集合类型 & 布尔型 & 左集合是否包含了右集合\\
\cline{2-7}
~ & <= & 双目 & 4 & 集合类型 & 布尔型 & 右集合是否包含了左集合\\
\cline{2-7}
~ & IN & 双目 & 4 & & 布尔型 & 左操作数是否为右集合的元素\\
\hline
\multirow{3}{0.5cm}{其他} & * & 双目 & 3 & 字符、字串 & 字符、字串 & 字符串连接\\
\cline{2-7}
~ & @ & 单目 & 3 & 任意类型 & 指针型 & 取得操作数变量的地址\\
\cline{2-7}
~ & \textasciicircum & 单目 & 1 & 指针型 & 任意类型 & 取得指针变量指向存储单元的值\\
\toprule[2pt]
\end{tabular}
\end{center}
说明:代码中的\multirow命令即由此宏包提供。
15、xstring
下载:xstring宏包说明文档百度网盘下载
介绍:提供字符串操作支持。
示例:
示例
\begin{center}
\begin{tikzpicture}[start chain=1 going right,node distance=-0.15mm]
\node[on chain=1] at (-1.5, -0.4){……};
\foreach \x in {1,...,13} {
\x, \node[draw, on chain=1, minimum size=8mm] {\StrChar{while { }(a>10)}{\x}};
}
\node[on chain=1] at (9.5, -0.4){……};
\draw[arrow1,on chain=1](-0.6,-1.7)--node[left,yshift=-20pt,xshift=10pt]{上一个单词起始位置}(-0.6,-0.8);
\draw[arrow1,on chain=1](3.4,-1.7)--node[left,yshift=-20pt,xshift=10pt]{搜索指针}(3.4,-0.8);
\draw[arrow1,on chain=1](5,-1.7)--node[left,yshift=-20pt,xshift=10pt]{起始位置}(5,-0.8);
\end{tikzpicture}
\heiti\\ 图2-1 词法分析器起始位置\songti
\end{center}
说明:示例中的\StrChar{}命令即由此宏包提供。
16、soul
下载:soul宏包说明文档百度网盘下载
介绍:我用这个宏包来设置下划线的颜色,当然,还可以设置下划线的其他样式。此宏包在设置颜色时要与color宏包(或xcolor)一起使用。
示例:
示例
...
\setulcolor{red}
...
\ul{C++}
...
说明:其中的\setulcolor命令用于设置下划线颜色,\ul命令用于给大括号内的文字加下划线。要注意的是,这里如果使用老命令\underline是没有颜色效果的。
这篇博客整理了作者使用LaTeX过程中遇到的16个重要宏包,包括geometry、tikz、xcolor等,每个宏包都有详细的说明文档下载链接和使用示例。例如,geometry用于页面布局,tikz是强大的绘图工具,xcolor提供色彩支持,而ctex则用于中文支持。此外,还包括luacode、listings、setspace等宏包的使用介绍。
1861

被折叠的 条评论
为什么被折叠?



