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

news2024/11/29 22:56:14

目录

  • 一、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”。
在这里插入图片描述
在这里插入图片描述
  然后如下图所示修改安装路径,在弹出的窗口中点击“是”,并点击“安装”。
在这里插入图片描述
在这里插入图片描述
  长时间等待后,安装完成后会显示如下界面。
在这里插入图片描述
  然后如下图所示,打开命令行窗口,输入“xelatex -v”或“latex -v”,如果出现版本信息则说明安装成功。

xelatex -v
latex -v

在这里插入图片描述
在这里插入图片描述

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

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

  首先如下图所示,在某个文件路径下打开命令行窗口。
在这里插入图片描述
  然后输入命令创建一个名为“testLaTex”的文件夹,然后在该文件夹中使用记事本创建文件“test.tex”。

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

在这里插入图片描述
  然后就可以在记事本中写LaTex命令,下面的示例使用documentclass命令引入了article文档类(用于撰写论文相关操作的文档类)。然后在“\begin{document}”和“\end{document}”中间编写我们需要的文档。(注:1.我们需要使用{}来描述一个命令的参数。2.“\begin”和“\end”是成对出现的。)

\documentclass {article}

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

  文档写好后,就可以保存并关闭记事本。
在这里插入图片描述
  接着有两种方式对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”

在这里插入图片描述
  第二种编译方式:输入命令“xelatex test.tex”编译文件“test.tex”成pdf,然后使用命令打开编译产生的pdf文件。

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

在这里插入图片描述

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

  每次编写完LaTeX文件后,都要在命令行进行编译操作比较麻烦。所以我们可以将编译LaTeX并生成的pdf文件的过程封装成一个bat文件,具体过程如下。
  首先,新建一个bat文件(即图中的“build.bat”)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  然后通过记事本打开该文件(即打开图中的“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   # 删除产生的中间文件

在这里插入图片描述
  删除pdf文件,并运行“build.bat”程序,看一看效果。

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

在这里插入图片描述
在这里插入图片描述
  当然也可以创建一个“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”

在这里插入图片描述
  然后输入下面的内容并保存。(注意:1.在命令和文字之间需要加空格,以示区分。2. ctex是支持中文的宏包。)

\documentclass {article}

\usepackage {ctex}

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

在这里插入图片描述
  再将文件的编码格式设为“UTF-8”(本人格式已经是“UTF-8”,为了演示过程,给出具体的截图,本人进行了重复的操作),另存完成后就退出文件“test.tex”。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  之后,运行“build.bat”文件完成编译,运行完成后再打开pdf文件。
在这里插入图片描述
  本次编写的LaTeX文件的效果图如下。
在这里插入图片描述

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

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

  1.下载TexStudio

  首先打开TexStudio的官网“https://texstudio.sourceforge.net/”,选择“Download now”即可开始下载。
在这里插入图片描述

  2.安装TexStudio

  安装步骤如下几张图所示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  3.将TexStudio的语言设为中文

  双击打开TexStudio。
在这里插入图片描述
  本人的语言默认为中文。为了演示过程,本人给了几张截图。
在这里插入图片描述
在这里插入图片描述

  4.选择TexStudio的编译器

  为了能够正常进行相应的操作,还需要进行一些设置。首先,点击到“命令”的页面,右侧的参数可以根据需要进行调整(本次未做修改)。
在这里插入图片描述
在这里插入图片描述
  然后选择“构建”,将编译器选为“XeLaTeX”,然后软件就设置好了。(在处理中文上,“XeLaTeX”比较方便。)
在这里插入图片描述

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

  首先新建一个LaTeX文档。
在这里插入图片描述
  然后将该文件保存到一个文件夹中。
在这里插入图片描述
  然后如下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源文件的基本结构

  本节课将通过一个实例分析LaTeX文件的基本结构。首先,创建一个文件(图中的“LaTeX_Learn_04.tex”)并保存。
在这里插入图片描述
  然后输入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中的中文处理方法

  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”表示字体为黑体

在这里插入图片描述

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

  有时我们会思考使用“usepackage”命令引入“ctex”究竟是什么作用呢?带着这个问题,首先,打开命令行窗口。
在这里插入图片描述
  然后使用命令打开CTEX宏集手册。

texdoc ctex     #  打开CTEX宏集手册

在这里插入图片描述
  在目录中找到“使用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}

在这里插入图片描述

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

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

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

在这里插入图片描述

六、LaTeX的字体字号设置

  如下图所示,在LaTeX中,一个字体有5种属性,包括字体编码、字体族、字体系列、字体形状和字体大小,都可以通过命令或声明进行设置。其中,字体编码包括正文字体编码和数学字体编码;字体族分为罗马字体、无衬线字体和打字机字体;字体系列分为粗细和宽度;字体形状分为直立、斜体、伪斜体、小型大写。
在这里插入图片描述
  关于字体编码的设置,过后再讨论,本次课程主要讨论字体族、字体系列、字体形状和字体大小。首先,创建一个文件(图中的“LaTeX_Learn_06.tex”)并保存。
在这里插入图片描述
  然后编写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的篇章结构

  一般在撰写文档时,我们总是先撰写出文档的提纲。然后再根据提纲展开,来撰写其他的内容,这一节我们主要讲解LaTeX的篇章结构。
首先,创建一个文件(图中的“LaTeX_Learn_07.tex”)并保存。
在这里插入图片描述
  然后编写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中的特殊字符

  这一节将讲解LaTeX中的部分特殊字符的处理。首先,创建一个文件(图中的“LaTeX_Learn_08.tex”)并保存。
在这里插入图片描述
  然后编写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中的插图

  首先,创建一个文件(图中的“LaTeX_Learn_09.tex”)并保存。
在这里插入图片描述
  然后编写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中的表格

  这一讲我们主要讨论LaTeX中表格的制作和排版问题。首先,创建一个文件(图中的“LaTeX_Learn_10.tex”)并保存。
在这里插入图片描述
  然后编写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}

在这里插入图片描述
  然后进行下面的操作并运行:然后在列格式说明里使用“|”产生表格竖线,使用“||” 产生表格双竖线,使用“\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中的浮动体

  在LaTeX中,可以使用宏包“graphicx”中的“includegraphics”命令插入图像,使用环境“tabular”创建表格,但是要灵活地实现对图像和表格地管理,还需要使用浮动提环境。
  首先,创建一个文件(图中的“LaTeX_Learn_11.tex”)并保存。
在这里插入图片描述
  然后编写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数学公式初步

  本节主要讨论在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数学公式的矩阵

  本节主要讨论在LaTeX的数学模式中如何排版矩阵的问题。首先,创建一个文件(图中的“LaTeX_Learn_13.tex”)并保存。
在这里插入图片描述
  然后编写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数学公式的多行公式

  这一节主要讲LaTeX中多行公式的排版的方法。首先,创建一个文件(图中的“LaTeX_Learn_14.tex”)并保存。
在这里插入图片描述
  然后编写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中的参考文献BibTex

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

  1.手动编写参考文献

  首先,创建一个文件(图中的“LaTeX_Learn_15.tex”)并保存。
在这里插入图片描述
  先如下编写部分代码并运行。

% 导言区
\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}

在这里插入图片描述
  为了能让参考文献能够“一次管理,多次使用”,此要求可使用“BibTeX”工具进行实现。如下图所示,打开设置,然后在构建里讲“默认文献工具”设为“BibTeX”,当然,也可以去命令中进行更为详细的设置。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  然后为了使用“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_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}

在这里插入图片描述

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

  手动编写参考文献是一件非常繁琐的事情,可借助镜像Google的引用实现文献数据库的管理。(也可以借助Zotero插件导出知网的文献的“BibTeX”数据,本人感觉麻烦,懒得去研究了)
  如下图所示,直接进入镜像的“google学术”,然后搜索“bibtex”,点击需要引用的文献处的“引用”,点击“BibTeX”,就可以得到该文献的“BibTeX”数据。
在这里插入图片描述
  然后将刚刚查到的“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}

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

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

  这一节主要讲LaTeX中使用“BibLaTeX”工具排版参考文献的方法,特点是:一次管理,多次使用。首先,创建一个文件(图中的“LaTeX_Learn_16.tex”)并保存。
在这里插入图片描述
  然后为了使用“BibLaTeX”工具,需要进行相应的设置。如下图所示,打开设置,然后在构建里讲“默认文献工具”设为“Biber”。
在这里插入图片描述
  因卡在Zotero插件上,本节笔记未记完。

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

  这一节主要讲LaTeX中命令和环境的定义与重定义的方法。一般都在导言区进行命令的定义与重定义。首先,创建一个文件(图中的“LaTeX_Learn_17.tex”)并保存。
在这里插入图片描述
  然后编写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}

在这里插入图片描述
  好了,本次笔记到此结束,谢谢大家阅读。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1052019.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

性格孤僻怎么办?改变性格孤僻的4种方法

性格孤僻是比较常见的说法&#xff0c;日常中我们说某人性格孤僻&#xff0c;意思就是这人不太合群&#xff0c;喜欢独来独往&#xff0c;话少&#xff0c;人际关系不太好&#xff0c;其言行往往不符合大众的价值观。从性格孤僻的角度来看&#xff0c;可能跟很多种心理疾病存在…

布隆过滤器Bloom Filter

本章代码gitee仓库&#xff1a;布隆过滤器 文章目录 0. 前言1. 布隆过滤器的概念2. 布隆过滤器的实现2.1 哈希函数2.2 插入和判断 3. 布隆过滤器的删除4. 布隆过滤器的误判 0. 前言 我们在玩某款游戏的时候&#xff0c;刚注册的话&#xff0c;我们需要取一个昵称&#xff0c;这…

Kafka:安装与简单使用

文章目录 下载安装windows安装目录结构启动服务器创建主题发送一些消息启动消费者设置多代理集群常见问题 工具kafka tool 常用指令topic查看topic删除topic 常见问题参考文献 下载安装 下载地址&#xff1a;kafka-download windows安装 下载完后&#xff0c;找一个目录解压…

inndy_echo

inndy_echo Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x8048000)32位&#xff0c;只开了NX int __cdecl __noreturn main(int argc, const char **argv, const char **envp) {char s; // [espCh…

微信小程序引入字体在部分机型失效不兼容解决办法

写小程序页面&#xff0c;美工作图用了特殊字体 引入代码&#xff1a; font-face {font-family: huxiaobo;src: url("https://xxxxxxxx.top/assets/fonts/huxiaobonanshenti.woff") } .font-loaded {font-family: "huxiaobo"; } 上线后发现部分安卓机型不…

Java下Properties类的使用(写出和读入)

代码如下&#xff1a; public class MyWork {public static void main(String[] args) throws IOException {Properties pro1 new Properties();pro1.setProperty("0001","张三");pro1.setProperty("0002","李四");pro1.setProperty…

1600*E. Kolya and Movie Theatre(贪心优先队列规律)

Kolya and Movie Theatre - 洛谷 Problem - 1862E - Codeforces 解析&#xff1a; 可以观察到每次看电影所减少的舒畅值都和前一次有关&#xff0c;这样的话&#xff0c;可以发现减少的 d 只和最后一次看电影的时间有关。 所以枚举最后一次看电影的时间&#xff0c;并且维护一…

iOS设备管理器iMazing比iTunes好用吗?有哪些优势

虽然 iTunes 是 Apple 官方指定的 iPhone 数据备份和管理工具&#xff0c;但是一直以来 iTunes 卡顿的使用体验和过慢的备份过程为不少人诟病。如果大家也被 iTunes 体验不佳的备份和管理功能所困扰&#xff0c;那么简单易用、功能强大的iMazing 能为你解决这个问题。 iMazing…

java web+Mysql e-life智能生活小区物业管理系统

本项目为本人自己书写&#xff0c;主要服务小区业主和管理人员。 e-life智能生活小区涉及多个方面的智能化和便利化服务&#xff1a; 1. 用户模块&#xff1a;包含基本的登入登出操作&#xff0c;查看个人信息中用户可以查看 自己的个人资料但不可以修改个人信息。 a) 用户…

从零开始学习 Java:简单易懂的入门指南之IO字节流(三十)

IO流之字节流 1. IO概述1.1 什么是IO1.2 IO的分类1.3 IO的流向说明图解1.4 顶级父类们 2. 字节流2.1 一切皆为字节2.2 字节输出流【OutputStream】2.3 FileOutputStream类构造方法写出字节数据数据追加续写写出换行 2.4 字节输入流【InputStream】2.5 FileInputStream类构造方法…

自学成为一名黑客(自学笔记)

前言&#xff1a; 想自学网络安全&#xff08;黑客技术&#xff09;首先你得了解什么是网络安全&#xff01;什么是黑客 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“…

Armv9 Cortex-A720的L2 memory system 和 L2 Cache

9 L2 memory system Cortex-A720核心的L2内存系统通过CPU bridge连接core与DynamIQ Shared Unit-120,其中包括私有的L2缓存。 L2缓存是统一的,每个Cortex-A720核心在一个集群中都有私有的L2缓存。 L2内存系统包括使用虚拟地址(VA)和程序计数器(PC)的数据预取引擎。不同…

C++——函数指针与指针函数

函数指针与指针函数 1. 初识 一个区分的小技巧&#xff1a; “函数指针”中函数是用来修饰指针的&#xff0c;所以主体是指针&#xff0c;它主要是用来指向函数的。 “指针函数”中指针是用来修饰函数的&#xff0c;所以主体是函数&#xff0c;该函数的返回类型是指针。 举个…

A1048 Find Coins(测试点1)

Sample Input 1: 8 15 1 2 8 7 2 4 11 15 Sample Output 1: 4 11 Sample Input 2: 7 14 1 8 7 2 4 11 15 Sample Output 2: No Solution idea 测试点1&#xff1a;m比i小的情况处理小细节&#xff1a;i m/2时&#xff0c;注意i的出现次数必须大于一次 solution #in…

【数据结构--八大排序】之冒泡排序+选择排序+插入排序

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

【数据库——MySQL】(13)过程式对象程序设计——存储函数、错误处理以及事务管理

目录 1. 存储函数2. 存储函数的应用3. 错误处理4. 抛出异常5. 事务处理6. 事务隔离级7. 应用实例参考书籍 1. 存储函数 要 创建 存储函数&#xff0c;需要用到 CREATE 语句&#xff1a; CREATE FUNCTION 存储函数名([参数名 类型, ...])RETURNS 类型[存储函数体]注意&#xff1…

ESP32IDF — 硬件I2C使用教程

前言 &#xff08;1&#xff09;最近刚做完ESP32的一个模块的驱动移植&#xff0c;使用到了I2C。感觉ESP32的硬件I2C还是挺容易使用的。 &#xff08;2&#xff09;本文将只会介绍ESP32的硬件I2C使用&#xff0c;如果想知道软件I2C使用&#xff0c;可看其他的任意一款芯片软件I…

双指针算法——移动零

双指针算法——移动零&#x1f60e; 前言&#x1f64c;题目详情&#xff1a;图解分析&#xff1a;代码分享&#xff1a;B站讲解视频链接&#xff1a; 总结撒花&#x1f49e; &#x1f60e;博客昵称&#xff1a;博客小梦 &#x1f60a;最喜欢的座右铭&#xff1a;全神贯注的上吧…

数据集笔记:华盛顿共享单车OD数据

2010~2022 共享单车OD数据 数据地址&#xff1a;Index of bucket "capitalbikeshare-data"

STM32F4X UCOSIII任务消息队列

STM32F4X UCOSIII任务消息队列 任务消息队列和内核消息队列对比内核消息队列内核消息队列 UCOSIII任务消息队列API任务消息队列发送函数任务消息队列接收函数 UCOSIII任务消息队列例程 之前的章节中讲解过消息队列这个机制&#xff0c;UCOSIII除了有内核消息队列之外&#xff0…