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 環境分別用於生成居中、左對齊和右對齊的文字環境。
\begin{center} … \end{center}
\begin{flushleft} … \end{flushleft}
\begin{flushright} … \end{flushright}
除此之外,還可以用命令直接改變文字的對齊方式
\centering
\raggedright
\raggedleft
設定字型和字號
latexe設定了兩組命令來修改字型和字號,全域性生效,如果是想要區域性生效,就要
使用{ }分組。也就是寫成 {\bfseries ⟨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 命令:
This\hspace{1.5cm}is a space of 1.5 cm.
可以結合\stretch{⟨n⟩}命令使用。
如果同一行內出現多個 \stretch{⟨n⟩},這一行的所有可用空間將按每個 \stretch 命令給定
的權重 ⟨n⟩ 進行分配。
在正文中用 \hspace 命令生成水平間距時,往往使用 em 作為單位,生成的間距隨字號大
小而變。我們在數學公式中見過 \quad 和 \qquad 命令,它們也可以用於文字中,分別相當於
\hspace{1em} 和 \hspace{2em}
參考文獻用法
簡單的thebibliography環境,每條參考文獻由\bibitem開頭,其後是參考文獻本身的內容:
\begin{thebibliography}{⟨widest label⟩}
\bibitem[⟨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 提供的 \text 命令,舉例:
$x^{2} \geq 0 \qquad \text{for \textbf{all} } x\in\mathbb{R}$
輸出:
=======================分割線=========================
AMS巨集包 \usepackage{amsmath}
第一,行間公式:
由equatio環境包裹的在一行的公式,例如
The Pythagorean theorem is $a^2 + b^2 = c^2$.
輸出:
值得注意的是,行間公式如果使用equation環境(或者是$...$),會自動給公式生成一個編號,
這個編號可以用\ref或者\label生成交叉引用。需要用到它的時候,使用amsmath包的\eqref命令。
amsmath貼心地給交叉引用加上了圓括號()!!!
舉例:
The Pythagorean theorem is: \begin{equation} a^2 + b^2 = c^2 \label{pythagorean} \end{equation} Equation \eqref{pythagorean} is called `Gougu theorem' in Chinese.
輸出:
注:會有這麼幾種情況,
1-自動編號不想要,我要手動給他編號:使用\tag命令
2-使用\notag命令取消給公式編號
3-如果需要直接使用不帶編號的行間公式,方便地使用\[ 和\]包裹,即等效{displaymath}環境,或者{equation*}環境
\begin{equation*} a^2 + b^2 = c^2 \end{equation*} For short: \[ a^2 + b^2 = c^2 \] Or if you like the long one: \begin{displaymath} a^2 + b^2 = c^2 \end{displaymath}
輸出:
第二,數學符號:
-
一般符號
希臘字母符號: 要想寫出希臘字母,直接使用公式 \某希臘字母的名字 即可,分為大寫字母和小寫字母
如 α (\alpha)、β (\beta) 等等。大寫的希臘字母為首字母大寫的命令,如 Γ (\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中建議只在公式中插入少量文字,用\text命令, 但是如果要在很多文字中使用公式,就要像正常的行內公式那樣使用
-
分式和根式
\frac{分子}{分母} 是分式的書寫方式,(注意:分式的大小在行間是正常大小,在某一行中就會被壓縮
命令 \dfrac 和 \tfrac 用來在 行內顯示正常大小的分式 和 行間顯示被壓縮的分式
\sqrt{...} 一般根式
\sqrt[n]{...} n次方根的寫法
(當然,這些都要在公式中)
P.S. 特殊的分式,如二項式結構,需要用到巨集包\binom
Pascal's rule is \[ \binom{n}{k} =\binom{n-1}{k} + \binom{n-1}{k-1} \]
輸出:
-
關係符號
直接輸入:= 、>、<
公式輸入:\ne 不等號≠、\ge 大於等於號≥、\le小於等於號≤、\approx 約等號≈、\equiv 等價符號≡、 \propto 正比符號 、\sim 相似符號
一種自定義的二元關係符,將一個符號疊加在另一個符號之上:\stackrel
舉例:
\[ f_n(x) \stackrel{*}{\approx} 1 \]
輸出:
-
其他二元關係符:
-
算符
大多數都是二元運算子,
直接輸入:+、-、*、/
命令輸入:\times 乘號×、\div 除號÷、\cdot 點乘 · 、\pm 加減號±、\mp 減加號
常用特殊算符:∇ (\nabla) 和 ∂ (\partial)
更多符號參考:
特別的,在latex中將數學函式的名稱作為一個算符排版,字型為直立字型
栗子:
\[ \lim_{x \rightarrow 0} \frac{\sin x}{x}=1 \]
輸出:
還有,求模表達式,
\bmod 類似於一個二元運算子 $a\bmod b $ 即 a mod b
\pmod 是同餘表示式的字尾 $x\equiv a \pmod{b}$ 即 x≡ a (mod b)
P.S. 如果這些算符還不夠,可以嘗試自己定義運算子,使用amsmath巨集包中的 \DeclareMathOperator{代號}{書寫方式}
栗子:(帶星號的\DeclareMathOperator*)是為了定義帶上下限的運算子
\DeclareMathOperator{\argh}{argh} \DeclareMathOperator*{\nut}{Nut} \[\argh 3 = \nut_{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 上標位於上下方
\nolimits 上標位於右上下方
栗子:
In text: $\sum\limits_{i=1}^n \quad \int\limits_0^{\frac{\pi}{2}} \quad \prod\limits_\epsilon $ \\ In display: \[\sum\nolimits_{i=1}^n \quad \int\limits_0^{\frac{\pi}{2}} \quad \prod\nolimits_\epsilon \]
輸出:
有時候我們需要在下限位置書寫多行的表示式,這時:amsmath 巨集包還提供了 \substack,
subarray 環境更進一步,令多行表示式可選擇居中 (c) 或左對齊 (l)。
栗子:
\[ \sum_{\substack{0\le i\le n \\ j\in \mathbb{R}}} P(i,j) = Q(n) \] \[ \sum_{\begin{subarray}{l} 0\le i\le n \\ j\in \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} _\text{meaning of life} = 42$
輸出:
-
箭頭
常用的箭頭:左右箭頭 \rightarrow (→,或 \to)、\leftarrow(←,或 \gets)
有時候我們希望在箭頭上寫下一些表示式,而且看起來飽滿,需要使用amsmath 的 \xleftarrow 和 \xrightarrow 命令,
提供了長度可以伸展的箭頭,並且可以為箭頭增加上下標
栗子:
\[ a\xleftarrow{x+y+z} b \]
\[ c\xrightarrow[x<y]{a*b*c}d \]
輸出:
更多箭頭使用參見:
-
括號和定界符
latex提供多種括號來表示公式塊的邊界,如小括號 ()、中括號 []、
大括號 {}(\{\})、
尖括號 ⟨⟩ (\langle \rangle)等
更多參見:
注意:技巧來了,在使用定界符或者括號的時候,可以在這一對定界符之前,分別加上
\left 和 \right, 效果是什麼,自動匹配大小,是不是很牛逼!!!!!
還有,\left 和 \right必須成對使用,如果你非得使用一個定界符,那麼另一邊的定界符號
用\left. 和 \right. 代替.
栗子:
\[1 + \left(\frac{1}{1-x^{2}} \right)^3 \qquad \left.\frac{\partial f}{\partial t} \right|_{t=0}\]
輸出:
人的慾望總是難以滿足,這樣也好,會賺錢的人就能賺到一輩子都賺不到的錢.
有時候我們不滿足於使用\left 和 \right 自動匹配得到的(不美的)定界符, 簡單, 我們手動調整就好了,
使用 \big \bigg 命令來生成固定大小的定界符
(顯著的優點:使用\left和\right定界符包裹的公式快是不允許換行的,而使用\big \bigg 命令卻沒有這種限制)
常用的用法是(即在固定大小命令後增加書寫符號,左邊關鍵詞l, 右邊關鍵詞r), 而且這些不必成對出現
\left ====>\bigl( \Bigl( \biggl( \Biggl(
\right ====>bigr\} \Bigr\} \biggr\} \Biggr\}
栗子:
$\Bigl((x+1)(x-1)\Bigr)^{2}$\\ $\bigl( \Bigl( \biggl( \Biggl( \quad \bigr\} \Bigr\} \biggr\} \Biggr\} \quad \big\| \Big\| \bigg\| \Bigg\| \quad \big\Downarrow \Big\Downarrow \bigg\Downarrow \Bigg\Downarrow$
輸出:
第三: 多行公式
-
長公式折行
原則上儘量避免寫出需要折行的一行公式, 有時候情非得已就這樣,
使用amsmath 巨集包的 multline 環境,允許使用 \\ 來折行
multline 環境下將公式編號放在最後一行。多行公式的首行左對齊,末行右對齊,其餘行居中。
公式的最後一行不寫 \\,如果寫了,反倒會產生一個多餘的空行。
栗子:
\begin{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環境+ &分隔符實現
作用:將公式分割為兩個部分並對齊,分隔符&常放在等號的左邊
栗子:
\begin{align} a & = b + c \\ & = d + e \end{align}
輸出:
離譜的是, algin會給每一行公式都編上號碼, 不要慌, 我能可以用 \notag命令去掉某行的編號,像這樣:
注:這裡在等號後面使用{}原因是,希望產生正常的間距,空格不被吞掉 對齊分隔符用在等號右側, 細品
\begin{align} a ={} & b + c \\ ={} & d + e + f + g + h + i + j + k + l \notag \\ & + m + n + o \\ ={} & p + q + r + s \end{align}
輸出:
神奇的是, align 還能夠對齊多組公式,除等號前的 & 之外,公式之間也用 & 分隔
栗子:
\begin{align} a &=1 & b &=2 & c &=3 \\ d &=-1 & e &=-2 & f &=-5 \end{align}
輸出:
當然, 如果我們只需要簡單地羅列公式,而不必考慮對齊, 那麼就是
使用gather環境
栗子:
\begin{gather} a = b + c \\ d = e + f + g \\ h + i = j + k \notag \\ l + m = n \end{gather}
輸出:
gather環境下, 就是multline環境 的除去對齊效果的刪減版
P.S.align 和 gather 有對應的不帶編號的版本 align* 和 gather*。
-
公用編號的多行公式
我們有時候需要為多個公式只匹配一個編號, 編號位於公式的居中位置, 怎麼辦呢?
使用amsmath 巨集包:equation 環境 +(套用)aligned、gathered 等環境 <禁止套娃>
栗子:
\begin{equation} \begin{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 允許每行多個公式多欄。