Latex 入门教程

Posted 随遇丿而安

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Latex 入门教程相关的知识,希望对你有一定的参考价值。

Latex 入门教程

学习途径:LaTex入门_哔哩哔哩_bilibili

运行环境:texlive2021、texstudio-4.1.2-win-qt6

1. 基本结构

整个 Latex 文件分为两个部分,第一个部分为导言区,第二个部分为正文区。具体内容如下

% 导言区
\\documentclassarticle  %book, report, letter

\\title数字孪生
\\authorxiaxiang
\\date\\today
% 显示中文包
\\usepackagectex

% 正文区 有且只有一个 document 环境
\\begindocument
	% 让 title 显示出来
	\\maketitle
	
	第一小节
\\enddocument

2. 中文处理

  1. 设置编辑器,查看 选项-》设置-》构建-》默认编辑器-》XeLaTex
  2. 确保 Latex 源文件为 UTF-8 格式,才能支持中文,选项在 Texstudio 编辑器右下角

  1. 导入中文宏包,\\usepackagectex

查看各类相关文档 texdoc xxx

  • texdoc ctex
  • texdoc lshort-zh这份资料是 Latex 中文的入门教程,很不错

3. 字体设置

在 Latex 中,一个字体有五种属性,字体编码,字体族,字体系列,字体形状,字体大小

相关设置如下

% 一般只有 10-12 磅,[12pt] 代表正常字体的大小
\\documentclassarticle[12pt]  %book, report, letter

\\usepackagectex

% 推荐使用字体方式为 自定义字体,而非使用系统字体
\\newcommand\\myfont\\textrm\\textmd

% 有且只有一个 document 环境
\\begindocument
	
	% 字体系列 (罗马字体,无衬线字体、打字机字体)
	\\textrmRoman Family \\textsfSans Serif Family \\textttTypewriter Family
	
	% 字体作用域
	\\rmfamily Roman Family \\sffamily Sans Serif Family \\ttfamily Typewriter Family
	\\sffamily Hello global family
	
	% 字体系列设置
	\\textmdMedium Series \\textbfBoldface Series
	\\mdseries Medium Series \\bfseries Boldface Series
	
	% 字体形状
	\\textupUpright Shape \\textitItalic Shape
	%\\textslSlanted Shape \\textscSmall Caps Shape
	%\\upshape Upright Shape \\itshape Italic Shape \\slshape Slanted Shape \\scshapeSmall Caps Shape 
	
	% 中文字体
	\\songti 宋体 \\quad \\heiti 黑体  \\quad \\fangsong 仿宋  \\quad \\kaishu 楷书
	
	% 字体大小 tiny scriptsize footnotesize small normalsize large Large LARGE huge Huge
	\\tiny Hello
	\\zihao5 你好
\\enddocument

更加详细的文档可以参考 texdoc ctex。其中需要注意的是在

  1. documentclass 处可以设置 normal font size
  2. 在使用时一般自定义字体,而不是直接使用系统字体

4. 篇章结构

  1. section、subsection、subsubsection 构成篇章结构,\\tableofcontents构成目录
\\begindocument
		% 目录
	\\tableofcontents
	
	% \\chapter绪论
	\\section引言
	
	% \\par 分段 \\\\ 换行 通常使用空行
	\\section实验方法
	\\section实验结果
	\\subsection数据
	\\subsection图表
	\\subsubsection实验条件
	\\subsubsection实验过程
	\\subsection结果分析
	\\section结论
	\\section致谢
	
\\enddocument

空行可以进行分段;\\par也可以进行分段,开头会空两格;\\\\ 不会分段,只会换行,开头不会空两格

  1. 使用\\chapter也可以分章节,但是这时候文档类别得设置成 book,在这种情况下 subsubsection会无效
  2. 如果想自定义标题样式,可以设置 \\ctexset,具体实现方法见 texdoc ctex

5. 特殊字符

  1. 空白符合
% 空行分段,多个空行等同一个
% 自动缩进,绝对不能使用空格代替
% 英文中多个空格处理为一个空格,中文中空格将被忽略
% 汉字与其他字符的间距会自动由 XeLaTeX 处理
% 禁止使用中文全角空格

\\quad % 1em
\\qquad % 2em
\\,  \\thinspace % 1/6em
\\enspace % 0.5em
\\  % 空格
~  % 硬空格(不能分割得空格)
\\kern 1pc % 1pc=12pt=4.218mm 自定义长度得空格
\\kern -1em % 使用负号长度
\\\\hskip 1em % 自定义
\\hspace35pt % 自定义
\\hphantomxyz % 占位宽度
\\hfill % 弹性长度空白
  1. 控制符
% 转义这些符合
\\# \\$ \\% \\ \\ \\~ \\_ \\^ \\&
\\textbackslash % 转义 \\\\,原因 \\\\ 代表换行
  1. 排版符号,\\S \\P \\dag \\ddag \\copyright \\pounds

  2. 标识符号,\\Tex \\LaTeX \\LaTeXe

  3. 引号

% 左边的单引号和双引号
` ``
% 右边的单引号和双引号
\' \'\'
  1. 连字符 - -- ---

  2. 非英文字符 \\oe \\OE \\ae \\AE \\aa \\AA \\o \\O \\l \\L \\ss \\SS !

  3. 重音符号,以 o 为例

\\`o \\\'o \\^o \\\'\'o \\~o \\=o \\.o \\uo \\vo \\Ho \\ro \\to \\bo \\co \\do

6. 插图

使用插图先安装宏包,在引入图片路径,最后引用

  1. 使用宏包和引入图片路径
% 引入图片宏包
\\usepackagegraphicx
% 可以指定多个路径
\\graphicspathfigures/, pics/
  1. 插入图片,使用图片时可不用写图片后缀,支持 EPS,PDF,PNG,JPEG,BMP
\\includegraphicsimg2.jpg
% 不带后缀也可以
\\includegraphicstiger
% 缩放旋转
\\includegraphics[scale=0.3]tiger

命令细节 texdoc graphicx

7. 表格

表格有专门的环境:tabular

\\begindocument
	% | 表示表格竖线 || 双竖线
	\\begintabular|| l | c || c | c | p1.5cm ||
		% hline 表示一条横线,两个为双横线
		\\hline
		姓名 & 语义 & 数学 & 外语 & 备注 \\\\
		\\hline \\hline
		张三 & 15 & 10 & 20 & 好 \\\\
		李四 & 20 & 5 & 8 & 及格 \\\\
		王五 & 15 & 10 & 20 & 好 \\\\
	\\endtabular

\\enddocument

需要注意的是这些符号

  • l c r p:l 表示左对齐,c 表示中心对齐,r 表示右对齐,p表示指定宽度
  • \\hline 表示一条横线,连续两个为双横线。 | 表示竖线,|| 表示双竖线
  • & 分割一行中的每项数据
  • \\\\ 表示换行

详细细节可以看texdoc booktab, texdoc longtab, texdoc tabu

8. 浮动体

举两个例子,图像和表格,分别有自己的浮动环境

% 一般只有 10-12 磅
\\documentclassarticle[12pt]  %book, report, letter

\\usepackagegraphicx
\\graphicspathfigures/
\\usepackagectex

% 有且只有一个 document 环境
\\begindocument
	
	这是一只可爱的猫(图\\reffig-tiger)
	
	\\beginfigure[htbp]
		\\centering
		\\includegraphics[scale=0.3]tiger
		\\captiontiger \\labelfig-tiger
	\\endfigure

	图像学基础(图\\reffig-graphics)

	\\beginfigure[htbp]
		\\centering
		\\includegraphics[scale=0.3]img2
		\\captiontiger \\labelfig-graphics
	\\endfigure

	这是三年级五班的成绩(表\\reftab-score)
		
	\\begintable[h]
		\\centering
		\\caption考试成绩单 \\labeltab-score
		\\begintabular|| l | c || c | c | p1.5cm ||
			% hline 表格恒星,两个为双横线
			\\hline
			姓名 & 语义 & 数学 & 外语 & 备注 \\\\
			\\hline \\hline
			张三 & 15 & 10 & 20 & 好 \\\\
			李四 & 20 & 5 & 8 & 及格 \\\\
			王五 & 15 & 10 & 20 & 好 \\\\
			\\hline
		\\endtabular
	\\endtable
\\enddocument

解释下其中代码含义

  • figure 和 table 分别是表格和图像的浮动布局,用来设置两种元素的位置
  • [htbp] 表示允许的位置,h,此处;t,页顶;b,页底;p,独立一页;默认tbp
  • \\centering 表示横向剧中
  • \\caption 表示标题
  • \\label 表示当前图的表示,可以在其他地方引用,达到交叉引用的效果

图和表分别计算,从 1 自动往后递增。扩展:标题控制(caption,bicaption等)、并排与子图表(subcaption、subfig、floatrow等)、绕排(picinpar、wrapfig等)

9. 数学公式

排版内容分为文本模式和数学模式。文本模式用于普通文本排版,数学模式用于数学公式排版

\\begindocument
	
	\\section简介
	
	排版内容分为文本模式和数学模式。文本模式用于普通文本排版,数学模式用于数学公式排版。
	
	\\section行内公式
	\\subsection美元符号
	$a+b=c=d+f=e$
	\\subsection小括号
	\\(a+b=c=d+f=e\\)
	\\subsectionmath环境
	\\beginmath
		a+b=c=d+f=e
	\\endmath

	\\section上下标
	$x^3_1 + 3x^2_2 + 2x_11 + 9 = 0$
	
	\\section希腊字母
	$\\alpha$ $\\beta$ $\\gamma$ $\\epsilon$ $\\pi$ $\\omega$ $\\Gamma$ $\\Delta$ $\\Theta$ $\\Pi$
	
	$\\alpha^2 + \\beta^2 +\\gamma^2 = 1$
	
	\\section数学函数
	$\\log$ $\\sin$ $\\cos$ $\\arcsin$ $\\arccos$ $\\ln$
	
	$ y=\\log_2n + \\sqrt[3]m + \\sin^-1$
	
	\\section分式
	$a/b \\frac38$
	
	\\section行公式
	\\subsection美元符号
	$$
		y=\\log_2n + \\sqrt[3]m + \\frac38
	$$
	
	\\subsection中括号
	\\[	y=\\log_2n + \\sqrt[3]m + \\frac38\\]
	
	\\subsectiondisplaymath
	\\begindisplaymath
		y=\\log_2n + \\sqrt[3]m + \\frac38
	\\enddisplaymath
	\\subsection自动编号公式equation环境(如公式\\refeq:y1)
	\\beginequation
		y=\\log_2n + \\sqrt[3]m + \\frac38
		\\labeleq:y1
	\\endequation

\\enddocument

注意解释的只有最后一个自动编号公式,该公式可以提取出当前公式序号,达到交叉引用的效果

10. 矩阵排版

矩阵运算需要有数学公式的环境,因此可以用到第 9 节的行外公式,首先介绍各种矩阵

	$
	\\beginmatrix
		0 & 0 \\\\
		1 & 1
	\\endmatrix
	$ \\ 
	$
	\\beginpmatrix
		0 & 0 \\\\
		1 & 1
	\\endpmatrix
	$ \\ 
	$
	\\beginbmatrix
		0 & 0 \\\\
		1 & 1
	\\endbmatrix
	$ \\ 
	$
	\\beginBmatrix
		0 & 0 \\\\
		1 & 1
	\\endBmatrix
	$ \\ 
	$
	\\beginvmatrix
		0 & 0 \\\\
		1 & 1
	\\endvmatrix
	$ \\ 
	$
	\\beginVmatrix
		0 & 0 \\\\
		1 & 1
	\\endVmatrix
	$

上述分别为各种矩阵的环境,矩阵内同样可以进行各种计算

	$$
	\\beginbmatrix
		a^2_11 & a^2_12 & a^2_13 \\\\
		0 & a^2_22 & a^2_23 \\\\
		0 & 0 & a^2_33 \\\\
	\\endbmatrix
	$$

也可以写各种省略符号

	\\newcommand\\adots\\mathinner\\mkern2mu%
		\\raisebox0.1em.\\mkern2mu\\raisebox0.4em.%
		\\mkern2mu\\raisebox0.7em.\\mkern1mu
	
	$$
	A = \\beginbmatrix
		a^2_11 & \\dots & a^2_1n \\\\
		 \\adots & \\ddots & \\vdots \\\\
		 &  & a^2_nn \\\\
	\\endbmatrix_n \\times n
	$$

结合分块矩阵和长省略号可得

	$$
	\\beginbmatrix
		a_11 & a_12 & \\dots & a_1n \\\\
		\\hdotsfor4 \\\\
		& & \\ddots & \\vdots \\\\
		\\multicolumn2c\\raisebox1.3ex[0pt]\\Huge 0  &  & a^2_nn \\\\
	\\endbmatrix
	$$

使用 array 可以表示更为复杂的矩阵

$$
	\\beginarrayc@\\hspace-5ptl
		\\left(
			\\beginarrayccc|ccc
					a & \\cdots & a & b & \\cdots & b \\\\
					 & \\ddots & \\vdots & \\vdots & \\adots \\\\
					 & 		  & a & b \\\\
					 &		  &   & c & \\cdots & c \\\\
					 &		  &	  & \\vdots & & \\vdots \\\\
					 \\multicolumn3c\\raisebox2ex[0pt]\\Huge 0 & c & \\cdots & c
			\\endarray
		\\right)
		&
		\\beginarrayl
			\\left.\\rule0mm7mm \\right\\p\\\\
			\\\\
			\\left. \\rule0mm7mm \\right\\q
		\\endarray
		\\\\[-5pt]
		% 第二行
		\\beginarraycc
			\\underbrace\\rule17mm0mm_m &
			\\underbrace\\rule17mm0mm_m
		\\endarray
	\\endarray
	$$

解析这个表达式

  1. 最外层套了一个 array,它包括矩阵、pq 和两个 m。大框架就已经确定了
  2. 矩阵为一个 array,它包括 a、b、0 和 c
  3. 只要把整体结构把握好,还是比较容易看出拼凑的逻辑

11. 多行数学公式

多行公式的环境有,gather|gather*, alig|align*, split, case

% 有且只有一个 document 环境
\\begindocument
	% 带编号的公式
	\\begingather
		a+b=b+a \\notag \\\\
		ab = ba
	\\endgather

	% 不带编号
	\\begingather*
		a+b=b+a \\\\
		ab = ba
	\\endgather*

	% align 环境带编号
	\\beginalign
		x & = a + \\cos(b) + \\sin(c) \\\\
		y & = 1 \\\\
		z & = \\frac2079 \\times 987
	\\endalign

	\\beginalign*
		x &= t &  x &= \\cos y \\\\
		y &= u &  y &= \\sin (u+1)
	\\endalign*
	
	% split 对齐方式与 align 一致,但整体属于一个公式
	\\beginequation
	\\beginsplit
		\\cos 2x &= \\cos^2 x - \\sin^2 x \\\\
		 &= 2\\cos^2 x -1
	\\endsplit
	\\endequation

	\\beginequation
	D(x) = \\begincases
		1, & \\text如果 x \\in \\mathbbQ \\\\
		2, & \\text如果 x \\in \\mathbbR \\setminus \\mathbbQ
	\\endcases
	\\endequation
\\enddocument

注意点:

  1. 带星号是不带编号的数学公式
  2. 在 gather 环境中,\\notag 表示当前行没有公式
  3. 在 align 环境中,可以用 & 进行对其操作
  4. 在 split 环境中,也可以使用 & 进行对齐,并且整体属于一个公式
  5. 在 cases 环境中,整体属于一个公式
  6. 在数学公式中不能输入文字,但是可以通过 \\text 的方式输入文本

12. 参考文献

参考文献排版分为多类,如果只是单次使用,直接用 thebibliography 环境即可,使用 \\cite 进行引用;如果想进行单次管理多次使用,可以将参考文献使用另外的文件定义

  1. 单次使用
	引用第一篇文章 \\citearticle1,引用第二篇书籍 \\citebook1 等等
	
	% 参考文献排版
	% 一次管理,一次使用,99为编号样本
	\\beginthebibliography99
		\\bibitemarticle1 引用\\emph重点文章1
		\\bibitembook1 引用书籍1
	\\endthebibliography
  1. 多次使用

新建一个 bib 格式的文件,text.bib,数据来源,谷歌学术,知网

@article陶飞2018数字孪生及其应用探索,
	title=数字孪生及其应用探索,
	author=陶飞 and 刘蔚然 and 刘检华 and 刘晓军 and 刘强 and 屈挺 and 胡天亮 and 张执南 and 向峰 and 徐文君 and others,
	journal=计算机集成制造系统,
	volume=24,
	number=1,
	pages=1--18,
	year=2018


@articlerego20153dmol,
	title=3Dmol. js: molecular visualization with WebGL,
	author=Rego, Nicholas and Koes, David,
	journal=Bioinformatics,
	volume=31,
	number=8,
	pages=1322--1324,
	year=2015,
	publisher=Oxford University Press

先点击引用,后点击 BibTeX 将得到需要的数据,复制粘贴进我们创建的 bib 文件中即可使用

使用方法

% 1 设置参考文献样式
\\bibliographystyleplain % plain unsrt alpha abbrv

\\begindocument

	% \\cite 后面的参数是 bib 单个数据中的第一个头信息
	这是引用来自知网的参考文献 \\cite__2021

	% \\citep \\citet
	这是引用的 bib 文件下的参考文献 \\cite陶飞2018数字孪生及其应用探索 便于探索

	\\nocite*
	\\bibliographytext, zote
	 
\\enddocument
  • \\nocite* 表示将没有引用的文献也罗列出来
  • \\bibliographytext, zote 表示导入 bib 数据库,这里有两个数据库
  1. 导入知网中的文献,下载 zotero 以及 google 的扩展工具,进入知网的搜索页面,点击扩展工具,可以获得当前页面的所有文献信息。这些信息可以通过 zotero 导出成 bib 文件供我们使用,也可以把这个文件中的信息复制出来统一放在一个 bib 文件中

  1. 新参考文献排版引擎 BibLaTeX 使用较麻烦,有兴趣可以自行搜索

13. 定义新命令和环境

可以定义新命令使用、

% 一般只有 10-12 磅
\\documentclassarticle[12pt]  %book, report, letter

\\usepackagectex

\\newcommand\\newMessage这是一个新的命令字符串

\\newcommand\\loves[2]#1 喜欢 #2

\\newcommand\\lovess[3]#1 喜欢 #2, #2 喜欢 #3,#3 喜欢 #1

% 第一个参数为可选参数,默认为喜欢
\\newcommand\\defaultLove[3][喜欢]#2 #1 #3

% \\renewcommandcmddef 与 newcommand 使用方法
% \\newenvironmentenvnamebegdefenddef 与 newcommand 用法一致,具体见文档

% 有且只有一个 document 环境
\\begindocument
	 \\newMessage
	 
	 \\loves猫儿小鱼
	 
	 \\lovess猫儿狗儿羊儿
	 
	 \\defaultLove小花小明
	 
	 \\defaultLove[讨厌]小花小明
\\enddocument

  • 注意可以用默认参数
  • 自定义命令可以是输出指定字符串
  • 重定义环境看相关文档
希望读者在看完后能提出意见, 点个赞, 鼓励一下, 我们一起进步. 加油 !!

以上是关于Latex 入门教程的主要内容,如果未能解决你的问题,请参考以下文章

LaTex:有关LaTex的入门语法使用

LaTex实战笔记 1-快速入门

LaTeX快速入门-蔡炎龙

LaTeXE喵的LaTeX新手入门教程中文

LaTeXE喵的LaTeX新手入门教程

Latex 初学者入门-- 多个作者共享同一个地址