LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)

目录

  • 一、LaTeX软件的安装与环境配置
    •   1.LaTeX软件texlive的下载
    •   2. texlive的安装
  • 二、用命令行实现LaTeX文档的编写
    •   1.通过命令行演示LaTeX编写的过程
    •   2.将编译LaTeX并生成pdf文件的过程封装成一个bat文件
    •   3.演示一个含有中文的LaTeX文件
  • 三、用TexStudio IDE实现LaTeX文档的编写
    •   1.下载TexStudio
    •   2.安装TexStudio
    •   3.将TexStudio的语言设为中文
    •   4.选择TexStudio的编译器
    •   5.使用TexStudio编写一个LaTeX文件
  • 四、LaTeX源文件的基本结构
  • 五、LaTeX中的中文处理方法
    •   1.示例演示
    •   2.使用命令查看CTEX宏集手册
    •   3.使用命令查看LaTeX的简单教程
  • 六、LaTeX的字体字号设置
  • 七、LaTeX的篇章结构
  • 八、LaTeX中的特殊字符
  • 九、LaTeX中的插图
  • 十、LaTeX中的表格
  • 十一、LaTeX中的浮动体
  • 十二、LaTeX数学公式初步
  • 十三、LaTeX数学公式的矩阵
  • 十四、LaTeX数学公式的多行公式
  • 十五、LaTeX中的参考文献BibTex
    •   1.手动编写参考文献
    •   2.借助镜像Google学术实现文献数据库的管理
  • 十六、LaTeX中的参考文献BibLaTeX(因卡在Zotero插件上,本节笔记未记完)
  • 十七、LaTeX中的自定义命令和环境

  说明:1.该文章是学习 b站西北农林科技大学耿楠教授的LaTeX视频教程而记录的笔记,笔记来源于本人。 若有侵权,请联系本人删除。2.另外,由于时间导致一些软件的更迭,为了完成同样的功能,步骤等难免有所改动。笔记难免可能出现错误或笔误,若读者发现笔记有错误,欢迎在评论里批评指正。3.有些细节内容通过目录不便查询,请使用 浏览器的搜索快捷键Ctr+G,再尝试搜索对应内容。4.如果时间有限,建议直接把本人整理出的LaTeX代码复制到TexStudio中运行,对照着代码以及本人给出的详细注释进行理解。5.由于本人在使用 Zotero上还存在问题,故 关于LaTeX中参考文献的笔记并未整理完整,欢迎大家分享正确使用Zotero的方法。

一、LaTeX软件的安装与环境配置

  1.LaTeX软件texlive的下载

  如下图所示,首先去LaTex的官网,选择“downloading the TeX Live ISO image and burning your own DVD”,选择“download from a nearby CTAN mirror”(即选择最新的镜像文件),点击“texlive2023.iso”即可下载。

  2. texlive的安装

  如下图所示,点击下载好的iso镜像文件,以管理员身份打开“install-tl-windows.bat”。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第1张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第2张图片
  然后如下图所示修改安装路径,在弹出的窗口中点击“是”,并点击“安装”。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第3张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第4张图片
  长时间等待后,安装完成后会显示如下界面。
在这里插入图片描述
  然后如下图所示,打开命令行窗口,输入“xelatex -v”或“latex -v”,如果出现版本信息则说明安装成功。

xelatex -v
latex -v

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第5张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第6张图片

二、用命令行实现LaTeX文档的编写

  1.通过命令行演示LaTeX编写的过程

  首先如下图所示,在某个文件路径下打开命令行窗口。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第7张图片
  然后输入命令创建一个名为“testLaTex”的文件夹,然后在该文件夹中使用记事本创建文件“test.tex”。

mkdir testLaTex  # 创建文件夹“testLaTex”
cd testLaTex     # 进入文件夹“testLaTex”
notepad test.tex   # 使用记事本创建文件“test.tex”

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第8张图片
  然后就可以在记事本中写LaTex命令,下面的示例使用documentclass命令引入了article文档类(用于撰写论文相关操作的文档类)。然后在“\begin{document}”和“\end{document}”中间编写我们需要的文档。(注:1.我们需要使用{}来描述一个命令的参数。2.“\begin”和“\end”是成对出现的。)

\documentclass {article}

\begin{document}
Hello \LaTeX.
\end{document}

  文档写好后,就可以保存并关闭记事本。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第9张图片
  接着有两种方式对LaTeX文件进行编译。第一种编译方式:使用如下命令来编译LaTex文件,发现产生了一个“test.dvi”文件。然后使用命令将文件“test.dvi” 转成了pdf文件“test.pdf”。然后输入命令打开文“test.pdf”并查看LaTex代码编写的结果。

latex test.tex   # 编译文件“test.tex”
dvipdfmx test.dvi   # 将文件“test.dvi”转成pdf文件
test.pdf        # 打开文件“test.pdf”

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第10张图片
  第二种编译方式:输入命令“xelatex test.tex”编译文件“test.tex”成pdf,然后使用命令打开编译产生的pdf文件。

xelatex test.tex     # 编译文件“test.tex”
test.pdf           # 打开文件“test.pdf”

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第11张图片

  2.将编译LaTeX并生成pdf文件的过程封装成一个bat文件

  每次编写完LaTeX文件后,都要在命令行进行编译操作比较麻烦。所以我们可以将编译LaTeX并生成的pdf文件的过程封装成一个bat文件,具体过程如下。
  首先,新建一个bat文件(即图中的“build.bat”)。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第12张图片
在这里插入图片描述
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第13张图片
  然后通过记事本打开该文件(即打开图中的“build.bat”文件)。

notepad build.bat   # 通过记事本打开“build.bat”

在这里插入图片描述
  将编译以及打开pdf文件的命令写入文件“build.bat”中,然后使用快捷键Ctr+S进行保存(注:编译的文件名需改成对应的文件名),然后退出“build.bat”文件。

latex test.tex
dvipdfmx test.dvi
del *.aux *.dvi *.log
# 注释:
latex test.tex         # 编译文件
dvipdfmx test.dvi      # 转成pdf文件
del *.aux *.dvi *.log   # 删除产生的中间文件

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第14张图片
  删除pdf文件,并运行“build.bat”程序,看一看效果。

build   # 运行“build.bat”程序
dir     # 查看当前的目录文件

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第15张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第16张图片
  当然也可以创建一个“buildx.bat”文件,编写xelatex命令来完成相同的操作。(操作命令如下,截图略)

# 1.创建文件“buildx.bat”
# 2.在命令行窗口执行下面的命令
notepad buildx.bat   # 通过记事本打开“buildx.bat”
# 3.在文件“build.bat”中输入下面的内容并保存,然后关闭文件“build.bat”
xelatex test.tex
del *.aux *.dvi *.log
# -注释(注释的内容请不要复制到bat文件中):
xelatex test.tex         # 编译生成pdf文件
del *.aux *.dvi *.log   # 删除产生的中间文件
# 4.删除已有的pdf文件,双击文件“buildx.bat”或在命令行窗口通过命令运行程序“buildx.bat”查看效果
buildx     # 运行“buildx.bat”程序

  3.演示一个含有中文的LaTeX文件

  首先,在命令行窗口使用记事本打开文件“test.tex”。

notepad test.tex   # 使用记事本创建文件“test.tex”

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第17张图片
  然后输入下面的内容并保存。(注意:1.在命令和文字之间需要加空格,以示区分。2. ctex是支持中文的宏包。)

\documentclass {article}

\usepackage {ctex}

\begin{document}
你好, \LaTeX 。
\end{document}

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第18张图片
  再将文件的编码格式设为“UTF-8”(本人格式已经是“UTF-8”,为了演示过程,给出具体的截图,本人进行了重复的操作),另存完成后就退出文件“test.tex”。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第19张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第20张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第21张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第22张图片
  之后,运行“build.bat”文件完成编译,运行完成后再打开pdf文件。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第23张图片
  本次编写的LaTeX文件的效果图如下。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第24张图片

三、用TexStudio IDE实现LaTeX文档的编写

  完全在命令行中编写LaTeX代码太过繁琐,不符合我们希望操作简单的要求。所以我们将安装一个免费的IDE工具来实现对LaTeX文件的编写、编译及pdf查看的功能。

  1.下载TexStudio

  首先打开TexStudio的官网“https://texstudio.sourceforge.net/”,选择“Download now”即可开始下载。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第25张图片

  2.安装TexStudio

  安装步骤如下几张图所示。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第26张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第27张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第28张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第29张图片

  3.将TexStudio的语言设为中文

  双击打开TexStudio。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第30张图片
  本人的语言默认为中文。为了演示过程,本人给了几张截图。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第31张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第32张图片

  4.选择TexStudio的编译器

  为了能够正常进行相应的操作,还需要进行一些设置。首先,点击到“命令”的页面,右侧的参数可以根据需要进行调整(本次未做修改)。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第33张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第34张图片
  然后选择“构建”,将编译器选为“XeLaTeX”,然后软件就设置好了。(在处理中文上,“XeLaTeX”比较方便。)
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第35张图片

  5.使用TexStudio编写一个LaTeX文件

  首先新建一个LaTeX文档。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第36张图片
  然后将该文件保存到一个文件夹中。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第37张图片
  然后如下gif动图所示,输入LaTeX命令,并执行程序。(注:1.使用TexStudio的提示并结合TAB键可快速编写命令;2.按住Ctr不放,滚动鼠标滚轮可放大或缩小字体;3.可以使用%进行单行注释;4.可以使用“\iffalse … \fi”进行多行注释,但不建议使用改该种多行注释方式,因为还是会显示高亮。)

\documentclass[]{article} % 使用documentclass命令引入了article文档类

\usepackage[]{ctex} % ctex是支持中文的宏包

\begin{document}  % 在\begin和\end对里面书写需要的文档
	你好, \LaTeX 。
\end{document}

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第38张图片

四、LaTeX源文件的基本结构

  本节课将通过一个实例分析LaTeX文件的基本结构。首先,创建一个文件(图中的“LaTeX_Learn_04.tex”)并保存。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第39张图片
  然后输入LaTeX命令并运行。

% 导言区
\documentclass[]{article}	% 其他类还有book,report,letter等
\usepackage[]{ctex} % ctex是支持中文的宏包

\title{My First Document}  % 文档名
\author{蓝色的天空}  % 作者 
%注:实际该文档来源于西北农林科技大学的耿楠教授,本人只是抄了过来仅仅作为笔记,方便广大网友共同学习使用
\date{\today}  % 时间

% 正文区(文稿区)
\begin{document}  % 引入环境
	\maketitle  % 将文档名、作者、时间进行显示
	
	Hello World!
	
	% here is my big formula
	Let $f(x)$ be defined by the formula $$f(x)=3x^2+x-1$$ which is a polynomial of degree 2.
\end{document}
注:
1.如编写的内容所示,根据注释的提示可知,一个LaTeX文档可以分为导言区和正文区(也称文稿区)。
2.在导言区,我们可以使用“documentclass”命令引入文档类,比如“article”、“book”,“report”,“letter”等类。
3. 在导言区,我们还可以使用“title”设置文档的标题,使用“author”指明文档的作者,使用“date”指明文档的时间
4.在正文区,可以通过“begin…end”引入一个名为“document”的环境,注意,一个LaTeX文档只能有一个“document”环境。
5.“\maketitle” 将文档名、作者、时间进行显示。注意:letter中没有该指令
6.在“$...$”(效果:内嵌公式)或“$$...$$”(效果:另起一行居中)符号内的内容称为数学模式,而外面的内容称为文本模式,可见常在“$...$”内输入公式,比如“$f(x)$”。
7.如何分段?两段之间需要空有一行的间隔。
8.由本次编写的LaTeX实例知,在正文区,我们可以用命令、文本和数学公式构成文档。

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第40张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第41张图片

五、LaTeX中的中文处理方法

  1.示例演示

  首先,检查“选项-设置TeXstudio”里的“构建-默认编辑器”是否是“XeLaTeX”,然后检查“编辑器-默认字体编码”是否是“UTF-8”,之后选择“确定”。

  然后,创建一个文件(图中的“LaTeX_Learn_05.tex”)并保存。
在这里插入图片描述
  然后输入LaTeX命令并运行。

% 导言区
\documentclass[]{article}	% 其他类还有book,report,letter等
\usepackage[]{ctex} % ctex是支持中文的宏包

\newcommand\degree{^\circ}  % 定义角度单位


\title{\heiti 杂谈勾股定理}  % 文档名  \heiti:字体为黑体
\author{\kaishu 张三}  % 作者 
%注:实际该文档来源于西北农林科技大学的耿楠教授,本人只是抄了过来仅仅作为笔记,方便广大网友共同学习使用
\date{\today}  % 时间

% 正文区(文稿区)
\begin{document}  % 引入环境
	\maketitle  % 将文档名、作者、时间进行显示
	
	勾股定理可以用现代语言表述如下:

	直角三角形斜边的平方等于两腰的平方和。

	可以用符号语言表述为:设直角三角形$ABC$,其中$\angle C=90\degree$,则有:
	\begin{equation}  % 环境“equation”用于产生带编号的公式
		AB^2=BC^2+AC^2.
	\end{equation}
\end{document}
注:
1.	需要使用“usepackage”命令将支持中文的宏包“ctex”进行导入
2.	环境“equation”用于产生带编号的公式
3.	“\newcommand\degree{^\circ}”定义了角度单位
4.	“\heiti”表示字体为黑体

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第42张图片

  2.使用命令查看CTEX宏集手册

  有时我们会思考使用“usepackage”命令引入“ctex”究竟是什么作用呢?带着这个问题,首先,打开命令行窗口。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第43张图片
  然后使用命令打开CTEX宏集手册。

texdoc ctex     #  打开CTEX宏集手册

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第44张图片
  在目录中找到“使用CTEX文档类”,然后按住Ctr不放,鼠标左击快速调到对应内容。(注意到:“CTEX 宏集提供了四个中文文档类:ctexart、ctexrep、ctexbook 和 ctexbeamer,分别对应LATEX的标准文档类 article、report、book 和 beamer。”)

  因此,回到LaTeX代码将“\usepackage[]{ctex}”注释掉,将“documentclass”导入的“article”改成“ctexart”后,再运行指令,效果不变。

% 导言区
\documentclass[]{ctexart}	% 其他类还有book,report,letter等
% \usepackage[]{ctex} % ctex是支持中文的宏包

\newcommand\degree{^\circ}  % 定义角度单位


\title{\heiti 杂谈勾股定理}  % 文档名  \heiti:字体为黑体
\author{\kaishu 张三}  % 作者 
%注:实际该文档来源于西北农林科技大学的耿楠教授,本人只是抄了过来仅仅作为笔记,方便广大网友共同学习使用
\date{\today}  % 时间

% 正文区(文稿区)
\begin{document}  % 引入环境
	\maketitle  % 将文档名、作者、时间进行显示
	
	勾股定理可以用现代语言表述如下:

	直角三角形斜边的平方等于两腰的平方和。

	可以用符号语言表述为:设直角三角形$ABC$,其中$\angle C=90\degree$,则有:
	\begin{equation}  % 环境“equation”用于产生带编号的公式
		AB^2=BC^2+AC^2.
	\end{equation}
\end{document}

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第45张图片

  3.使用命令查看LaTeX的简单教程

  在命令行窗口使用命令打开LaTeX的简单教程,以便后续学习LaTeX的操作使用。

texdoc lshort-zh     #  打开LaTeX的简单教程

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第46张图片

六、LaTeX的字体字号设置

  如下图所示,在LaTeX中,一个字体有5种属性,包括字体编码、字体族、字体系列、字体形状和字体大小,都可以通过命令或声明进行设置。其中,字体编码包括正文字体编码和数学字体编码;字体族分为罗马字体、无衬线字体和打字机字体;字体系列分为粗细和宽度;字体形状分为直立、斜体、伪斜体、小型大写。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第47张图片
  关于字体编码的设置,过后再讨论,本次课程主要讨论字体族、字体系列、字体形状和字体大小。首先,创建一个文件(图中的“LaTeX_Learn_06.tex”)并保存。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第48张图片
  然后编写LaTeX文档并运行。(注意有一点:LaTeX的思想是 * 内容与格式的分离 * ,因此不建议在文档中使用大量的命令,所以常常需要使用“newcommand”来定义一堆命令,关于“newcommand”的细节后面将会讲解。其他内容请阅读代码里的注释)

% 导言区
\documentclass[]{article}	% 其他类还有book,report,letter等
% \documentclass[10pt]{article} % 10pt:修改normal size为10磅

\usepackage[]{ctex} % ctex是支持中文的宏包
% 需要注意的是,LaTeX的思想是 * 内容与格式的分离 * ,因此不建议在文档中使用大量的命令,所以常常需要使用“newcommand”来定义一堆命令
\newcommand{\myfont}{\textit{\textbf{\textsf{Fancy Text}}}}

% 正文区(文稿区)
\begin{document}  % 引入环境
	% --------------1.字体族设置(罗马字体、无衬线字体、打字机字体)--------------
	% 方式1:通过命令设置字体族
	\textrm{Roman Family}  % 通过命令“textrm”设置字体为罗马(Roman)字体
	\textsf{Sans Serif Family}  % 通过命令“textsf”设置字体为无衬线字体
	\texttt{Typewriter Family}	% 通过命令“texttt”设置字体为打字机字体
	
	% 方式2:通过声明设置字体族   {}的作用:对文本进行分组以限定声明作用的范围
	{\rmfamily Roman Family}  % 通过“rmfamily”声明后续字体为罗马(Roman)字体
	{\sffamily Sans Serif Family}  % 无衬线字体
	{\ttfamily Typewriter Family}  % 打字机字体
	
	{\sffamily who you are?you find self on everyone around.take you as the same as others!}
	
	% 当启用另一个字体的声明时,会启用当前的字体声明
	{\ttfamily Are you wiser than others?definitely no.in some ways, may it is true.What can you achieve?a luxurious house?a brillilant car?an admirable career?who knows?}
	
	% ---------------2.字体系列设置(粗细、宽度)------------------
	\textmd{Medium Series} \textbf{Boldface Series}
	
	{\mdseries Medium Series} {\bfseries Boldface Series}
	
	% --------------3.字体形状(直立、斜体、伪斜体、小型大写)-----------------
	\textup{Upright Shape} \textit{Italic Shape}
	\textsl{Slanted Shape} \textsc{Small Caps Shape}
	
	{\upshape Upright Shape} {\itshape Italic Shape} {\slshape Slanted Shape} {\scshape Small Caps Shape}
	
	% -------------4.中文字体----------
	% \quad相当于一个TAB键
	{\songti 宋体} \quad{\heiti 黑体}\quad{\fangsong 仿宋} \quad{\kaishu 楷书}
	
	% 中文的粗体时使用黑体表示的,斜体是使用楷书进行表示的
	中文字体的\textbf{粗体}与\textit{斜体}
	
	% ------------5.字体大小-----------------
	% 字体的大小是通过声明设置的,它是相对于normal size的,
	% - 而normal size是由文档类的参数控制的,可以在导言区中
	% - 引入文档类的地方修改normal size
	{\tiny Hello}\\
	{\scriptsize Hello}\\
	{\footnotesize Hello}\\
	{\small Hello}\\
	{\normalsize Hello}\\
	{\large Hello}\\
	{\Large Hello}\\
	{\LARGE Hello}\\
	{\huge Hello}\\
	{\Huge Hello}\\
	
	% 中文字号设置命令
	\zihao{-0} 你好!  % zihao{-0}:小初号
	
	\zihao{5} 你好!   % zihao{5}5号

	\myfont
\end{document}

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第49张图片

七、LaTeX的篇章结构

  一般在撰写文档时,我们总是先撰写出文档的提纲。然后再根据提纲展开,来撰写其他的内容,这一节我们主要讲解LaTeX的篇章结构。
首先,创建一个文件(图中的“LaTeX_Learn_07.tex”)并保存。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第50张图片
  然后编写LaTeX文档并运行。(在LaTeX中,我们可以通过“\section”、“\subsection”、“\subsubsection”等命令来构建文章的提纲。)

% 导言区
\documentclass[]{article}
\usepackage[]{ctex}

% 正文区(文稿区)
\begin{document}
	% 1.“\section”:构建小节  “\subsection”:构建子小节  “\subsubsection”:第三级标题
	% 2."//":实现换行(而非段落)
	% 3."\par":产生新的段落  注:通常,为了保证文段的清晰,段落都是通过空行实现的
	% 4.“\tableofcontents”:生成目录
	\tableofcontents
	\section{引言}
	近年来,随着逆向工程和三维重建技术的发展和应用,获取现实世界中物体的三维数据的方法越来越多的关注和研究,很多研究机构和商业公司都陆续推出了自己的三维重建系统。
	
	近年来,随着逆向工程和三维重建技术的发展和应用,获取现实世界中物体的三维数据的方法越来越多的关注和研究。\\很多研究机构和商业公司都陆续推出了自己的三维重建系统。\par 很多研究机构和商业公司都陆续推出了自己的三维重建系统。
	\section{实验方法}
	\section{实验结果}
	\subsection{数据}
	\subsection{图表}
	\subsubsection{实验条件}
	\subsubsection{实验过程}
	\subsection{结果分析}
	\section{结论}
	\section{致谢}
\end{document}

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第51张图片

八、LaTeX中的特殊字符

  这一节将讲解LaTeX中的部分特殊字符的处理。首先,创建一个文件(图中的“LaTeX_Learn_08.tex”)并保存。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第52张图片
  然后编写LaTeX文档并运行。

% 导言区
\documentclass[]{article}

\usepackage[]{ctex} % 中文处理宏包
\usepackage[]{xltxtra}%提供了针对XeTeX的改进并且加入了XeTeX的LOG0
\usepackage[]{texnames} % 一些LOGO
\usepackage[]{mflogo}

% 正文区(文稿区)
\begin{document}
	\section{空白符号}
	% 空行分段,多个空行等同1% 自动缩进,绝对不能使用空格代替
	% 英文中多个空格处理为1个空格,中文中空格将被忽略
	% 汉字与其它字符的间距会自动由XeLaTeX处理
	% 禁止使用中文全角空格
	Are you wiser than others?definitely no.in some ways,may it is true.What can you achieve?a luxurious house?a brillilant car?an admirable career?who knows?
	
	近年来,随着逆向工程和三维重建技术的发展和应用,获取现实世界中物体的三维数据的方法越来越多的关注和研究,很多研究机构和商业公司都陆续推出了自己的三维重建系统。
	
	% 1em(当前字体中M的宽度,相当于一个TAB键)
	a\quad b
	
	% 2em
	a\qquad b
	
	% 约为1/6个em
	a\,b a\thinspace b
	
	% 0.5个em
	a\enspace b
	
	% 空格
	a\ b
	
	% 硬空格(此处的"~"表示一个非断行的不能分割的空格)
	a~b
	
	% 1pc=12pt=4.218mm   pc:皮卡  pt:磅
	a\kern 1pc b
	
	a\kern -1em b
	
	a\hskip 1em b
	
	a\hspace{35pt}b
	
	% 占位宽度
	a\hphantom{xyz}b % 空格与"xyz"的宽度相同
	
	% 弹性长度
	a\hfill b
	
	\section{\LaTeX 控制符}
	%  \加符号表示转义字符   \textbackslash:表示“\”
	\# \$ \% \{ \} \~{} \_{} \^{} \textbackslash \&
	
	\section{排版符号}
	
	\S \P \dag \ddag \copyright \pounds
	
	\section{\TeX 标志符号}
	% 基本符号
	\TeX{} \LaTeX{} \LaTeXe{}
	\XeLaTeX
	
	% texnames宏包提供
	\AmSTeX{} \AmS-\LaTeX{}
	\BibTeX{} \LuaTeX{}
	
	% mflogo宏包提供
	\METAFONT{} \MF{} \MP{}
	
	\section{引号}
	` ' `` ``你好''  % `:键盘上数字1旁边的符号,表示左单引号
	% ':表示右单引号
	
	\section{连字符}
	- -- ---
	\section{非英文字符}
	\oe \OE \ae \AE \aa \AA \o \O \l \L \ss \SS !` ?`
	\section{重音符号(以o为例)}
	\`o \'o \^o \''o \~o \=o \.o \u{o} \v{o} \H{o} \r{o} \t{o} \b{o} \c{o} \d{o}
\end{document}

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第53张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第54张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第55张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第56张图片

九、LaTeX中的插图

  首先,创建一个文件(图中的“LaTeX_Learn_09.tex”)并保存。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第57张图片
  然后编写LaTeX文档。

% 导言区
\documentclass{ctexart} % ctexbook,ctexrep

%\usepackage{ctex}

% 导言区:\usepackage{graphicx}
% 语  法:\includegraphics[<选项>]{<文件名>}
% 格  式:EPS,PDF,PNG,JPEG,BMP

\usepackage{graphicx}
\graphicspath{{figures/},{pics/}} % 图片在当前目录下的 figures 目录

% 正文区(文稿区)
\begin{document}
	\LaTeX{}中的插图:
	
	\includegraphics{lion.eps}
	\includegraphics{mountain.jpg}
	\includegraphics{oscilloscope.pdf}
	
	% 引入可选参数,即“[]”里面的内容
	% scale:缩放因子
	\includegraphics[scale=0.3]{1ion}
	\includegraphics[scale=0.03]{mountain}
	\includegraphics[scale=0.3]{oscilloscope}
	
	% 图像高度设为固定值
	\includegraphics[height=2cm]{lion}
	\includegraphics[height=2cm]{mountain}
	\includegraphics[height=2cm]{oscilloscope}
	
	% 图像宽度设为固定值
	\includegraphics[width=2cm]{lion}
	\includegraphics[width=2cm]{mountain}
	\includegraphics[width=2cm]{oscilloscope}
	
	% 设置高度为当前页面正文区域高度的10%
	\includegraphics [height=0.1\textheight]{lion}
	\includegraphics [height=0.1\textheight]{mountain}
	\includegraphics [height=0.1\textheight]{oscilloscope}
	
	% 设置宽度为当前页面正文区域宽度的10%
	\includegraphics[width=0.2\textwidth]{lion}
	\includegraphics[width=0.2\textwidth]{mountain}
	\includegraphics [width=0.2\textwidth]{oscilloscope}
	
	% 同时指定多个参数,用“,”隔开每个参数
	\includegraphics[angle=-45,width=0.2\textwidth]{lion}
	\includegraphics[width=0.2\textwidth]{mountain}
	\includegraphics[angle=45,width=0.2\textwidth]{oscilloscope}
	
\end{document}
注:
1.在LaTeX中是通过“graphicx”包实现插图的,因此需要使用“usepackage”命令进行导入。
2.然后在文档中使用“includegraphics”插入图像,该命令的必选参数用于指定图像的文件名,其可选参数可用于指定图像的缩放比例、旋转等参数。
3.当使用“XeLaTeX”进行编译时,“graphicx”支持多种图像的格式。
4.还可以通过“graphicspath”命令指定图像的搜索路径,将图像等资源文件进行分文别类地管理。
5.使用“includegraphics”指定图片的名字。

  由于本人没有相应的图片,并没有去执行程序,需要时再根据程序进行修改。另外,关于图片的其他参考信息请如下图去文档“graphicx”中进行查询。(居然是英文文档,不太想用。)

texdoc graphicx   # 打开“graphicx”帮助文档

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第58张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第59张图片

十、LaTeX中的表格

  这一讲我们主要讨论LaTeX中表格的制作和排版问题。首先,创建一个文件(图中的“LaTeX_Learn_10.tex”)并保存。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第60张图片
  然后编写LaTeX文档并运行。(在LaTeX中可以使用“tabular”环境生成表格,其中“l、c、r”分别表示左对齐、居中和右对齐,不同列间使用“&”符号进行分割,使用“\”进行分行。)

% 导言区
\documentclass{ctexart} % ctexbook,ctexrep

% \usepackage{ctex}

%正文区(文稿区)
\begin{document}
	\begin{tabular}{l c c c r}
		姓名 & 语文 & 数学 & 外语 & 备注 \\
		张三 & 87 & 100 & 93 & 优秀 \\
		李四 & 75 & 64 & 52 & 补考另行通知 \\
		王二 & 80 & 82 & 78 & \\
	\end{tabular}
\end{document}

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第61张图片
  然后进行下面的操作并运行:然后在列格式说明里使用“|”产生表格竖线,使用“||” 产生表格双竖线,使用“\hline”产生表格横线,使用“\hline \hline”产生表格双横线。在列格式中使用“p”产生指定表列的宽度,需要说明的是,由“p”指定的列格式宽度,当内容超过宽度时会自动产生换行。(注:在列格式说明中,空格不起作用)
% 导言区
\documentclass{ctexart} % ctexbook,ctexrep

% \usepackage{ctex}

% \begin{tabular}[<垂直对齐方式>]{<列格式说明>}
% <表项> & <表项> & … & <表项> \
% …
% \end{tabular}
% 用\表示换行
% 用&表示不同的列
% l-本列左对齐
% c-本列居中对齐
% r-本列右对齐
% p{<宽>}-本列宽度固定,能够自动换行
%正文区(文稿区)
\begin{document}
\begin{tabular}{|l||c|c|r|p{1.5cm}|}
\hline
姓名 & 语文 & 数学 & 外语 & 备注 \
\hline \hline
张三 & 87 & 100 & 93 & 优秀 \
\hline
李四 & 75 & 64 & 52 & 补考另行通知 \
\hline
王二 & 80 & 82 & 78 & \
\hline
\end{tabular}
\end{document}
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第62张图片
  除了本次所画的表格,也可以使用三线表格、跨页长表格等复杂表格,可以使用对应的宏包完成表格的创建。

十一、LaTeX中的浮动体

  在LaTeX中,可以使用宏包“graphicx”中的“includegraphics”命令插入图像,使用环境“tabular”创建表格,但是要灵活地实现对图像和表格地管理,还需要使用浮动提环境。
  首先,创建一个文件(图中的“LaTeX_Learn_11.tex”)并保存。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第63张图片
  然后编写LaTeX程序并运行。

% 导言区
\documentclass{ctexart} % ctexbook,ctexrep

%\usepackage{ctex}
\usepackage{graphicx}
%\graphicspath{{figures/}} % 图片在当前目录下的figures目录
\usepackage{verbatim} % 多行注释的宏包

\begin{comment}  % 多行注释
浮动体的作用:
- 实现灵活分页(避免无法分割的内容产生的页面留白)
- 给图表添加标题
- 交叉引用

浮动体的使用方法:
figure环境(table环境与之类似)
	\begin{figure}[<允许位置>]
		< 任意内容 >
	\end{figure}

浮动体的位置参数:
<允许位置>参数(默认tbp)
- h,此处(here)-代码所在的上下文位置
- t,页顶(top)-代码所在页面或之后页面的顶部
- b,页底(bottom)-代码所在页面或之后页面的底部
- p,独立一页(page)-浮动页面

标题控制(caption、bicaption等宏包)
并排与子图表(subcaption、subfig、floatrow等宏包)
绕排(picinpar、wrapfig等宏包)
\end{comment} 

% 正文区(文稿区)
\begin{document}
	
%	\LaTeX{}中\TeX 系统吉祥物---小狮子见图\ref{fig-lion}%	\begin{figure}[htbp]
%		\centering
%		\includegraphics[scale=0.3]{lion}
%		\caption[]{\TeX 系统吉祥物---小狮子}\label{fig-lion}
%	\end{figure}
	
	在\LaTeX{}中考试成绩单如表\ref{table-score}所示。
	\begin{table}[h]
		\centering
		\caption[]{考试成绩单}\label{table-score}
		\begin{tabular}{|l|c|c|c|r|}
			\hline
			姓名 & 语文 & 数学 & 外语 & 备注 \\
			\hline
			张三 & 87 & 100 & 93 & 优秀 \\
			\hline
			李四 & 75 & 64 & 52 & 补考另行通知 \\
			\hline
			王二 & 80 & 82 & 78 & \\
			\hline
		\end{tabular}
	\end{table}
	
\end{document}
需要说明的是:
1.在LaTeX中,有“figure”、“table”浮动体环境,可以将“includegraphics”命令放入“figure”浮动体环境中,同样的,可以将生成表格的“tabular”环境放入“table”浮动体环境中。
2.当然,可以使用“centering”命令使图片或者表格居中。
3.还可以通过可选参数“htbp”指定表格或者图片的位置,没有该参数,观察本次的程序,会发现类似“在\LaTeX{}中的表格:”的命令会显示到表格的下面。
4.在图或者表的浮动体环境中可以通过“caption”命令插入自动带有编号图或者表的标题。
5.可通过“label”命令为浮动体设置标签,然后可利用“ref”命令引用该标签,从而实现交叉引用。

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第64张图片

十二、LaTeX数学公式初步

  本节主要讨论在LaTeX排版数学公式的问题。 首先,创建一个文件(图中的“LaTeX_Learn_12.tex”)并保存。然后编写LaTeX文档并运行。(注意阅读注释和结果进行理解。)

% 导言区
\documentclass{article}

\usepackage{ctex}
\usepackage[]{amsmath}	 %“equation*”环境需要使用宏包“amsmath”导入

%正文区(文稿区)
\begin{document}
	\section{简介}
	\LaTeX{}将排版内容分为文本模式和数学模式。文本模式用于普通文本排版,数学模式用于数学公式排版。
	
	\section{行内公式的3种表示方法}
	\subsection{美元符号}
	交换律是$a+b=b+a$,如$1+2=2+1=3$。
	\subsection{小括号}	
	交换律是\(a+b=b+a\)	,如\(1+2=2+1=3\)。
	\subsection{math环境}		
	交换律是\begin{math}a+b=b+a\end{math},如\begin{math}1+2=2+1=3\end{math}。
	
	\section{上标与下标}
	\subsection{上标} 
	\noindent	% 首行不缩进
	\hangafter 0  % 从n+1 行开始有效
	\hangindent 2em	% 向右移动的距离
	$3x^{20} -x+2=0$	\\
	$3x^{ 3x^{ 20 }-x+2 } -x+2=0$
	
	注意:如何想将一个不止一个字符的数字或者数学表达式设为上标或下标,请使用“\{\}”的选定范围。
	\subsection{下标} 
	\noindent		\hangafter 0  \hangindent 2em	% 向右移动的距离
	$a_0,a_1,a_2$	\\
	$a_0,a_1,a_2,...,a_{3x^{20}-x+2}$	

	\section{希腊字母}
	\noindent		\hangafter 0  \hangindent 2em	% 向右移动的距离
	% \quad:一个TAB键的空格
	$\alpha$\quad $\beta$\quad $\gamma$\quad $\epsilon$	\\
	$\pi$\quad $\omega$\quad $\Gamma$\quad $\Delta$		\\
	$\Theta$\quad $\Pi$\quad $\Omega$	\\
	$\alpha^3 + \beta^2 + \gamma =0$
	
	\section{数学函数}
	\noindent		\hangafter 0  \hangindent 2em	% 向右移动的距离
	$\log$	$\sin$	$\cos$	$\arcsin$	$\arccos$	$\ln$
	\\
	$\sin^2 x \cos^2 x =1$	$y = \arcsin x$	\\
	$y=\sin^{-1}x$	$y=\log_2 x$	$y=\ln x$	\\
	$\sqrt{2}$	$\sqrt{x^2+y^2}$	$\sqrt{2 + \sqrt{2}}$
	$\sqrt[4]{x}$  \\
	注意:sqrt可通过指定可选参数,也能指定开方的次数
	
	\section{分式}
	\noindent		\hangafter 0  \hangindent 2em	% 向右移动的距离
	大约是原体积的$3/4$。	\\
	大约是原体积的$\frac{3}{4}$	\\ 
	注意:frac第一个参数是分子,第二个参数是分母
	$\frac{x}{x^2+x+1}$	\\
	$\frac{\sqrt{x-1}}{\sqrt{x+1}}$	\\
	$\frac{1}{1+\frac{1}{x}}$	\\
	$\sqrt{\frac{x}{x^2 +x+ 1}}$	\\
	
	\section{行间公式}
	\noindent		\hangafter 0  \hangindent 2em	% 向右移动的距离
	\subsection{美元符号}
	交换律是$$a+b=b+a,$$
	如$$1+2=2+1=3.$$
	\subsection{中括号}	
	交换律是\[a+b=b+a,\]	
	如\[1+2=2+1=3.\]
	\subsection{displaymath环境}		
	交换律是\begin{displaymath}a+b=b+a,\end{displaymath}
	如\begin{displaymath}1+2=2+1=3.\end{displaymath}
	\subsection{自动编号公式:可使用equation环境}
	交换律见公式\ref{eq:commutative}
		\begin{equation}
			a+b=b+a	\label{eq:commutative}
		\end{equation}
	\subsection{不编号公式:可使用equation*环境}
	交换律见公式\ref{eq:commutative2}:
	\begin{equation*}
		a+b=b+a	\label{eq:commutative2}
	\end{equation*} 
	
	注:此时也可以通过“label”、“ref”命令进行引用;另外它的编号是根据章节进行编号的;“equation*”需要使用宏包“amsmath”。

	公式的编号与交叉引用是自动实现的,大家在排版中,要习惯于采用自动化的方式处理诸如图、表、公式的编号与交叉引用。
\end{document}

  以下图片为本节LaTeX代码运行的结果,代码是本人根据b站视频获取的,仅有少量解释上的添加。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第65张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第66张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第67张图片

十三、LaTeX数学公式的矩阵

  本节主要讨论在LaTeX的数学模式中如何排版矩阵的问题。首先,创建一个文件(图中的“LaTeX_Learn_13.tex”)并保存。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第68张图片
  然后编写LaTeX文档并运行,注意对比代码与结果并进行理解。

% 导言区
\documentclass{article} 

\usepackage{ctex}
\usepackage[]{amsmath} % 使用矩阵前需引入此宏包

% 定义左下到右上的省略号“adots”
\newcommand{\adots}{\mathinner{\mkern2mu
		\raisebox{0.1em}{.}\mkern2mu
		\raisebox{0.4em}{.}\mkern2mu
		\raisebox{0.7em}{.}\mkern1mu}}

%正文区(文稿区)
\begin{document}
	% “matrix”等环境建立矩阵,使用方法与“tabular”创建表格的方法相似
	
	% 矩阵环境,用&分隔列,用\\分隔行
	\section{矩阵的分隔符}
	\subsection{不加括号(无定界符)的矩阵(matrix)}
	\[
	\begin{matrix}
		0 & 1 \\
		1 & 0
	\end{matrix}
	\]
	\subsection{加小括号的矩阵(pmatrix)}
	\[
	\begin{pmatrix}
		0 & -i \\
		i & 0
	\end{pmatrix} 
	\]
	\subsection{加中括号的矩阵(bmatrix)}
	\[
	\begin{bmatrix}
		0 & -i \\
		i & 0
	\end{bmatrix}
	\]
	\subsection{加大括号的矩阵(Bmatrix)}
	\[
	\begin{Bmatrix}
		0 & -i \\
		i & 0
	\end{Bmatrix} 
	\]
	\subsection{加单竖线的矩阵(vmatrix)}
	\[
	\begin{vmatrix}
		0 & -i \\
		i & 0
	\end{vmatrix} 
	\]
	\subsection{加双竖线的矩阵(Vmatrix)}
	\[
	\begin{Vmatrix}
		0 & -i \\
		i & 0
	\end{Vmatrix} 
	\]
	
	\section{矩阵中元素的上下标}	
	\[
	A =\begin{pmatrix}
		a_{11}^2 & a_{12}^2 & a_{13}^2 \\
		0 		 & a_{22} 	& a_{23} \\
		0 		 & 0 		& a_{33}
		\end{pmatrix}
	\]
	
	\section{矩阵中的省略号}	
	% 矩阵中的常用省略号:\dots、\vdots、\ddots,注意根据显示结果区别这几个省略号
	% 左下到右上的省略号需要自己去引言区中定义,本次取名为“adots”
	\[
	A =\begin{pmatrix}
		a_{11}	 & \dots 	& a_{1n} \\
		\adots 	 & \ddots 	& \vdots \\
		0 		 &  		& a_{nn}
	\end{pmatrix}_{n \times n}   % 使用“times”排版乘号
	\]
	
	\section{分块矩阵(矩阵嵌套)}	
	\[
	\begin{pmatrix}
		\begin{matrix}   				 1 & 0 \\
					     				 0 & 1 
		\end{matrix}    &  \text{\Large 0} \\ % “text”用于在数学模式中切换为文本模式
		\text{\Large 0} & \begin{matrix} 1 & 0 \\
									     0 & -1 
						  \end{matrix}
	\end{pmatrix}
	\]
	
	\section{三角矩阵}	
	\[\begin{pmatrix}
		a_{11} 	& a_{12}	& \cdots 	& a_{1n} \\
				& a_{22}	& \cdots	& a_{2n} \\
				&			& \ddots	& \vdots \\
				\multicolumn{2}{c}{\raisebox{1.3ex}[0pt]{\Huge 0}}	% "multicol-umn"可以合并多列,“raisebox”可以调整高度
				&	& a_{nn}
	 \end{pmatrix}
	\]
	
	\section{跨列省略号}	
	% 语法:\hdotsfor{<列数>},选定的列数显示横着的省略号
	\[
	\begin{pmatrix}
		1 & \frac 12 & \dots & \frac 1n	\\
				\hdotsfor{4} 			\\
		m & \frac m2 & \dots & \frac mn
	\end{pmatrix}
	\]
	
	\section{行内小矩阵(smallmatrix环境)}
	复数 $z=(x,y)$ 也可用矩阵
	\begin{math}
		\left(	% 需要手动加上左括号
			\begin{smallmatrix}
				x & -y \\
				y & x
			\end{smallmatrix}
		\right)	% 需要手动加上右括号
	\end{math}来表示。
	
	\section{array环境(格式类似于表格环境tabular)}
	\subsection{普通矩阵}
	\[
	\begin{array}{r|r}
		\frac 12 & 0 			\\
		\hline
		0		 & -\frac abc 	
	\end{array}
	\]
	\subsection{复杂矩阵}
	% 用array环境构造复杂矩阵
	\[
	% @{<内容>}-添加任意内容,不占表项计数
	% 此处添加一个负值空白,表示向左移-5pt的距离
	\begin{array}{c@{\hspace{-5pt}}l}  % 第一列居中,最后一列靠右对齐
	% 整个形式看成2*2的矩阵  每个子块再有矩阵或者长括号构成
		%1行,第1列
		\left( % 产生左括号
			\begin{array}{ccc|ccc}
				a & \cdots & a 		& b 	 & \cdots  & b \\
				  & \ddots & \vdots & \vdots & \adots      \\
				  &		   & a	    & b		 		   	   \\
				\hline
				  &		   &		& c 	 & \cdots  & c	\\
				  &		   &		& \vdots &   	   & \vdots	\\
				\multicolumn{3}{c|}{\raisebox{2ex}[0pt]{\Huge 0}} & c & \cdots & c \\
				% "multicolumn"可以合并多列,“raisebox”可以调整高度
			\end{array}
		\right) &
		%1行,第2列
		\begin{array}{l}
			% \left.仅表示与\right\}配对,什么都不输出
			\left.\rule{0mm}{7mm}\right\}p	\\
			\\
			\left.\rule{0mm}{7mm}\right\}q
		\end{array}
		\\[-5pt]
		%2行,第1列
		\begin{array}{cc}
			\underbrace{\rule{17mm}{0mm}}_m & \underbrace{\rule{17mm}{0mm}}_m
			% underbrace:下方的横向大括号	rule指定尺寸
		\end{array}		&  %2行第2列
	\end{array}
	\]
\end{document}

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第69张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第70张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第71张图片

十四、LaTeX数学公式的多行公式

  这一节主要讲LaTeX中多行公式的排版的方法。首先,创建一个文件(图中的“LaTeX_Learn_14.tex”)并保存。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第72张图片
  然后编写LaTeX文档并运行,注意对比代码与结果并进行理解。(注:1.“amsmath”宏包是用于LaTeX文档中数学排版的一个重要宏包。它提供了一系列功能和命令,用于创建复杂的数学公式、方程和排列。2. “amssymb”宏包用于扩展数学符号和字体选项。它提供了许多额外的数学符号、字母和其他数学相关的功能,使得在LaTeX文档中排版数学内容更加丰富和多样化。)

% 导言区
\documentclass{article}
\usepackage{ctex}

\usepackage{amsmath}
\usepackage{amssymb}

% 正文区(文稿区)
\begin{document}
	% 1.通过“gather”环境可实现带编号的多行公式的排版
	\section{带编号的gather}
	\begin{gather} 
		a+b=b+a	\\
		ab ba
	\end{gather}
	
	% 2.通过“gather*”环境可实现不带编号的多行公式的排版
	\section{不带编号的gather*}
	\begin{gather*} 
		3+5=5+3=8	\\
		3 \times 5 = 5 \times 3
	\end{gather*}
		
	% 3.在“gather”环境的“\\”前可以使用“\notag”阻止编号
	\section{不带编号的gather}
	\begin{gather} 
		3^2+4^2=5^2 \notag \\
		5^2+12^2=13^2 \notag \\
		a2+b^2=c^2
	\end{gather}	
	
	% 4.在“align”和“align*”环境中可将公式按指定位置对齐
	% -对齐位置由“&”指定
	\section{将公式按指定位置对齐}	
	\subsection{带编号使用“align”}	
	\begin{align}
		% 可以按等号、公式的起始位置对齐
		x & =t	\cos t +1	\\	
		y & =2	\sin t
	\end{align}
	\subsection{不带编号使用“align*}	
	\begin{align*}
		x & =t  & x & =\cos t	 & x & =t	\\
		y & =2t & y & =\sin(t+1) & y & =\sin t
	\end{align*}
	
	% 5.使用环境“split”在“align”环境中实现一个公式的多行排版
	% -对齐位置由“&”指定
	\section{一个公式的多行排版(“split”)}	
	% “equation”用于创建带有自动编号的数学公式	
	\begin{equation}	
		\begin{split}
			\cos 2x &=\cos^2 x-\sin 2 x \\
					&=2 \cos^2 x-1
		\end{split}
	\end{equation}
	
	% 6.使用环境“cases”完成分段函数的排版	
	\section{分段函数的排版(“cases”)}	
	% 每行公式中使用&分隔为两部分,
	% 通常表示值和后面的条件
	\begin{equation}
		D(x)=\begin{cases}
				% text:切换成文本模式 	in:属于符号  mathbb{Q}:花体Q  setminus:“\”
				1,&\text{如果}x \in\mathbb{Q};\\
				0,&\text{如果}x \in \mathbb{R}\setminus\mathbb{Q}.   % 请执行代码查看效果
			\end{cases}
	\end{equation}
\end{document}

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第73张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第74张图片

十五、LaTeX中的参考文献BibTex

  这一节主要讲LaTeX中使用“BibTex”工具排版参考文献的问题。

  1.手动编写参考文献

  首先,创建一个文件(图中的“LaTeX_Learn_15.tex”)并保存。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第75张图片
  先如下编写部分代码并运行。

% 导言区
\documentclass{article}
\usepackage{ctex}

% 正文区(文稿区)
\begin{document}
	% 1.对于简单的参考文献的排版需求,也就是一次管理,一次使用的参考文献
	\section{简单的参考文献的排版需求}
	% - 参考文献格式如下:
	%	\begin{thebibliography}{编号样本}
	%	\bibitem[记号]{引用标志}文献条目1
	%	\bibitem[记号]{引用标志}文献条目2
	%	......
	%	\end{thebibliography}
	%	其中文献条目包括:作者,题目,出版社,年代,版本,页码等。
	%	引用时候可以采用:\cite{引用标志1,引用标志2,...}
	
	引用一篇文章\cite{article1} 引用一本书\cite{book1}等等
	\begin{thebibliography}{99}	% {99}:编号的宽度
		% bibitem:排版一条参考文献,需使用“{}”指定引用标志  emph:强调 
		% texttt:使文本以等宽字体的形式显示 
		\bibitem{article1}陈立辉,苏伟,蔡川,陈晓云.\emph{基于LaTex的Web数学公式提取方法研究}[J].计算机科学,2014(06)
		\bibitem{book1} William H.Press,Saul A.Teukolsky,William T.Vetterling,Brian P.Flannery,\emph{Numerical Recipes 3rd Edition:The Art of Scientific Computing} Cambridge University Press,New York,2007.
		\bibitem{latexGuide} Kopka Helmut,W.Daly Patrick,\emph{Guide to \LaTeX} ,$4{th}$ Edition.Available at \texttt{Amazon.com. Spend less. Smile more.}.
		\bibitem{latexMath} Graetzer George,\emph{Math Into \LaTeX},BirkhAuser Boston;3 edition (June 22,2000).
	\end{thebibliography}
	
\end{document}

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第76张图片
  为了能让参考文献能够“一次管理,多次使用”,此要求可使用“BibTeX”工具进行实现。如下图所示,打开设置,然后在构建里讲“默认文献工具”设为“BibTeX”,当然,也可以去命令中进行更为详细的设置。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第77张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第78张图片
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第79张图片
  然后为了使用“BibTeX”工具,需针对参考文献去创建一个“.bib”参考文献数据库文件,再在对应文件中编写文献的详细信息。本次通过一个示例演示具体的做法,如下图所示,先创建一个数据库参考文件“test.bib”,并编写里面的代码。

% @BOOK:指定这是一本书籍参考文献 
% {}中的第一个参数:引用标志(本次为“mittelbach2004”)
% 然后再通过title、publisher等关键字指定书名、出版商等详细信息,每一个字段使用“,”及进行分割
@BOOK{mittelbach2004,
title = {The {\LaTeX} Companion},
publisher = {Addison-Wesley},
year = {2004},
author = {Frank Mittelbach and Michel Goossens},
series = {Tools and Techniques for Computer Typesetting},
address = {Boston},
edition = {Second}
}

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第80张图片
  然后在“LaTeX_Learn_15.tex”中加入引用的代码并运行。

% 导言区
\documentclass{article}
\usepackage{ctex}

\bibliographystyle{plain} % plain unsrt alpha abbrv
% 告诉LaTeX使用“plain”样式来排列和格式化文献引用。在这种样式下,引用将按照它们在文档中出现的顺序进行编号,然后按作者的姓氏字母顺序排列。

% 正文区(文稿区)
\begin{document}
	% 1.对于简单的参考文献的排版需求,也就是一次管理,一次使用的参考文献
	\section{简单的参考文献的排版需求}
	% - 参考文献格式如下:
	%	\begin{thebibliography}{编号样本}
	%	\bibitem[记号]{引用标志}文献条目1
	%	\bibitem[记号]{引用标志}文献条目2
	%	......
	%	\end{thebibliography}
	%	其中文献条目包括:作者,题目,出版社,年代,版本,页码等。
	%	引用时候可以采用:\cite{引用标志1,引用标志2,...}
	
	引用一篇文章\cite{article1} 引用一本书\cite{book1}等等
	\begin{center}  % 设为居中 效果:生成的"参考文献"标题居中
		\begin{thebibliography}{99}	% {99}:编号的宽度
			% bibitem:排版一条参考文献,需使用“{}”指定引用标志  emph:强调 
			% texttt:使文本以等宽字体的形式显示 
			\bibitem{article1}陈立辉,苏伟,蔡川,陈晓云.\emph{基于LaTex的Web数学公式提取方法研究}[J].计算机科学,2014(06)
			\bibitem{book1} William H.Press,Saul A.Teukolsky,William T.Vetterling,Brian P.Flannery,\emph{Numerical Recipes 3rd Edition:The Art of Scientific Computing} Cambridge University Press,New York,2007.
			\bibitem{latexGuide} Kopka Helmut,W.Daly Patrick,\emph{Guide to \LaTeX} ,$4{th}$ Edition.Available at \texttt{Amazon.com. Spend less. Smile more.}.
			\bibitem{latexMath} Graetzer George,\emph{Math Into \LaTeX},BirkhAuser Boston;3 edition (June 22,2000).
		\end{thebibliography}
	\end{center}
	
	% 2.一次管理,多次使用的参考文献
	\section{一次管理,多次使用的参考文献}
	这是一个参考文献的引用:\cite{mittelbach2004}
	\begin{center}	% 设为居中 效果:生成的"参考文献"标题居中
		\bibliography{test}  % bibliography:用于引入参考文献数据库文件
	\end{center}
	
	
\end{document}

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第81张图片

  2.借助镜像Google学术实现文献数据库的管理

  手动编写参考文献是一件非常繁琐的事情,可借助镜像Google的引用实现文献数据库的管理。(也可以借助Zotero插件导出知网的文献的“BibTeX”数据,本人感觉麻烦,懒得去研究了)
  如下图所示,直接进入镜像的“google学术”,然后搜索“bibtex”,点击需要引用的文献处的“引用”,点击“BibTeX”,就可以得到该文献的“BibTeX”数据。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第82张图片
  然后将刚刚查到的“BibTeX”数据复制到数据库参考文件“test.bib”中。

% @BOOK:指定这是一本书籍参考文献 
% {}中的第一个参数:引用标志(本次为“mittelbach2004”)
% 然后再通过title、publisher等关键字指定书名、出版商等详细信息,每一个字段使用“,”及进行分割
@BOOK{mittelbach2004,
title = {The {\LaTeX} Companion},
publisher = {Addison-Wesley},
year = {2004},
author = {Frank Mittelbach and Michel Goossens},
series = {Tools and Techniques for Computer Typesetting},
address = {Boston},
edition = {Second}
}

@misc{patashnik1988designing,
	title={Designing BIBTEX styles},
	author={Patashnik, Oren},
	year={1988},
	publisher={February}
}

  然后在“LaTeX_Learn_15.tex”中加入引用的代码并运行。

% 导言区
\documentclass{article}
\usepackage{ctex}

\bibliographystyle{plain} % plain unsrt alpha abbrv
% 告诉LaTeX使用“plain”样式来排列和格式化文献引用。在这种样式下,引用将按照它们在文档中出现的顺序进行编号,然后按作者的姓氏字母顺序排列。

% 正文区(文稿区)
\begin{document}
	% 1.对于简单的参考文献的排版需求,也就是一次管理,一次使用的参考文献
	\section{简单的参考文献的排版需求}
	% - 参考文献格式如下:
	%	\begin{thebibliography}{编号样本}
	%	\bibitem[记号]{引用标志}文献条目1
	%	\bibitem[记号]{引用标志}文献条目2
	%	......
	%	\end{thebibliography}
	%	其中文献条目包括:作者,题目,出版社,年代,版本,页码等。
	%	引用时候可以采用:\cite{引用标志1,引用标志2,...}
	
	引用一篇文章\cite{article1} 引用一本书\cite{book1}等等
	\begin{center}  % 设为居中 效果:生成的"参考文献"标题居中
		\begin{thebibliography}{99}	% {99}:编号的宽度
			% bibitem:排版一条参考文献,需使用“{}”指定引用标志  emph:强调 
			% texttt:使文本以等宽字体的形式显示 
			\bibitem{article1}陈立辉,苏伟,蔡川,陈晓云.\emph{基于LaTex的Web数学公式提取方法研究}[J].计算机科学,2014(06)
			\bibitem{book1} William H.Press,Saul A.Teukolsky,William T.Vetterling,Brian P.Flannery,\emph{Numerical Recipes 3rd Edition:The Art of Scientific Computing} Cambridge University Press,New York,2007.
			\bibitem{latexGuide} Kopka Helmut,W.Daly Patrick,\emph{Guide to \LaTeX} ,$4{th}$ Edition.Available at \texttt{Amazon.com. Spend less. Smile more.}.
			\bibitem{latexMath} Graetzer George,\emph{Math Into \LaTeX},BirkhAuser Boston;3 edition (June 22,2000).
		\end{thebibliography}
	\end{center}
	
	% 2.一次管理,多次使用的参考文献
	\section{一次管理,多次使用的参考文献}
	这是一个参考文献的引用:\cite{mittelbach2004}
	
	这是另一个引用:\cite{patashnik1988designing}
	\begin{center}	% 设为居中 效果:生成的"参考文献"标题居中
		\nocite{*}
		% \nocite{*}:用于在文档的参考文献部分中列出所有在BibTeX数据库中的文献条目,而不仅仅是在文档正文中使用"cite"命令引用过的文献。
		\bibliography{test}  % bibliography:用于引入参考文献数据库文件
	\end{center}
	
\end{document}

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第83张图片
  注:本节还有一部分内容讲得有点复杂,或者现在使用方法有改动,比如Zotero插件的使用等(那个Zotero+茉莉花插件+PDFtk,试了半天,通过两个不同高校(这两个高校均已购买过知网)的账号使用Zotero插件下知网,都无法便捷导入。不知道哪里操作错了,对新手极不友好。当然,Zotero软件某些功能挺好的。),请自行观看视频,本人不想记录也懒得去搞了。

十六、LaTeX中的参考文献BibLaTeX(因卡在Zotero插件上,本节笔记未记完)

  这一节主要讲LaTeX中使用“BibLaTeX”工具排版参考文献的方法,特点是:一次管理,多次使用。首先,创建一个文件(图中的“LaTeX_Learn_16.tex”)并保存。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第84张图片
  然后为了使用“BibLaTeX”工具,需要进行相应的设置。如下图所示,打开设置,然后在构建里讲“默认文献工具”设为“Biber”。

  因卡在Zotero插件上,本节笔记未记完。

十七、LaTeX中的自定义命令和环境

  这一节主要讲LaTeX中命令和环境的定义与重定义的方法。一般都在导言区进行命令的定义与重定义。首先,创建一个文件(图中的“LaTeX_Learn_17.tex”)并保存。
LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第85张图片
  然后编写LaTeX文档并运行,注意对比代码与结果并进行理解。

% 导言区
\documentclass{ctexart} % ctexbook,ctexrep

% \newcommand-定义命令
% 命令只能由字母组成,不能以\end开头
% \newcommand<命令名字>[<参数个数>][<首参数默认值>]{<具体定义>}

% 1.定义的命令可以是简单字符串替换,例如:
% - 使用\PRC相当于People's Republic of \emph{China}这一串内容
\newcommand\PRC{People's Republic of \emph{China}}

% 2.命令可以使用参数
% 参数个数可以从19,使用时用#1,#2,·····,#9表示
\newcommand\loves[2]{#1 喜欢 #2}
\newcommand\hatedby[2]{#2 不受 #1 喜欢 }

% 3.参数也可以有默认值
% 指定参数个数的同时指定了首个参数的默认值,那么这个命令的第一个参数就成为可选的参数(要使用中括号指定)
\newcommand\love[3][喜欢]{#2#1#3}

% 4.\renewcommand -重定义命令
% 与\newcommand命令作用和用法相同,但只能用于已有命令
% \renewcommand<命令>[<参数个数>][<首参数默认值>]{<具体定义>}
\renewcommand\abstractname{内容简介}

% 5.定义和重定义环境
% \newenvironment{<环境名称>}[<参数个数>][<首参数默认值>]
%				{<环境前定义>}
%				{<环境后定义>}
% \renewenvironment{<环境名称>}[<参数个数>][<首参数默认值>]
%					{<环境前定义>}
%					{<环境后定义>}

% 为book类中定义摘要(abstract)环境
\newenvironment{myabstract}[1][摘要]%
{\small
		\begin{center}\bfseries #1\end{center}%
		\begin{quotation}}%
		{\end{quotation}}

% 环境参数只有<环境前定义>中可以使用参数,
% <环境后定义>中不能再使用环境参数。
% 如果需要,可以先把前面得到的参数保存在一个命令中,在后面使用:
\newenvironment{Quotation}[1]%
{\newcommand\quotesource{#1}%
	\begin{quotation}}%
		{\par\hfil1--《\textit{\quotesource}%
	\end{quotation}}
		
%正文区(文稿区)
\begin{document}
	\PRC
	
	\loves{猫儿}{}  % “猫儿”替换“#1”,“鱼”替换“#2”
	
	\hatedby{猫儿}{萝卜} % “猫儿”替换“#1”,“鱼”替换“#2”
	
	\love[最爱]{猫儿}{}  % “猫儿”替换“#2”,“#1”取默认值“喜欢”,“鱼”替换“#3”
	
	\begin{abstract}
		这是一段摘要......
	\end{abstract}
	
	\begin{myabstract}[我的摘要]
		这是一段自定义格式的摘要...
	\end{myabstract}
	
	\begin{Quotation}{易$\cdot$乾}
		初九,潜龙勿用。
	\end{Quotation}
	
	定义命令和环境是进行\LaTeX{}格式定制、达成内容与格式分离mu标的利器。使用自定义的命令和环境把字体、字号、缩进、对齐、间距等各种琐细的内容包装起来,赋以一个有意义的名字,可以使文挡结构清晰、代码整洁、易于维护。在使用宏定义的功能时,要综合利用各种已有的命令、环境、变量等功能,事实上,前面所介绍的长度变量与盒子、字体字号等内容,大多并不直接出现在文档正文中,而主要都是用在实现各种结构化的宏定义里。
\end{document}

LaTex的学习(学习于b站西北农林科技大学耿楠教授的教学视频)_第86张图片
  好了,本次笔记到此结束,谢谢大家阅读。

你可能感兴趣的:(办公软件的一些小技巧,pdf,学习,笔记)