• 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 允许每行多个公式多栏。

    第四: 数组和矩阵

  • 相关阅读:
    JavaScript:原生模拟$.ajax以及jsonp
    Nodejs之路:非I/O的异步API
    Nodejs之路:异步I/O的过程
    同步、异步、阻塞、非阻塞
    spring mvc在普通类中获取HttpServletRequest对象
    Nginx反向代理实现Tomcat多个应用80端口访问
    IIS 7.5配置PHP站点
    程序员与禅师
    MVC一些需要注意的问题
    强制卸载VS2013
  • 原文地址:https://www.cnblogs.com/PiaYie/p/13542051.html
Copyright © 2020-2023  润新知