latex参考文献多一行数字_LaTeX专栏003|入门篇排版基础知识

继前两篇入门篇文章LaTeX专栏001|入门篇-谈安装与排版心得和LaTeX 专栏002|入门篇-两种编辑器的配置的推送之后,有大多数同学都开始用上了这款排版软件,这里我不说假话,通过我从2017年开始用起它来排版数学笔记之后,让同学接触与认识到LaTeX的同学有近四五位数,从中我也帮助过无数的同学正确安装并使用它,我很高兴你们能通过它来排版一篇属于自己的数学notes,或是投稿论文等,当然八一希望有更多的同学们都可以用上它挥洒自如!

今天的内容可能有点多,重点讲解LaTeX排版入门的基础知识,主要包括行间距与段间距、数学公式、表格、插图、参考文献、页眉页脚、列表、代码块等,这里分两期讲解,接下来开始我们今天的正文:

行间距与段间距

LaTeX 默认行间距为行高的20%,你要调整行间距是可使用setspace宏包,它具有的选项onehalfspacing可将行间距调整为1.5倍行高。宏包parskip可用于取消段落的缩进,此宏包中还包括段落间的距离调整功能,这里LaTeX  支持的长度单位有:

in - 英寸(inch)
mm - 毫米(millimeters)
cm - 厘米(centimeters)
pt - points (大约 $1/72$ inch)
em - 接近当前字体的字符 "M"的宽度
ex - 大约为小写字母"x" 的高度

长度是由十进制数和长度单位表示,并注意到长度是可以为负值,比如 -1.1em. 注意到数字 0 它本身不是一个长度,你必须表明是0in0pt 等,另外我这里告诉你大概数据,1 in = 2.54cm = 72ptem 和 ex 与当前字体尺寸有关

常用长度数据命令 :

\textwidth, \textheight
\parindent, \parskip
\hoffset, \voffset
\baselineskip

长度有时也可以是负值如\setlength{\hoffset}{-1mm}关于段落间距有关变量:

  • \baselineskip:行基线间距
  • \lineskip:行间距
  • \baselinestretch:伸展因子
  • \parskip:部分段间距
renewcommand{\baselinestretch}{1.2}
  • \linespread:行间距伸展命令
  • \lineskiplimit:当两行字之间的距离小于\lineskiplimit时,行距自动设为\lineskip
7d74b1c7a39ca7c74682ae79e308bb09.png
关于对 baseline(基线)的理解,可自行搜索维基百科

这里一般我推荐的搜索引擎为 Google,是其中段间距等于\lineskip + \parskip,而LaTeX中真正的间距,其实也就是两个基线之间的距离等于\lineskip = \baselineskip 乘 \baselinestretch,假设我们什么都不管,对于不同的文档类,默认字体大小不同,但默认的\baselineskip的值为默认字号的1.2倍,\baselinestretch在不同的文档类中也不同,article文档类中为1,ctexart文档类为1.3倍

我再具体解释下,意思就是你在article文档类中如果不指定伸展因子\baselinestretch,则行距就是每种字号对应的基本距离;而在ctexart中,由于是中文文档类,伸展因子\baselinestretch默认为1.3倍 ,行距为文中字号对应基本距离的1.3倍。

% 改变方式
\fontsize{字号}{基本距离}\selectfont

在不同的段之间,也可以设置段间距(默认为0)。通过\setlength{\parskip}{parSkip}来实现。比如说,你想设置段间距为2em,

setlength{\parskip}{2em}

在不同两段之间的距离,为\parskip+\baselineskip的距离。

这里值得注意的是,由于\\是断行不是分段,所以由\\引起的下一行与本行之间的距离,只有\baselineskip, 而不加上\parskip

一般在中文文章中,将\parskip 设置为 0pt,即行间距和段间距相等。设置伸展因子调整行距比较不靠谱,经常调不对,可直接通过\fontsize 直接调\baselineskip,使得 \baselinestretch 一直是1.

通过设置伸展因子调整行距不靠谱的原因是默认的\baselineskip 大于\fontsize大小

因此如果你伸展因子设置为 1.5,则实际得出的行距要大于 1.5 倍行距,示例如下:

renewcommand{\baselinestretch}{xx}:设置伸展因子。

通过在源文件中输入\showthe\baselineskip,可以在编译时得到当前的\baselineskip的值,并显示\baselineskip 的值。

另外我再补充几种分隔方式:

offset: 换行,并且与下一行的行间距为原来行间距+

\newpage分页命令,\clearpage\newpage 类似,均为强制分页,

如果想要首行缩进两个汉字距离,则\setlength{\parindent}{2em}.

数学公式

LaTeX 境下,最重要的数学宏包是AMS系列的:

  • 提供环境的包

    • amsmath:最基本的数学公式包
    • amscd:绘制交换图
    • amsthm:制作引理
  • 提供字体的包:

    • amsfont:定义了\mathfrak和\mathbb等数学字体
    • amssymb:数学符号的包

需要掌握下面最基本的几个环境

  • equation,equation* 单行单公式
  • multline multline* 多行公式,没有对齐操作,只给一个公式编号
  • gather gather* 多个公式,可添加多个公式编号
  • align align* 多个公式对齐,但只能对齐公式内部的一个部分
  • flalign flalign* 多个公式对齐,可对公式内的多个部分
  • split 分割公式

gathered 和gather的区别是放在了一个minipage里,aligned 也是minipage的问题

行内间、数学字体、符号与函数
  • 常用数学宏包:\usepackage{amsmath,amssymb,amsfonts}
  • 在数学模式中输入普通文本:\mbox{文本} 或 \text{文本} (用来加载amsmath 宏包)
  • 在数学模式中插入 空格:\quad, \qquad, \hspace,使用\, 等价 3/18 \quad
  • 数学公式书写:行内$ ··· $,行间:\[ ··· \],这里需要说明行间分单行与多行之分,一般美赛论文中是需要带编号,LaTeX可实现自动编号,单行可利用\begin{equation} ··· \end{equation}环境,多行编号可 \begin{align} ··· \end{align}实现,如果不要编号,在环境名加*即可实现,若其中某行公式无需编号, 在后面加 \notag 或 \nonumber
  • 常用数学字体命令:\mathrm, \mathit, \mathtt, \mathsf, \mathbf, \mathcal,\mathbb
  • 数学公式中的函数名最好用正体, 一般通过函数名命令输入,LaTeX中的函数命令都是斜杆\开始自定义新的函数名 (需 amsmath宏包),\DeclareMathOperator{\函数名命令}{函数名}:注意像这样的命令只能放置在导言区。
  • 如果是临时使用未定义的函数名, 也可以直接在公式中使用命令:可利用这样的命令\operatorname{函数名}
角标、分式、求和、积分、定界符与矩阵
  • 角标:上标ˆ{···}, 下标_{···},若实现导数 → 可以直接使用右单引号'\prime
  • 分式:\frac → 普通分式, \tfrac → \textstyle, \dfrac → \displaystyle。注意到\frac 在行内公式中等价于 \tfrac, 在行间公式中等价于 \dfrac;二项式系数: \binom, \tbinom, \dbinom;根式:\sqrt{···}或\sqrt[n]{···}
  • 求和与积分:求和\sum ,积分\int,针对于行内行间公式取不同的尺寸, 上下限位置也可能不同,这里举个例子,行间公式$$ \sum_{i=1}^{n} xˆi $$或\[\]可以等价于行内公式的$ \displaystyle\sum_{i=1}^{n} xˆi $或\(\)
  • 上、下划线:\overline{...},\underline{...}
  • 上、下大括号:\overbrace{...},\underbrace{...}
  • 堆积:\stackrel{上位符号}{基位符号},大家可能不懂,例下这样等号上有条件def

    这里可以考虑使用extarrows宏包,使用\xlongequal{条件}来上下添加文字的长等号

  • 定界符:LaTeX中常用的定界符( ) [ ] | / \ { } ∥ ⌊ ⌋ ⌈ ⌉ ⟨ ⟩ ↑ ↓ ↕ ⇑ ⇓ ⇕;定界符可以放大: \big (1.5 倍), \Big (2 倍), \bigg (2.5 倍), \Bigg (3 倍)
  • 定界符的自适应放大:\left, \right,比如\left(, \right)产生小括号,中括号为\left[...\right],大括号为\left\{...\right\},尖括号为\left<...>, 绝对值为\left|...\right|, 范数为\left\|...\right\|

    此外当我们需要出现单边括号时如,源码为\left.\frac{x^5}{e^x}\right|_{x=1},我们只将不需要的那半边括号用\left.代替好了.

  • 矩阵:通用的写法是\begin{matrix}a & b & c\\d & e & f\end{matrix}

    注意这里的matrix 环境要放在一个行间环境中。以上命令将生成通常当我们使用矩阵时,都需要指定一个定界符。固然,我们可以用matrix环境外加两侧的自动定界符 \left, \right等实现,但这过于繁琐。

简要的方法是使用一些预定义、自带定界符的环境,包括:

  • 带圆括号 的 pmatrix 环境;
  • 带方括号 的 bmatrix 环境;
  • 带花括号 的Bmatrix 环境;
  • 带绝对值界的 vmatrix 环境与带范数界的 Vmatrix .

只需要将上面的matrix 替换即可,此外若要在行间改为小矩阵,可使用 smallmatrix环境.

关于数学公式更多详情可查看由去年我翻译的一份简短的 LaTeX 数学指南[1],以及源码可见Short Math Guide for LaTeX 中译本[2]

c61a83c94b00f43a82e952eeaadd9149.png好了,就介绍到这里,我们下期见,主要把入门篇剩余表格、插图、参考文献、页眉页脚、列表、代码块讲解下.有关具体的详细内容你可以看看lshort-zh-cn v6.01[3]

参考资料

[1]

一份简短的 LaTeX 数学指南: https://www.latexstudio.net/archives/51735.html

[2]

Short Math Guide for LaTeX 中译本: https://github.com/hoganbin/short-math-guide

[3]

lshort-zh-cn v6.01: https://github.com/CTeX-org/lshort-zh-cn/releases

4fd172a32a36dbb9eb4f9b3b3eaa5879.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值