LaTex学习笔记

垂直间距

  果我们想要人为地增加段落之间的垂直间距,可以在两个段落之间的位置使用 vspace
命令:

A paragraph.
    vspace{2ex}
Another paragraph.

  vspace 也可用stretch 设置无限延伸的垂直长度。

  在段落内的两行之间增加垂直间距,一般通过给断行命令 \ 加可选参数,如 \[6pt] 或
\*[6pt]。vspace 也可以在段落内使用,区别在于 vspace 只引入垂直间距而不断行。

  •   stretch{⟨n⟩} 生成一个特殊弹性长度,参数 ⟨n⟩ 为权重。

它的基础长度为 0pt,但可以无限延伸,直到占满可用的空间。如果同一行内出现多

个 stretch{⟨n⟩},这一行的所有可用空间将按每个 stretch 命令给定的权重 ⟨n⟩ 进行分配。

对齐环境

  center、flushleft 和 flushright 环境分别用于生成居中、左对齐和右对齐的文本环境。

egin{center} … end{center}
egin{flushleft} … end{flushleft}
egin{flushright} … end{flushright}

  除此之外,还可以用命令直接改变文字的对齐方式

centering

aggedright

aggedleft

设置字体和字号

  latexe设置了两组命令来修改字体和字号,全局生效,如果是想要局部生效,就要

使用{  }分组。也就是写成 {fseries ⟨sometext⟩} 这样的形式。值得注意的是,文本中的

字体控制和公式中的字体控制不大一样。

  

 

   LATEX 还提供了一个基础的命令 fontsize 用于设定任意大小的字号:

fontsize{⟨size⟩}{⟨base line-skip⟩}

fontsize 用到两个参数,⟨size⟩ 为字号,⟨base line-skip⟩ 为基础行距。表 5.3 中的命令也
都各自设定了与字号对应的基础行距,大小为字号的 1.2 倍。如果不是在导言区,fontsize 的
设定需要 selectfont 命令才能立即生效,而表 5.2 的字号设定都是立即生效的。

行距

  fontsize 命令可以为字号设定对应的行距,但我们很少那么用。更常用的办法是在导

言区使用 linespread 命令。

linespread{⟨factor⟩} #factor表示  1.2*factor

缺省的基础行距是 1.2 倍字号大小(参考 font-size 命令),因此使用 linespread{1.5} 意

味着最终行距为 1.8 倍的字号大小。
  导言区是全局修改,局部修改的话:需要用 selectfont 命令使 linespread 命令的改

动立即生效:

{linespread{2.0}selectfont
The baseline skip is set to be
twice the normal baseline skip.
Pay attention to the verb|par|
command at the end. par}

水平间距

LATEX 默认为将单词之间的“空格”转化为水平间距。如果需要在文中手动插入额外的水平

间距,可使用 hspace 命令:

Thishspace{1.5cm}is a space of 1.5 cm.

  可以结合 stretch{⟨n⟩}命令使用。

  如果同一行内出现多个 stretch{⟨n⟩},这一行的所有可用空间将按每个 stretch 命令给定

的权重 ⟨n⟩ 进行分配。

  在正文中用 hspace 命令生成水平间距时,往往使用 em 作为单位,生成的间距随字号大
小而变。我们在数学公式中见过 quad 和 qquad 命令,它们也可以用于文本中,分别相当于
hspace{1em} 和 hspace{2em}

参考文献用法

简单的thebibliography环境,每条参考文献由ibitem开头,其后是参考文献本身的内容:

egin{thebibliography}{⟨widest label⟩}
ibitem[⟨item number⟩]{⟨citation⟩} ...

end{thebibliography}

其中[⟨item number⟩]是可选的编号,不填便是默认的编号(奇怪的是默认编号走不动?){⟨citation⟩}就是引用了,别名。

当然还有其他的参考文献用法,之后补充bib方法

参见:https://www.cnblogs.com/PiaYie/p/13777446.html

 数学公式排版

首先说说数学模式:

用户使用 $ 开启行内公式输入,或是使用 [ 命令、equation 环境时,LATEX 就进入了
数学模式。

数学模式相比于文本模式有以下特点:

  • 数学模式中输入的空格被忽略。数学符号的间距默认由符号的性质(关系符号、运算符等)

决定。需要人为引入间距时,使用 quad 和 qquad 等命令

  • 不允许有空行(分段)。行间公式中也无法用 \ 命令手动换行。排版多行公式需要用到各种环境(下面会介绍部分,详见4.4多行公式)
  • 所有的字母被当作数学公式中的变量处理,字母间距与文本模式不一致,也无法生成单词
    之间的空格。如果想在数学公式中输入正体的文本,简单情况下可用 4.7.1 小节中提供的
    mathrm 命令。或者用 amsmath 提供的 ext 命令,举例:

$x^{2} geq 0 qquad
	ext{for 	extbf{all} }
xinmathbb{R}$

输出:

 =======================分割线=========================

AMS宏包 usepackage{amsmath}

第一,行间公式:

由equatio环境包裹的在一行的公式,例如

The Pythagorean theorem is
$a^2 + b^2 = c^2$.

输出:

 值得注意的是,行间公式如果使用equation环境(或者是$...$),会自动给公式生成一个编号,

这个编号可以用 ef或者label生成交叉引用。需要用到它的时候,使用amsmath包的eqref命令。

amsmath贴心地给交叉引用加上了圆括号()!!!

举例:

The Pythagorean theorem is:
egin{equation}
a^2 + b^2 = c^2 label{pythagorean}
end{equation}
Equation eqref{pythagorean} is
called `Gougu theorem' in Chinese.

输出:

 注:会有这么几种情况,

1-自动编号不想要,我要手动给他编号:使用 ag命令

2-使用 otag命令取消给公式编号

3-如果需要直接使用不带编号的行间公式,方便地使用[ 和]包裹,即等效{displaymath}环境,或者{equation*}环境

egin{equation*}
a^2 + b^2 = c^2
end{equation*}
For short:
[ a^2 + b^2 = c^2 ]
Or if you like the long one:
egin{displaymath}
a^2 + b^2 = c^2
end{displaymath}

输出:

 第二,数学符号:

  • 一般符号

希腊字母符号:     要想写出希腊字母,直接使用公式 某希腊字母的名字  即可,分为大写字母和小写字母

  如 α (alpha)、β (eta) 等等。大写的希腊字母为首字母大写的命令,如 Γ (Gamma)、∆ (Delta) 等等。

  无穷大符号为 ∞ (infty),更多参考如下:

 

省略号:       latex中的省略号有. . . (dots) 和 · · · (cdots) 两种形式,各自用途明确:

$a_1, a_2, dots, a_n$ \
$a_1 + a_2 + cdots + a_n$

输出:

注意dots 和 dots是完全一致的既能用在公式中,也用来在文本里作为省略

甚至有时候,我们会用到斜的省略号或者竖的省略号: 斜排的 ... (ddots)和竖排的 (→自己想象ha!←) (vdots) 。

  • 指数上下标和导数

latex中的上下标需要用到这个符号^(上标符号)和_(下标符号)后面接一个域用{ }包含。否则上下标只对后面的一个符号起作用。

导数'(’)是特殊的上标,直接在符号后面使用,可以连用多个表示多阶导数。

$f(x) = x^2 quad f'(x)
= 2x quad f''^{2}(x) = 4$

输出:

  P.S. latex中建议只在公式中插入少量文字,用   ext命令, 但是如果要在很多文字中使用公式,就要像正常的行内公式那样使用

  • 分式和根式

  frac{分子}{分母} 是分式的书写方式,(注意:分式的大小在行间是正常大小,在某一行中就会被压缩  

  命令 dfrac 和 frac 用来在  行内显示正常大小的分式  和  行间显示被压缩的分式

  sqrt{...}  一般根式 

  sqrt[n]{...}  n次方根的写法

(当然,这些都要在公式中)

P.S. 特殊的分式,如二项式结构,需要用到宏包 inom

Pascal's rule is
[
inom{n}{k} =inom{n-1}{k}
+ inom{n-1}{k-1}
]

输出:

  • 关系符号

直接输入:= 、>、<

公式输入: e 不等号≠、ge 大于等于号≥、le小于等于号≤、approx 约等号≈、equiv 等价符号≡、 propto 正比符号 、sim 相似符号

一种自定义的二元关系符,将一个符号叠加在另一个符号之上:stackrel 

举例:

[
f_n(x) stackrel{*}{approx} 1
]

输出:

  • 其他二元关系符:

 

  • 算符

大多数都是二元运算符,

直接输入:+、-、*、/

命令输入: imes 乘号×、div 除号÷、cdot 点乘 · 、pm 加减号±、mp 减加号

常用特殊算符:∇ ( abla) 和 ∂ (partial) 

更多符号参考:

 

特别的,在latex中将数学函数的名称作为一个算符排版,字体为直立字体

 栗子:

[
lim_{x 
ightarrow 0}
frac{sin x}{x}=1
]

输出:

 还有,求模表达式,

mod  类似于一个二元运算符    $amod b $ 即 a mod b

pmod 是同余表达式的后缀         $xequiv a pmod{b} $  即 x ≡ a (mod b)

P.S. 如果这些算符还不够,可以尝试自己定义运算符,使用amsmath宏包中的   DeclareMathOperator{代号}{书写方式}

栗子:(带星号的 DeclareMathOperator* )是为了定义带上下限的运算符 

DeclareMathOperator{argh}{argh}
DeclareMathOperator*{
ut}{Nut}

[argh 3 = 
ut_{x=1} 4x]

输出:

  •  巨算符

顾名思义,巨算符就是看起来比较 巨大 的算符,如积分符号(int) 和 求和符号(sum)

值得注意的是,巨算符在行内和行间的大小是不一样的

例子:

In text:
$sum_{i=1}^n quad
int_0^{frac{pi}{2}} quad
oint_0^{frac{pi}{2}} quad
prod_epsilon $ \
In display:
[sum_{i=1}^n quad
int_0^{frac{pi}{2}} quad
oint_0^{frac{pi}{2}} quad
prod_epsilon ]

输出:

 巨算符一般都有写明上下标,有时候在上下方,有时候在右上下方,怎么控制?当然是使用控制命令:

limits 上标位于上下方

olimits 上标位于右上下方

栗子:

In text:
$sumlimits_{i=1}^n quad
intlimits_0^{frac{pi}{2}} quad
prodlimits_epsilon $ \
In display:
[sum
olimits_{i=1}^n quad
intlimits_0^{frac{pi}{2}} quad
prod
olimits_epsilon ]

输出:

有时候我们需要在下限位置书写多行的表达式,这时:amsmath 宏包还提供了 substack,

subarray 环境更进一步,令多行表达式可选择居中 (c) 或左对齐 (l)。

栗子:

[
sum_{substack{0le ile n \
jin mathbb{R}}}
P(i,j) = Q(n)
]
[
sum_{egin{subarray}{l}
0le ile n \
jin mathbb{R}
end{subarray}}
P(i,j) = Q(n)
]

输出:

  •  数学重音和上下括号

有时候我们要用到求导、向量、和物理算符等,需要在符号之上  加个标志:

比如求导符号 ˙r (dot{r})、¨r (ddot{r})、表示向量的箭头 ⃗r (vec{r}) 、表示单位向量的符号 ˆe (hat{mathbf{e}}) 等

 更多参考:

 特别的,使用的时候要注意重音的作用区域!一般是对某个符号使用重音而不是对“符号加下标”使用重音。

如果要为多个符号加重音,

直线:overline 和 underline 命令(可叠加使用)

hat{}、宽重音符号 widehat{}

箭头:overrightarrow

栗子:

$0.overline{3} =
underline{underline{1/3}}$ \[5pt]
$hat{XY} qquad widehat{XY}$\[5pt]
$vec{AB} qquad
overrightarrow{AB}$

输出:

 更多参考:

 有时候我们会使用到上下括号:

overbrace 和 underbrace 命令用来生成上/下括号,各自可带一个上/下标公式。

栗子:

$underbrace{overbrace{(a+b+c)}^6
cdot overbrace{(d+e+f)}^7}
_	ext{meaning of life} = 42$

输出:

  • 箭头

常用的箭头:左右箭头    ightarrow (→,或 o)、leftarrow(←,或 gets)

有时候我们希望在箭头上写下一些表达式,而且看起来饱满,需要使用amsmath 的 xleftarrow 和 xrightarrow 命令,

提供了长度可以伸展的箭头,并且可以为箭头增加上下标

栗子:

[ axleftarrow{x+y+z} b ]
[ cxrightarrow[x<y]{a*b*c}d ]

输出:

 更多箭头使用参见:

  • 括号和定界符

latex提供多种括号来表示公式块的边界,如小括号 ()、中括号 []、

大括号 {}({  })、

尖括号 ⟨⟩ (langle angle)等

 更多参见:

 

 注意:技巧来了,在使用定界符或者括号的时候,可以在这一对定界符之前,分别加上

left  和 ight, 效果是什么,自动匹配大小,是不是很牛逼!!!!!

还有,left  和 ight必须成对使用,如果你非得使用一个定界符,那么另一边的定界符号

用left.  和 ight. 代替.

栗子:

[1 + left(frac{1}{1-x^{2}}

ight)^3 qquad
left.frac{partial f}{partial t}

ight|_{t=0}]

输出:

 人的欲望总是难以满足,这样也好,会赚钱的人就能赚到一辈子都赚不到的钱.

有时候我们不满足于使用left 和 ight 自动匹配得到的(不美的)定界符, 简单, 我们手动调整就好了,

使用 ig igg 命令来生成固定大小的定界符

(显著的优点:使用left和 ight定界符包裹的公式快是不允许换行的,而使用ig igg 命令却没有这种限制)

常用的用法是 (即在固定大小命令后增加书写符号,左边关键词l, 右边关键词r), 而且这些不必成对出现

left  ====> igl( Bigl( iggl( Biggl( 

ight  ====>bigr} Bigr} iggr} Biggr}

栗子:

$Bigl((x+1)(x-1)Bigr)^{2}$\
$igl( Bigl( iggl( Biggl( quad
igr} Bigr} iggr} Biggr} quad
ig| Big| igg| Bigg| quad
igDownarrow BigDownarrow
iggDownarrow BiggDownarrow$

输出:

第三: 多行公式

  • 长公式折行

原则上尽量避免写出需要折行的一行公式, 有时候情非得已就这样,

使用amsmath 宏包的 multline 环境,允许使用  \  来折行

multline 环境下将公式编号放在最后一行。多行公式的首行左对齐,末行右对齐,其余行居中。

公式的最后一行不写 \,如果写了,反倒会产生一个多余的空行。

栗子:

egin{multline}
a + b + c + d + e + f
+ g + h + i \
= j + k + l + m + n\
= o + p + q + r + s\
= t + u + v + x + z
end{multline}

输出:

 p.s.  equation*,multline* 环境排版不带编号的折行长公式。

  •  多行公式

前面讲了multline环境下的对齐方式,但是更多的时候,我们想要的是:

罗列一连串公式,然后按照等号对齐,

使用align环境+ &分隔符实现

作用:将公式分割为两个部分并对齐,分隔符&常放在等号的左边

栗子:

egin{align}
a & = b + c \
& = d + e
end{align}

输出:

 离谱的是, algin会给每一行公式都编上号码, 不要慌, 我能可以用 otag命令去掉某行的编号,像这样:

注:这里在等号后面使用{}原因是,希望产生正常的间距,空格不被吞掉   对齐分隔符用在等号右侧, 细品

egin{align}
a ={} & b + c \
={} & d + e + f + g + h + i
+ j + k + l 
otag \
& + m + n + o \
={} & p + q + r + s
end{align}

输出:

 神奇的是, align 还能够对齐多组公式,除等号前的 & 之外,公式之间也用 & 分隔

栗子:

egin{align}
a &=1   & b &=2  & c &=3  \
d &=-1  & e &=-2 & f &=-5
end{align}

输出:

当然, 如果我们只需要简单地罗列公式,而不必考虑对齐, 那么就是

使用gather环境

栗子:

egin{gather}
a = b + c \
d = e + f + g \
h + i = j + k 
otag \
l + m = n
end{gather}

输出:

 gather环境下, 就是multline环境 的除去对齐效果的删减版

 P.S. align 和 gather 有对应的不带编号的版本 align* 和 gather*。

  • 公用编号的多行公式

 我们有时候需要为多个公式只匹配一个编号, 编号位于公式的居中位置, 怎么办呢?

使用 amsmath 宏包:  equation 环境 +(套用) aligned、gathered 等环境   <禁止套娃>

栗子:

egin{equation}
egin{aligned}
a &= b + c \
d &= e + f + g \
h + i &= j + k \
l + m &= n
end{aligned}
end{equation}

输出:

 p.s.    split 环境和 aligned 环境用法类似,也用于和 equation 环境套用,区别是 split 只能

将每行的一个公式分两栏,aligned 允许每行多个公式多栏。

第四: 数组和矩阵

原文地址:https://www.cnblogs.com/PiaYie/p/13542051.html