LaTeX自学笔记
本人自学LaTeX非系统性笔记,随学习进度不断更新
简介
因为CIE考试迫在眉睫,最近就先暂时不更新这篇文章了
当然,要是门槛不高就不会有这篇文章了) 其次还有编写耗时长,编写复杂,需要编译源文件才可以看到文章效果等缺点。因此,爆肝各大
那为什么还要花费如此经历去学习使用
那看样子这个
Tips:结合目录食用本文,你将收获更高阅读效率
配置本地环境
首先得给自己整一个写
常见的 TeX Live
和 MiKTeX
。
TeX Live
TeX Live
提供的包特别全,但是体积比较大,安装比较慢(指安装一个上午)。不过如果你的网络条件不是特别稳定,建议直接安装TeX Live
一劳永逸。
MiKTeX
MiKTeX
体积相比TeX Live
小了很多,安装速度明显变快,但是遇到缺少的包就需要联网下载了。
MikTeX下载地址
Overleaf
另外,如果想要快速使用 Overleaf
的在线
Overleaf网址
Visual Studio Code
在安装完TeX Live
或者MiKTeX
之后,你可以使用VSCode作为一个写作环境。VSCode可以对代码进行高亮标注,并且还有现代化的UI,出色的颜值。如果你是VSCode的忠实用户的话,也可以对VSCode进行快速的
我们需要安装一个叫做LaTeX Workshop
的插件。安装方法如下:
- 按下 Ctrl+Shift+X,转到 Extentions(扩展) 界面
- 搜索
LaTeX Workshop
- 点击安装
LaTeX命令格式
所有的 \
“作为开头
反斜杠后面的文字部分代表命令名称,后面的花括号”{}
“代表命令参数
举一个例子,此命令\documentclass{article}
代表引入文档类别,类别为article(文章)。
若存在百分号”%
“,则代表在同一行内百分号后面的所有字符为注释,不参与文档编译。在%
“注释掉相应代码是更明智的选择。你可以在
LaTeX文件结构
导言区
在\begin{document}
命令之上的内容,一般称之为导言区。
下面是导言区常用的命令:
\documentclass
命令用来引入文档类别,以及定义部分正文属性。- 例如,
\documentclass{article}
代表引入文档类别,类别为article(文章)。花括号内还可以使用report, book, letter
等参数。每一种文档类别编译出的效果都不一样。(比如说Book就会生成一个封面,但是article就不会)
- 例如,
\title{}
命令用于定义文档标题。\author{}
命令用于定义文章作者。\date{}
命令用于定义编辑文档的时间。
花括号内填入\today
代表使用当前时间。
正文区
顾名思义,正文区则用于承载编译结果的内容。(说白了就是正文) 你可以使用文字,命令,数学公式等元素构成正文。
正文区命令
使用
\begin{*环境名称*}
和\end{*环境名称*}
命令引入一个环境。环境名称填入
document
引入一个文件环境。所有文档有且只有一个document环境,置于 \begin{document}
和\end{document}
之间的内容叫做正文区。置于
\begin{document}
和\end{document}
之间的命令与字符会被编译。因此,可以在\end{document}
存放一些论文相关的资料,以便日后查阅。环境命令的格式如下:
\begin{*环境名称*} 内容 \end{*环境名称*}
\maketitle
命令用于在正文依次显示导言区定义的标题,作者和编辑时间。- 只有在导言区设定了标题,作者和编辑时间的值之后,才可正常显示。
- 当文档类别为
letter
时,此命令会编译错误。因为letter
文件类型中不存在\maketitle
命令。
数学模式
使用“美元”符号”$
“包裹的内容称之为”数学模式”,之外的内容为”文字模式”。
文字置于文字模式内即可渲染。但在数学模式下输入公式,才可以正确渲染公式。
单美元符号”$$"包裹的公式会在行内显示,称作**行内公式**;而双美元符号"
$$$”包裹的内容会另起一整行居中显示,称作行间公式。
例如如下代码:
Let $f(x)$ be defined by the formula $$f(x)=3x^2+x-1$$ which is a polynomial of degree 2.
会被显示为:
Let
which is a polynomial of degree 2.
(LaTeX的一大好处,解决数学渲染的痛点)
P.s:(后面那个“(1)”实操的时候是不会显示的,这是我的博客目前的一个Bug,以后找时间再修复)
换行
在源文件正文中增加一个空行,用于表示换行操作。
例如:
Hello World!
Let $f(x)$ be defined by the formula $f(x)=3x^2+x-1$.
显示为:
Hello World! Let
而添加一行空行后:
Hello World!
Let $f(x)$ be defined by the formula $f(x)=3x^2 +x-1$.
则显示为:
Hello World!
Let
空行有以下几个规则:
- 仅存在注释的一行不算做空行,不作为换行操作。
- 多个空行并列存在,
会当做只有一行空行处理
LaTeX中文处理
需要进行几步配置才可以使用中文输入。具体配置方式之后在这里更新。
另外,设计中文处理的一些命令也会在文章最后进行补充,等到时候再更新吧。
LaTeX字体
在
- 字体编码
- 正文字体编码
- 数学字体编码
- 字体族
- 罗马字体
- 无衬线字体
- 打字机字体
- 字体系列
- 粗细
- 宽度
- 字体形状
- 直立
- 斜体
- 伪斜体
- 大型小写
- 字体大小
以下内容从字体族开始:
字体族
字体族一共有三种,分别是罗马字体(Roman Family),无衬线字体(Sans Serif Family)和打字机字体(Typewriter Family)。
三中不同的字体看起来就像是这样的:
罗马字体:笔画起始处有装饰(衬线)
无衬线字体:笔画起始处无装饰
打字机字体:每个字符宽度相同,又称作等宽字体
字体族命令
在\textXX{*文本*}
和\XXfamily *文本*
两种命令设置字体族种类。
XX需要填入对应字体族缩写。
\textXX{}
\textXX{}
为字体命令。
在\textXX{}
中,XX
中填入对应字体族缩写。
此命令共有三种样式:
\textrm{}
代表使用罗马字体(rm)\textsf{}
代表使用无衬线字体(sf)\texttt{}
代表使用打字机字体(tt)
而在{}
中需要填入需要指定字体族的文字,例如\textrm{Roman Family}
命令输出结果为:
由上图所示,”Roman Family”文字以罗马字体显示。
\XXfamily *文本*
\XXfamily *文本*
为字体声明。
在\XXfamily *文本*
中,XX
中需填入对应字体族缩写。
不过请注意,*文本*
与命令\XXfamily
之间需存在一个空格。
与\textXX{}
命令一样,此命令共有三种样式:
\rmfamily *文本*
代表使用罗马字体(rm)\sffamily *文本*
代表使用无衬线字体(sf)\ttfamily *文本*
代表使用打字机字体(tt)
*文本*区域输入需要声明格式的文字,作用于后续的文本。
文本区域可以使用大括号对文本进行分组,限定字体声明的作用范围。
例如:
1 | {\rmfamily Roman Family} {\sffamily Sans Serif Family} {\ttfamily Typewriter Family} |
三行均输出为:
不过请注意,当一个字体声明遇到另一个字体声明时,会结束当前声明,而采用新的声明。
字体系列
字体系列一共有两种,分别是中体(Medium Series)和粗体(Boldface Series)
所谓中体,其实是中等权重;加粗也实际上是“加宽加粗”。
(虽说我也没搞懂这个中体是个啥玩意,看起来也没啥特别的)
两种字体系列如图所示:
- 中体:
- 粗体:
字体系列命令
与字体族命令相同,可通过\textXX{*文本*}
和\XXfamily *文本*
两种命令设置字体系列。
XX需要填入对应字体族缩写。
其中,中体的缩写为md
,而粗体的缩写为bf
。如下面表格所示:
字体系列名称 | 英文名称 | 缩写 |
---|---|---|
中等权重 | Medium Series | md |
加粗 | Boldface Series | bf |
例如,\textmd{Medium Series}
或者 \mdfamily Medium Series
的输出结果为
而\textbf{Boldface Series}
或者 \bffamily Boldface Series
的输出结果为
两个命令的语法要求与特点和字体族的那两个命令完全一致,因此这里就不多写了。
有关内容在这里查看。
*有一点需要注意,我前往Overleaf官网测试的时候,加粗命令结果好像编译后不显示。可以使用本地的TeX Studio
试一下。
字体形状
字体形状共有如下四种。
直立(Upright Shape / Roman Shape),
斜体/意大利(Italic Shape),
伪斜体/倾斜(Slanted Shape),
大型小写(Small Capitals Shape)
他们分别看起来是这样的:
直立:
斜体:
伪斜体:
大型小写:
同样的,下面用一个表格总结一下字体形状与缩写:
字体系列名称 | 英文名称 | 缩写 |
---|---|---|
直立 | Upright Shape / Roman Shape | up |
斜体/意大利 | Italic Shape | it |
伪斜体/倾斜 | Slanted Shape | sl |
大型小写 | Small Capitals Shape | sc |
字体形状命令
与字体族和字体系列命令相同,可通过\textXX{*文本*}
和\XXfamily *文本*
两种命令设置字体系列。
XX需要填入对应字体族缩写。
例如:\textup{Upright Shape}
或者 \upfamily Upright Shape
均输出为:
两个命令的语法要求与特点和字体族的那两个命令完全一致,因此这里就不多写了。
有关内容在这里查看。
字体大小
在调整字体大小之前,需要前往导言区\documentclass
命令设置默认字号。在\documentclass
命令后紧跟一个方括号[]
,并在其中定义想要的默认字号磅数。
比如说,\documentclass[12pt]{article}
代表默认字号为12磅,文档类型为article(文章)。这也意味着文档除单独定义过大小的文字,其他文字的大小都变为12磅。
不过这个磅数到了12磅就封顶了,没有什么所谓的13磅14磅。
字体大小命令
我们可以用{\字体大小命令 *文本*}
来定义文档内部分文字的字号。
使用括号来规定作用字体大小的范围。
在1
2
3
4
5
6
7
8
9
10\tiny
\scriptsize
\footnotesize
\small
\normalsize
\large
\Large
\LARGE
\huge
\Huge
举个例子,{\tiny Hello} {\Huge Hello}
的输出为:
如下代码:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19{\tiny Hello}
{\scriptsize Hello}
{\footnotesize Hello}
{\small Hello}
{\normalsize Hello}
{\large Hello}
{\Large Hello}
{\LARGE Hello}
{\huge Hello}
{\Huge Hello}
的输出为:
这些命令对应字体的大小和默认字体有关,具体对应关系如下:
命令\默认字号 | 10pt | 11pt | 12pt |
---|---|---|---|
\tiny | 5 | 6 | 6 |
\scriptsize | 7 | 8 | 8 |
\footnotesize | 8 | 9 | 10 |
\small | 9 | 10 | 10.95 |
\normalsize | 10 | 10.95 | 12 |
\large | 12 | 12 | 14.4 |
\Large | 14.4 | 14.4 | 17.28 |
\LARGE | 17.28 | 17.28 | 20.74 |
\huge | 20.74 | 20.74 | 24.88 |
\Huge | 24.88 | 24.88 | 24.88 |
最后编辑于:2022.8.31
持续更新
参考源:
Bilibili-一个非常快速的 Latex 入门教程
Bilibili-latex中文教程-15集从入门到精通包含各种latex操作
简书-LaTeX教学2.4 环境
LaTeX字体设置