Overleaf撰写文档
第一部分:Overleaf撰写文档
文章目录
- 第一部分:Overleaf撰写文档
- 1、命令和环境
- 2、代码结构
- 3、关于中文
- 4、文章层级
- 5、模板
- 6、分行分段分页
- 7、列表
- 8、插入常见符号
- 9、简单链接
- 10、参考文献
- 11、目录和索引
- 12、插入图片
- 13、插入表格
- 14、浮动体
- 15、插入代码
- 16、插入行号
- 17、插入引文
- 18、生成标题页
- 19、拆分文档
- 20、合并单元格
1、命令和环境
- 命令:命令是以\开始,以非字母结束,非字母包括空格、数字、标点等。
- 命令的格式:
\Command[可选参数]{必选参数}
注意:命令是区分大小写的,\LaTeX是命令,但\latex不是。另外有些命令还可以带*号,效果不同。还有就是命令可能有参数,也可能没有参数。有些命令也是可以带多个必选参数的。
- 环境:以\begin开始,以\end结束的区域。
- 环境的格式:
\begin{environment}[可选参数]{必选参数}
······
\end{environment}
注意:一些命令的作用范围太大(也被叫做“声明”),可以使用{}来限制作用范围。另外一些环境名也可以带*号。
- 注释:在一行的任意位置,%后面的部分不被编译和执行。
- 命令的格式:
%······
注意:%是默认的注释方式,只对当前行有效,如果需要连续多行注释,可以通过引入verbatim包找到相关的功能。
代码示例:
\documentclass[12pt]{article}%前面的12pt是调整字号的大小的。12pt这个参数是可以不带的写成下面的这种形式。关于字号后面会讲。
%\documentclass{article}\begin{document}Hello, World! This is \LaTeX % 这是一个不带参数的命令\section{Introduction} % 这是一个带参数的命令%itemize是一个无序列表的环境
\begin{itemize} % 这是一个列表环境,begin 开始,end 结束\item one \item two
\end{itemize}% 这里就是注释
% 虽然这句话很长,看起来好像有两行那么长,实际上只要没有回车,那就还是算一行,所以还在注释命令的作用区间内,这是一行,不是两行,也不是三行。不信你可以拖动右侧的边栏,这里的文字在显示的时候可能变成更多行。{\tiny
1 2} 3 4 5%这个\tiny是个声明,在它之后,字号都为小字号。可以使用{}可以限制命令的作用范围。
\large
1 2 3 4 5\end{document}
2、代码结构
- 代码结构:一个LaTeX项目中可能会有很多文件,但一定有一个主文件,主文件里面一定有一个下面这样的结构
\documentclass{xxx}
%导言区
\begin{document}
%正文区
\end{document}
注意:导言区用于设置文档的全局属性,可以做很多事:
- 设置文档类
- 加载宏包
- 设置页面布局
- 设置文档字体和布局
- 自定义命令和环境
- 设置标题、作者和日期等信息
文档类:也就是\documentclass[可选参数]{必选参数}
,可选参数是由文档类决定的。LaTeX基础文档类清单:
文档类名 | 作用 |
---|---|
article | 标准文档类,最常用,文章 |
report | 标准文档类,长篇报告 |
book | 标准文档类,书籍 |
proc | 不常用,一个文档模板 |
slides | 不常用,一个幻灯片模板 |
minimal | 不常用,一个极简文档类 |
当然也可以是模板名称,不用这些基础的文档类。可以把文档类理解为一种模板。
以article
为例,部分可选参数:
作用 | 参数 |
---|---|
字号 | 10pt,11pt,12pt |
纸张大小 | a4paper,letterpaper |
单双面 | oneside,twoside |
单双栏 | onecolumn,twocolumn |
横向排版 | landscape |
标题页是否独立 | notitlepage,titlepage |
草稿/终稿 | final,draft |
宏包:增加更多的功能,想要什么样的功能,就找什么样的宏包。
命令格式:
\usepackage[可选参数]{包名}
注意:引入宏包是非常常见的操作,因为很多功能默认没有,需要宏包来补充。另外可以一条命令调用多个宏包,但是这种方式并不建议使用。还有就是,一些宏包修改了部分LaTeX自带的命令,编译时出错就可能是这个原因。一般来说引入宏包是需要先下载再进行引用的,但是因为我们使用的是Overleaf这个平台,所以也就省去了下载这一步。最后我们可以在ctan.org找到几乎所有的宏包和文档,ctan.org的网址为:https://ctan.org/。
代码示例:
\documentclass{article}%用来声明文档类 其实可以把文档类理解为模板,进一步可以理解为它是一种功能和样式的集合。% 这里是导言区
\usepackage{hyperref}%宏包其实就是LaTeX自带的命令还没法完全满足需求,就有第三方开发了一些其他的命令,想要使用这些命令,就要加上宏包。实际上如果我们没有使用Overleaf这个平台,而是在电脑中安装了LaTeX软件,当需要使用某一个宏包的时候,是需要把它给下载下来的。然后再使用的。但因为我们在使用Overleaf所以我们也就省去了下载的那一步。当我们想使用超链接的功能时,就可以引入这个宏包。\usepackage{ctex}%ctex这个宏包是用来支持中文的。%当引入多个宏包时,如果没有可选参数的话,也可以一条命令导入多个宏包,如下
%\uespackage{hyperref,ctex}\begin{document}
% 这里是正文区Text Text Text\href{http://www.baidu.com}{Baidu}%可以带两个必选参数,第一个是网址,第二个是这个网址显示出来的名字。有了上面的宏包,这个命令也就可以使用了。\end{document}%我们要写的东西都必须在正文区或者是导言区。写到正文区或者导言区以外的区域,是无效的。
3、关于中文
在Overleaf中直接写中文是没法识别的,因为默认是不支持中文的。想要支持中文有两种办法:
- 引入ctex宏包:当使用非标准文档类或Beamer或模板时
\usepackage{ctex}
- 使用CTEX系列的文档类:如果不使用别人的模板自己创作时,例如:
\documentclass{ctexart}
CTEX提供了四个中文文档类:
文档类 | 作用 |
---|---|
ctexart | 对应标准文档类article |
ctexrep | 对应标准文档类report |
ctexbook | 对应标准文档类book |
ctexbeamer | 对应beamer |
注意:使用上面的文档类跟我们直接引入ctex宏包还有一些不同,如果使用ctexart这种中文文档类,除了支持中文外,还会有一些特殊的排版机制。这些特殊的排版机制是符合中文排版的习惯的。还有要确保使用的编码格式为UTF-8。另外就是,一定要确认我们的编译器选到了XeLaTeX,否则就会报错。在Overleaf中黄色表示警告。大部分时候,这个黄色的警告信息是可以忽略的。不影响我们日常的使用的。
代码示例:
\documentclass{article}
\usepackage{ctex} %ctex是一个宏包,第一种方式%\documentclass{ctexart} %这是第二种方式\begin{document}\section{Introduction}是否支持中文\end{document}
%在本节编译时,会出现一个黄色的警告,表示字体规格有问题,关于如何解决这个问题,有两种办法,第一种办法我们将会在下一部分提到。
如何消除最后一点警告:要求按照Ubuntu系统配置中文字体,如下
\usepackage[fontset=none]{ctex}
\ctexset{fontset = ubuntu}
代码示例:
%解决上面的黄色警告
\documentclass{article}\usepackage[fontset=none]{ctex} % 使用 fontset=none 选项禁用 ctex 宏集的操作系统检测和自动设置字库功能;这个可选参数的含义是我们要求ctex宏包不要自动检测操作系统,也不要自动的设置字库,它不自动设置的情况下,我们就可以手动设置,使用下面的命令。
\ctexset{fontset = ubuntu}%要求它的字体集指定为ubuntu(是一个操作系统的名字),当我们字体集选择ubuntu的时候,实际上我们使用的字体是思源黑体和思源宋体。如果不想使用这个字体的话,也是有很多办法的。实际上,overleaf支持各种各样的字体是通过一个fontspec宏包来支持各种各样的语言的字体,包括中文字体。这个宏包里面的字体,都可以通过命令来进行使用。使用 \ctexset{} 命令手动指定字库% 或者把上面两步合并为一步
%\usepackage[fontset=ubuntu]{ctex}% 如果你直接使用中文文档类的话(这是第二种使用字体的方式)
%\documentclass[fontset=none]{ctexart}
%\ctexset{fontset = ubuntu}\begin{document}\section{中文字体}
是否完美支持中文\end{document}
另外还可以设置自己的字体:
- 把需要上传的字体文件上传到项目中
- 在导言区进行设置\setCJKmainfont{字体名称}
注意:前提是引入了ctex宏包,才有\setCJKmainfont命令。关于中文这一块的问题会在后面的部分中更加详细的提到。
4、文章层级
三个标准文档类中支持的章节命令如下:
命令 | 效果 |
---|---|
\part | 部,很少用 |
\chapter | 章,常用,article中未定义 |
\section | 节,常用,目录中自动加编号 |
\subsection | 小节,常用,自动加编号 |
\subsubsection | 次小节,自动加编号 |
\paragraph | 段落,很少用 |
\subparagraph | 次段落,很少用 |
具体使用哪一个,要依照模板来定。
如果想要生成目录可以使用命令:
\tableofcontents
如果要控制文章目录中显示的层级深度,可以使用命令:
\setcounter{tocdepth}{想要展示到第几级}
其中part是0级,section是1级,依次类推。
另外,如果章节名称比较长,可以使用命令:
\section[短名称]{长名称}
效果就是在目录中显示短名称,在章节中显示长名称。
如果有个章节不想让它进入目录,可以使用命令:
\section*{名称}
代码示例:
\documentclass{article}
\usepackage{ctex}
\setcounter{tocdepth}{2}%tocdepth默认为3,如果为3,那么小于3的各级都会被展示出来,如果不想展示那么多层级,那么就可以更改花括号中的数字。\begin{document}
\tableofcontents
%\newpage%如果我们觉得目录和内容在一页上比较挤的话,可以使用这个命令,从该命令开始,新起一页。\section{数据结构}\subsection{概述}这里是概述\subsubsection{走进数据结构}这里是第一节\subsubsection{走进计算机系}这里是第二节\subsection{精讲}这里是精讲\section[另一章]{这是一个比较长的名称的章节}%章节名过长,设置一个别名。
以这种方式就会简单一些\subsection{第二章核心内容}\subsection*{彩蛋章节}\end{document}
5、模板
一般写论文都是使用模板来写的,模板的获取方式有很多,比如学校、Github、Overleaf网站等等。
获取的模板中会有很多文件,各种文件的介绍如下:
文件后缀 | 功能 | 总结 |
---|---|---|
.tex | 可编辑文件,我们就在这里面进行写作 | 最关心的文件 |
.sty | 宏包文件 | 模板里面的 |
.cls | 文档类文件 | 模板里面的 |
.bib | BIBTEX参考文献数据库文件 | 模板里面的 |
.bst | BIBTEX参考文献格式模板 | 模板里面的 |
.log | 日志文件 | 过程文件 |
.aux | 主辅助文件,记录交叉引用 | 过程文件 |
.toc | 目录文件,辅助生成目录的 | 过程文件 |
.lof | 图片目录文件 | 过程文件 |
.lot | 表格目录文件 | 过程文件 |
.bbl | BIBTEX参考文献记录文件 | 过程文件 |
.blg | BIBTEX日志文件 | 过程文件 |
.idx | 索引记录文件 | 过程文件 |
.ind | 格式化索引文件 | 过程文件 |
.ilg | 日志文件 | 过程文件 |
.out | PDF书签记录文件 | 过程文件 |
.dvi | 目标文件 | 目标文件 |
生成的pdf文件 | 最最关心的文件 |
6、分行分段分页
手动分行:
- 使用双反斜杠 \ \
- 使用命令 \newline
注:\ \可以带更多的参数,比如\ \ [10pt],也就是换行后增加10点垂直距离,而\newline不能。\newline只支持在文本中换行,\ \支持更多,比如表格和数学公式。还有一种\linebreak的方式也能断行,但是会用剩下的内容强制填充当前行,最好不用。
手动分段:
- 空一行或者多行(两次回车)
- 使用命令\par
注:\noindent命令放在段落首行的起始位置可以取消段落首行的缩进,\indent可以增加缩进。首行缩进量,段落的左缩进和右缩进以及段落间的垂直间距都可以做精细的调整,比如垂直间距可以进行调整\parskip。具体的一些内容后面会提到。
手动分页:
- 使用命令\newpage
- 使用命令\clearpage
注:在分栏和处理浮动体的时候,两者表现不同,\newpage在当前位置立即开始新的一页,剩余部分留空。\clearpage先处理浮动体(后面会提到)。在双栏模式下,\newpage只能换栏,\clearpage才能换页。
代码示例:
\documentclass{article}
\usepackage{ctex}\begin{document}\tableofcontents
\newpage\indent\section{分行演示}这是第一行,这还是第一行这是第一行\\[10pt] 这是第二行这是第一行,这是一句话。 \newline 这是第二行,这是一句话,这还是一句话,这还是一句话。\clearpage
\section{分段演示}\noindent 这是完整的一段。这是第二句,这是第三句。句子更长一些。句子更长一些。句子更长一些。句子更长一些。句子更长一些。句子更长一些。句子更长一些。句子更长一些。这是完整的第二段。句子更长一些。句子更长一些。句子更长一些。句子更长一些。句子更长一些。\par 这里是第三段。句子更长一些。句子更长一些。句子更长一些。句子更长一些。句子更长一些。句子更长一些。句子更长一些。句子更长一些。\end{document}
7、列表
列表有三种,分别是无序列表、有序列表和描述列表。这三种列表都是环境,不是命令。
无序列表:
\begin{itemize}\item...........
\end{itemize}
注:可以嵌套,但是不能超过四层。可以通过\item加可选参数 [] 临时改变项目符号。也可通过修改\labelitemi等,直接修改项目符号。
有序列表:
\begin{enumerate}\item...........
\end{enumerate}
注:可以嵌套,但是不能超过四层。可以通过\item加可选参数 [] 临时改变项目符号。也可通过修改\labelenumi等,直接修改项目符号。
描述列表:
\begin{description}\item...........
\end{description}
注:可以通过\item加可选参数 [] 来强调列表项,通常应用在定义的场景。仍然可以嵌套。如果需要修改样式,可以引入enumitem宏包进行定制。
代码示例:
\documentclass{article}
\usepackage{ctex}\begin{document}
\section{无序列表 itemize}% 展示一个无序列表
这是一个无序列表
\begin{itemize}\item 第一项\item 第二项\item 第三项
\end{itemize}% 可以通过在 item 后面加入可选参数,临时改变其中某些项目符号
比如说,我们这样临时调整一下
\begin{itemize}\item[+] 第一项\item[-] 第二项\item[anything] 第三项
\end{itemize}演示一下什么是嵌套
\begin{itemize}\item 河北省\item 河南省\item 山东省\begin{itemize} % 这一层级就是二级嵌套\item 淄博\item 济南\item 青岛\end{itemize}
\end{itemize}\section{有序列表 enumerate}
% 展示一个有序列表
这是一个有序列表
\begin{enumerate}\item 第三项\item 第一项\item 第二项
\end{enumerate}% 可以通过在 item 后面加入可选参数,临时改变其中某些项目符号
比如说,我们这样临时调整一下
\begin{enumerate}\item[A] 第一项\item[b] 第二项\item[anything] 第三项
\end{enumerate}演示一下什么是嵌套
\begin{enumerate}\item 河北省\item 河南省\item 山东省\begin{enumerate} % 这一层级就是二级嵌套\item 淄博\item 济南\item 青岛\end{enumerate}
\end{enumerate}\section{描述列表 description}
\begin{description}\item[牛顿第一定律] 你肯定已经十分熟悉\item[热力学第二定律] 你肯定也非常熟悉\item[万有引力定律] 天体运行的规律
\end{description}\section{重新定义列表符号}
% 在一个局部环境中,演示一下,重新定义列表符号
{%这种带有花括号的方式,叫做分组,可以限制里面的命令的作用域。所以重新定义命令不会影响到花括号以外的部分。
这是无序列表,注意是 item
\renewcommand{\labelitemi}{$\star$} % 重新定义命令,我们后面会讲,无序列表的项目符号是存储在一个变量里面的,叫做labelitem里面,具体来讲它有四个这样的变量。注意:\star这个命令是个星形。
\begin{itemize} % 从实心黑点变成了星型\item 第一项\item 第二项
\end{itemize}
}
%下面的就是我们上面说的四个变量
% 我们说最多可以嵌套四层,所以有四层可以修改的项目符号
% \labelitemi 第一层
% \labelitemii 第二层
% \labelitemiii 第三层
% \labelitemiv 第四层% 在一个局部环境中,演示一下,重新定义列表符号
{
这是有序列表,注意是 enum
\renewcommand{\labelenumi}{$\star$} % 重新定义命令,我们后面会讲
\begin{enumerate} % 从实心黑点变成了星型\item 第一项\item 第二项
\end{enumerate}
}
% 我们说最多可以嵌套四层,所以有四层可以修改的项目符号
% \labelenumi 第一层
% \labelenumii 第二层
% \labelenumiii 第三层
% \labelenumiv 第四层%我们也是可以使用上面的工具栏来快速插入一个有序列表和无序列表。
\begin{itemize}\item
\end{itemize}\begin{enumerate}\item
\end{enumerate}\end{document}
8、插入常见符号
转义字符:有一些符号已经被系统占用了,比如#、$、%、{}、^、~、\等,需要以特殊的方式输入,也就是转义。
符号命令:用来表示特定数学符号、运算符或特殊字符的控制命令。
代码示例:
\documentclass{article}
\usepackage{ctex}\begin{document}
\section{转义字符}
% 比如说这些字符 # $ % & { } _ ^ ~ / \ ...
\~{} % 波浪号,‘数字一’前面那个按键左边的那个
\# % 井号,‘数字三’按键上面的
\$ % 美元符号,‘数字四’按键上面的
\% % 百分号,‘数字五’按键上面的
\^{} % 上标,‘数字六’按键上面的
\& % And,‘数字七’按键上面的
\_ % 下标,‘减号’按键上面的
\{ % 左花括号
\} % 右花括号\section{符号命令}
\textbackslash % 反斜杠
\slash % 斜杠
\ldots % 水平省略号
\dots % 智能省略号,这个更好
\TeX 以及
\LaTeX
最后是日期 \today % 严格来说不算符号命令\section{中文常用}
` % 左单引号
' % 右单引号
`` % 左双引号
'' % 右双引号
¥ % 人民币符号可以直接输入,跟上面美元符作为对比
- % 连字号,短连
-- % 短破折号,中连
--- % 长破折号,长连\section{日期与时间}%在LaTeX里面,系统内置了三个关于时间的变量%\the这个命令可以把LaTeX里面内置的这些常量和变量的命令里面的数值给展示出来。
\the\year- % \the 命令会把后面的日期命令转化为可阅读的形式
\the\month- % 后面年、月、日命令就是字面意思
\the\day,\today, % 是一个常用命令,可以快速输入当天日期
% 如果想要通过命令输入更加复杂的时间,可以试试引入 datetime 或 datetime2 宏包\end{document}
9、简单链接
- 超链接URL:需要引入下面这个包
\usepackage{hyperref}
有三种引入URL的命令:
- 第一种:展示网址且带跳转
\url{-url-}
- 第二种:展示网址不带跳转
\nolinkerl{-url-}
- 第三种:展示带有网址跳转的文本
\href{-url-}{-text-}
样式调整:
可以设置colorlinks=true,把颜色边框取消,增加链接文字颜色。可以设置urlcolor=blue,给链接文字设置自己想要的颜色。
- 交叉引用:当想要提醒读者去看某个内容时,最好的方式就是先给它编号,然后再引用这个编号。可以编号的内容有:章节、图片、表格、公式、列表项等。
有三个命令:
- 第一种:设置标签
\label{label_name}
- 第二种:引用标签,显示编号
\ref{label_name}
- 第三种:引用标签,显示页码
\pageref{label_name}
注意:在一个文档中,标签的名字必须唯一。当我们的文章内容发生变更时,编译后会自动更新编号。最好使用格式化的命名方式,这样可以方便管理和使用,比如给图表的标签加上fig:前缀,给章节标签加上sec:前缀等。
代码示例:
\documentclass{article}
\usepackage{ctex}
\usepackage{hyperref}
%\hypersetup{colorlinks=true} % 改变颜色,可以单独设置,也就是取消给链接带框的这种行为,而是给链接加上颜色。
%\usepackage[colorlinks=true, urlcolor=blue]{hyperref} % 也可以导入宏包的时候设置。在这个命令里,会把链接颜色改为蓝色。
\hypersetup{hidelinks} % 不加任何特殊效果。\setlength{\parindent}{0pt} % 为了好看,取消了段前缩进,后面会讲
\begin{document}\section{外部超链接}
测试网络速度的时候,有时候会访问百度 \url{https://www.baidu.com/} \par
测试网络速度的时候,有时候会访问百度\nolinkurl{https://www.baidu.com/} \par
测试网络速度的时候,有时候会访问 \href{https://www.baidu.com/}{百度首页} \par\section{这是插入的一章}
会影响到后面的编号\section{内部交叉引用} \label{sec:交叉引用}%\label这个命令的位置是非常重要的,如果我们把\label这个命令紧跟在\section这个命令后面的话,使用\ref这个命令时,获取的就是这个章节的编号。如果这个命令在图片的浮动体或者表格的浮动体里面的话,那么\ref这个命令获取的就是这个图片的编号或者这个表格的编号。
在你需要的地方,比如章节标题、图片标题、表格标题、公式、列表项等等,用 label 命令打上标签,可以使用 ref 命令引用过来。\section{交叉引用的测试}
这样你在未来需要的时候,就可以引用了,可以参考第 \ref{sec:交叉引用} 章的相关内容 \par
也可以引用标签位置的页码,比如说:请参看第 \pageref{sec:交叉引用} 页的相关内容 \par
\end{document}
10、参考文献
引用和维护参考文献:
- 创建一个后缀为.bib的BIBTEX文件(模板一般都自带)。
- 在这个文献中添加你的引文信息,例如从一些学术网站上获取。
- 回到主文件,设置参考文献的展示样式(\bibliographystyle{}命令)。
- 在需要的位置插入引用(\cite{}命令)
- 插入参考文献列表(\bibliography{}命令)(模板一般都带)。
注意:
- 各种模板里面自带的.bst文件的作用就是定义“参考文献”的页面样式。
- BIBTEX已经被深度集成在了LaTeX中,所以我们不需要引入各种宏包就可以使用,包括\bibliographystyle{}在内的各种命令。
- 在\bibliography{}这个命令中,是可以使用/来设置展示根目录的参考文献还是展示根目录下一些其他文件的文献的。
- LaTeX预设了一些基础样式文件,比如:plain,abbrv,alpha,unsrt等,所以这些选项其实都对应着一个文件。
样式 | 效果 |
---|---|
plain | 根据作者姓氏字母顺序进行排序 |
abbrv | 排序同plain,作者名字被缩写 |
alpha | 排序同plain,会生成基于作者名和年份的标签 |
unsrt | 根据参考文献在文本中出现的顺序进行排序 |
脚注:在需要的位置,插入脚注。脚注会展示在当前目录的底部。
命令:
\footnote{text}
边注:在页面边缘插入文本或图像
命令:
\marginpar{text}
注意:在浮动体中直接使用可能会有问题,如果有需要,可以参考marginnote宏包。
代码示例:
main.tex
\documentclass{article}
\usepackage{ctex}
\bibliographystyle{plain} %这条命令可以设置我们参考文献展示的样式。% plain 本质上是 plain.bst\begin{document}
\section{引用}
接上一章,我看了一篇文章\cite{编号1996An},里面说想要做到一个完美的水平并不轻松\cite{编号2013}。\section{脚注}
对了,脚注 \footnote{非常的形象,比footer好听} 是一个我很喜欢的功能!如果我在看的一本书中,有大量的脚注,我会很开心。北极圈是地球上极端的地区之一,位于北极附近,包括北极点以及其周围的区域。这个神秘而充满挑战的地带以其极寒的气候、冰雪覆盖的广袤土地和独特的生态系统而闻名于世。北极圈是地球上最寒冷的地区之一,极夜和极昼的现象让这里的生活充满了奇幻色彩。\section{边注}
在北极圈,你可以欣赏到壮观的极光,这是多彩的自然光秀\marginpar{你知道么,在中国也能看到极光},常常在寒冷的夜晚上演。这里也是北极熊、驯鹿、海豹等各种野生动物的家园,它们与极地环境和冰雪相互依存,构成了极具生态价值的景观。北极圈还吸引着科学家、探险家和冒险者\footnote{这是第二个脚注},他们前来研究气候变化、地球的历史以及极地生态系统。同时,这里也是极地旅游的热门目的地\marginpar{这是第二个边注},吸引着那些渴望亲身体验北极之美的旅行者。\newpage%单独给参考文献整一个界面。
\bibliography{reference} %可以不用带上后缀。
\end{document}
reference.bib
@article{编号1996An,title={An artificial neural network approach to transformer fault diagnosis.},author={Zhang and Y. and Ding and X.},journal={IEEE Transactions on Power Delivery},year={2050},}
%参考文献里面的第一项,就是用来引用的,可以对第一项进行修改,方便引用
@article{编号2013,title={深度学习、今天和明天},author={张三 and 李四 and 王五 and 测试},journal={计算机研究与发展},volume={50},number={9},pages={6},year={2050},
}
11、目录和索引
目录:按照文档结构,列出文档章节标题,一般出现在文档前面。使用下面的命令生成目录
\tableofcontents
不需要额外引入宏包。
索引:按照字母顺序,列出文档中的关键词。一般出现在文档结尾。需要引入宏包makeidx
\usepackage{makeidx}
\index{}
用于添加索引项。
\makeindex
用于启动索引引擎(在导言区进行设置)
\printindex
用于在该位置输出索引
注:支持分级索引,最多三级。
代码示例:
\documentclass{article}
\usepackage{ctex}
\usepackage{makeidx} %索引需要的宏包
\makeindex %用于启动索引引擎%默认的目录和索引都是不可点击跳转的,但是加上下面这一条就可以。
\usepackage[hidelinks]{hyperref} % 添加跳转。点击目录的章节以及索引的页码就可以跳转。
%索引是指你可以把文章的一些关键字或者一些关键的概念,在文章或者书籍的最后,编制一个独立的页面来呈现它,方便读者快速的去查阅。%\renewcommand{\indexname}{词汇表} % 修改'索引'名称,与下面修改目录名称类似。
%\renewcommand{\contentsname}{文档结构} % 修改'目录'名称 ,目录的名称是存储在\contentsname这个变量里面的。
%\renewcommand{\refname}{参考文献清单} % 修改'参考文献'名称
\begin{document}
\tableofcontents
\newpage\section{第一章}
北极是地球上的两个极地之一,位于北半球的最北部。它包括北极洋和周围的陆地,是一个充满神秘和壮丽景色的地方。北极地区的气候极端,冰雪覆盖了绝大部分时间,因此也被称为冰封之地。\subsection{第一小节}北极地区是极地生物多样性的家园,其中包括北极熊\index{北极熊}、北极狐\index{北极动物!北极狐}、海豹\index{北极动物!海豹}等独特的动植物物种。这些生物已经适应了极端的寒冷气候,展现出了生存的奇迹。\subsection{第二小节}北极地区在全球气候系统中扮演着重要角色,它的冰川和冰盖对全球海平面和气候有着巨大影响。近年来,由于气候变化的影响,北极冰层逐渐减少,这引发了对全球环境的担忧。\section{第二章}
科学家们对北极地区进行了广泛的研究,以了解气候变化、生态系统和环境污染的影响。这些研究有助于我们更好地理解地球的运行方式,以及如何保护这一宝贵的自然资源。 \section{第三章}
北极地区也是一些原住民民族的家园,他们依靠捕鱼、狩猎和传统方式的生活。保护北极地区的生态环境,也涉及到尊重和保护这些文化的传承。\section{第四章}
北极的极夜和极昼现象是独一无二的,夏季可以连续数月看不到夜晚,而冬季则是漫长的黑暗时光。这种特殊的光照条件对于研究太阳、天文学和气象学提供了独特的机会。\subsection{第一小节}总的来说,北极是一个充满挑战和机遇的地方,它的美丽和重要性远远超出了它在地球上的相对边远位置。通过科学研究和全球协作,我们可以更好地保护和了解这个令人惊叹的地方。\subsection{第二小节}北极地区的冰川和冰层是地球上最大的淡水储备之一,它们对全球淡水循环和海洋环境有着深远的影响。北极冰的融化速度是一个全球气候变化的关键指标。北极熊\index{北极熊}是怎么喝水的?\section{第五章}
北极地区的地理位置使其成为了国际竞争的焦点,因为许多国家都试图争夺该地区的资源,包括石油和天然气。这引发了一些地缘政治紧张局势。\subsection{第一小节}北极地区的交通运输正在发生革命性的变化,因为随着冰层减少,新的航线变得更加可行,这对全球贸易和航运业产生了重大影响。\subsection{第二小节}北极地区也是极光的观赏胜地,数以百万计的游客每年前往北极圈地区,目睹这种神秘的自然光景。\section{第六章}
计算机系统 \index{计算机系统} 是一门课程,是一门重要的课程。有些人可能会质疑学习它的作用和意义,但是不可否认,它确实是一门重要的课程。同学 A 说,听君一席话...同学 B 说,与之相应的,Python \index{编程语言!Python}就是一种重要的语言%索引的分级,一个分级索引的例子,用 ! 分割。可以使用!对索引进行分级
\newpage
\printindex%使用这个命令自动化的生成一个索引。
\end{document}
%如果索引了两个相同的关键词,那么最终的索引界面里面,就会标出关键词所在的页码。
12、插入图片
插入图片:
\includegraphics[可选参数]{文件名}
注:需要宏包graphicx支持。支持插入的格式有jpg、png、bmp、pdf、esp,插入时扩展名一般不写。可以预先设置好图片文件夹,再声明(\graphicspath),方便大量图片的组织。
可选参数:
- width:宽度,单位cm,mm,in,pt
- height:高度,单位cm,mm,in,pt
- scale:缩放,1代表原始大小,0.5代表一半
- angle:旋转,按照逆时针旋转的度数
注:width和height也可以使用一些相对的指标,比如:width=0.5\textwidth。
最后:简单的插入图片的方式是有很多缺点的,比如过于简单,无法添加标题和标签,也就无法被引用。没有编号也就不会自动更新编号。位置固定也就无法浮动定位。
解决方案:回头会讲浮动体,浮动体可以完美解决上述问题。
代码示例:
\documentclass{article}
\usepackage{ctex}\usepackage{graphicx} % 插入图片所需宏包
\graphicspath{{Pics/}{Figures/}} % 支持设置多个目录,一个目录也需要两层包起来,如果没有这个命令,那么在插入图片的时候就必须要写出图片文件的完整路径,但是有时候图片的完整的路径太长,不方便,所以可以使用这个命令,这样就不用再写出完整的路径了。\begin{document}
\section{插入图片效果演示}
这是第一张图 \par
\includegraphics[scale=0.2]{LaTeX_Right.png}%放置的是图片所在的路径。这是第二张图 \par
\includegraphics[scale=0.2]{Pics/LaTeX_Left.png}%如果图片是在文件夹里面,那么写文件路径的时候也要把文件夹带上。当然如果觉得这样写会麻烦一些,也可以使用\graphicspath这个命令,把放图片的目录给写进来,这样你插入这几个目录的图片的时候,就不用再写出文件夹了。\newpage
\section{设置图片文件夹路径}
% 导言区设置文件夹路径
\includegraphics[angle=45, scale=0.2]{Conversation.png} % 没有写 Figures/
% 但实际上 Overleaf 自动提示挺方便的,会直接给你文件的完整路径,只需点击一下就可以。\end{document}
13、插入表格
插入表格:
\begin{tabular}[垂直对齐]{列格式}
·······
\end{tabular}
必选参数(列格式):
- l:左对齐
- c:剧中对齐
- r:右对齐
- |:列分隔线
行内控制:
\hline增加行间的横线,每一行以 \\ 结束,单元格之间用&分隔
可选参数(垂直对齐):
- 如果不填,默认是c居中对齐
- t顶部对齐
- b底部对齐
注:是可以调整列宽和行高的,比如用p{width}来指定列宽。单元格内换行使用p{width}时自动换行,或者\newline手动换行(需要搭配p才能生效)。列数过多时可以使用*{num}{format}的方式,避免繁琐。也可以横向或者纵向合并单元格,一些操作需要引入宏包。如果想要在部分单元格下面增加横线,可以使用\cline{i-j}命令。
绘制三线表:需要引入宏包booktabs
\toprule
代表第一条水平线
\midrule
代表第二条水平线
\bottomrule
代表第三条水平线
注:如果需要多条水平线,可以多次使用\midrule。\hline对应\midrule。\cline{i-j}对应cmidrule{i-j}。可以通过\heavyrulewidth的值来调整\toprule和\bottomrule的宽度。可以通过改变\lightrulewidth的值调整\midrule的宽度。这三个命令都可以带可选参数改变宽度
简单插入表格的问题:过于简单,无法添加标题和标签,也就无法被引用。没有编号也就没法自动更新编号。位置固定也就无法浮动定位。
解决办法:回头会讲浮动体,浮动体可以完美解决上述问题。
代码示例:
\documentclass{article}
\usepackage{ctex}
\usepackage{booktabs}%\setlength{\heavyrulewidth}{0.2em} %改变头部和底部的横线的宽度。
%\setlength{\lightrulewidth}{0.2em} %改变中间线的宽度。\begin{document}
\section{基础表格环境 tabular}\subsection{必选参数}%这里讲的是必选参数的一些作用。
% 必选参数<列格式>的效果演示:l,c,r 和 |
\begin{tabular}{cc}%这个必选参数是可以通过字母的数量,来设置列的数量。1.1 & 1.2 \\2.1 & 2.2 \\
\end{tabular}\begin{tabular}{c|c}1.1 & 1.2 \\2.1 & 2.2 \\
\end{tabular}\begin{tabular}{|c|c|}1.1 & 1.2 \\2.1 & 2.2 \\
\end{tabular}\bigskip %插入垂直间距,仅为了视觉效果
\begin{tabular}{|c|c|}1.1 & 1.2 \\\hline2.1 & 2.2 \\
\end{tabular}\bigskip %插入垂直间距,仅为了视觉效果
\begin{tabular}{|c|c|}\hline1.1 & 1.2 \\\hline2.1 & 2.2 \\\hline
\end{tabular}\subsection{可选参数}%这里讲解的是一些可选参数的作用
% 可选参数<垂直对齐>方式:不填(c)、t、b,三种效果
\begin{tabular}{|c|}正常 \\居中对齐 \\
\end{tabular}
\begin{tabular}[t]{|c|}顶部对齐 \\的表格\\
\end{tabular}
\begin{tabular}[b]{|c|}底部对齐 \\的表格\\
\end{tabular}\subsection{更多内容}
\begin{tabular}{|c|p{10cm}|} % 演示 P{},这个的作用是指定列的宽度。1.1 & 1.2 \\\hline2.1 & 2.2 \\
\end{tabular}\begin{tabular}{c|c|c} % 演示部分横线,与 \hline 对应1 & 2 & 3 \\\cline{2-3}%只覆盖某几个列1 & 2 & 3 \\
\end{tabular}\begin{tabular}{|c|p{15em}|} % 演示单元格内换行1.1 & 如果字数确实是比较多,如果字数确实是比较多 \\\hline2.1 & 如果字数 \newline 确实是比较多 \\
\end{tabular}\begin{tabular}{*{3}{c}} % 不用一直写 ccc。1 & 2 & 3 \\
\end{tabular}\section{绘制三线表}
\begin{tabular}{cc}\toprule表头1 & 表头2 \\\midrule内容1.1 & 内容1.2 \\内容2.1 & 内容2.2 \\内容3.1 & 内容3.2 \\内容4.1 & 内容4.2 \\\bottomrule
\end{tabular}\end{document}
14、浮动体
图片和表格一般需要在一页纸上完整的显示出来,为了避免出现大量的空白,LaTeX引入了浮动体的概念,在保证图片和表格不被分割的前提下,把他们移动时所空出来的位置用文字填充起来。
浮动体的特点:
- 自动位置处理,根据整体布局和排版会自动给浮动体寻找一个合适的位置。
- 避免分页,通过允许元素在页面之间的移动避免了出现大量空白。
- 提供标题和标签,为图片和表格提供了额外的信息。
- 允许自定义,浮动体的行为可以被用户提供的参数控制。
LaTeX内置了两种浮动体环境:figure(一般放图片)和table(一般放表格),当然如果你有一些别的东西也想放浮动体里面,也是可以放到这两个环境中的。
命令:
\begin{figure/table}[可选位置参数]
······
\end{figure/table}
可选位置参数:默认是tbp
- h:当前位置,尽量不用,或用ht
- t:顶部
- b:底部
- p:单独成页
- !:忽略限制
设置对齐方式:
\centering
居中对齐
\raggedleft
右对齐
\raggedright
左对齐
添加标题和标签:
\caption{···}
给浮动体添加标题
\label{···}
给浮动体打上标签
并排展示多个元素:如果多个元素共用一个标题,直接在同一个浮动体环境中插入即可。如果在同一个标题下,多个元素需要分别拥有子标题,只需要使用subcaption宏包的subfigure环境。如果多个元素需要分别拥有自己的标题,但是需要并排在一起,需要使用minipage环境。对于更复杂的效果,后面再说。
代码示例:
\documentclass{article}
\usepackage{ctex}
\usepackage{graphicx}
\usepackage[colorlinks=true]{hyperref} %引入这个宏包,可以实现跳转\begin{document}
\section{随机文字}
当谈到大航海时代的人类壮举时,我们不得不想到那个伟大的时代,当人们勇敢地探索未知的大海,寻找新的世界和财富。这一时期跨足了15世纪至17世纪,涵盖了许多令人惊叹的事件和壮举,下面将介绍其中一些。首先,我们不得不提到著名的哥伦布,他是大航海时代的一个标志性人物。1492年,哥伦布启程寻找通往印度的新航路,但却不慎发现了新大陆,即今天的美洲。这一发现改变了世界地图,彻底颠覆了当时的认知,如图\ref{fig:左边桌子}。哥伦布的冒险和毅力是一个人类壮举的典范。接下来,我们来谈谈麦哲伦。费尔南多·麦哲伦是大航海时代的另一位伟大的探险家。他率领一支舰队,在1519年启程环绕地球。这次探险历时三年,历经艰险,但终于完成了地球周游的壮举,证明了地球是圆的。此外,还有诸如瓦斯科·达·伽马的航海家,他率领一支葡萄牙舰队成功穿越了好望角,到达了印度,开辟了一条通往东方的新航路。这一壮举推动了贸易和文化交流。不可忽视的是西班牙的康克斯托多,他率领西班牙征服者征服了阿兹特克和印加帝国,带来了大量的黄金和财富,改变了全球的经济格局。最后,还有无数其他的探险家和海上冒险故事,如荷兰的亨利·哈德森、英国的弗朗西斯·德雷克等等。大航海时代见证了人类勇往直前的精神,不断突破自身的极限,探索未知的世界,这些壮举成为了人类历史上的重要篇章,永远值得我们铭记。\begin{figure}[tb]%这里的tb是指,希望尽量把这个浮动体排版在一个页面的顶部或者一个也页面的底部。注意:这里的tb的参数的位置顺序是不会影响到处理浮动体时候的优先级的。对于LaTeX来讲,它总会按照h-t-b-p这个顺序往下尝试的。\centering%这个命令的影响范围很大,它后面的一些命令和文本都会被这个命令所影响,但是现在它被限制在了浮动体环境里面。\includegraphics[scale=0.3]{LaTeX_Left.png} \caption{在电脑前使用\LaTeX}%这个命令是标题的意思。会展示图片的标题,并给图片进行编号。这个命令产生的标题不受\centering这个命令的影响,回头会进一步说明\label{fig:左边桌子}%它会从上面的这个命令获取到当前的浮动体的编号。也就是在我们当前例子里面的图一。
\end{figure}\begin{table}[ht]\centering\caption{Caption}%如果想要标题显示在上面,是可以这样写的,并不一定非得把标题写在下面。\label{tab:my_label}%当然我们之前也说过,我们需要把\label这个命令能尽量贴着它获取编号的那个命令。这样可以避免很多潜在的问题。\begin{tabular}{ccccc}1 & 2 & 3 & 4 & 5 \\1 & 2 & 3 & 4 & 5 \\\end{tabular}
\end{table}当谈到大航海时代的人类壮举时,我们不得不想到那个伟大的时代,当人们勇敢地探索未知的大海,寻找新的世界和财富。这一时期跨足了15世纪至17世纪,涵盖了许多令人惊叹的事件和壮举,下面将介绍其中一些。首先,我们不得不提到著名的哥伦布,他是大航海时代的一个标志性人物。1492年,哥伦布启程寻找通往印度的新航路,但却不慎发现了新大陆,即今天的美洲。这一发现改变了世界地图,彻底颠覆了当时的认知。哥伦布的冒险和毅力是一个人类壮举的典范。接下来,我们来谈谈麦哲伦。费尔南多·麦哲伦是大航海时代的另一位伟大的探险家。他率领一支舰队,在1519年启程环绕地球。这次探险历时三年,历经艰险,但终于完成了地球周游的壮举,证明了地球是圆的。此外,还有诸如瓦斯科·达·伽马的航海家,他率领一支葡萄牙舰队成功穿越了好望角,到达了印度,开辟了一条通往东方的新航路。这一壮举推动了贸易和文化交流。不可忽视的是西班牙的康克斯托多,他率领西班牙征服者征服了阿兹特克和印加帝国,带来了大量的黄金和财富,改变了全球的经济格局。最后,还有无数其他的探险家和海上冒险故事,如荷兰的亨利·哈德森、英国的弗朗西斯·德雷克等等。大航海时代见证了人类勇往直前的精神,不断突破自身的极限,探索未知的世界,这些壮举成为了人类历史上的重要篇章,永远值得我们铭记。当谈到大航海时代的人类壮举时,我们不得不想到那个伟大的时代,当人们勇敢地探索未知的大海,寻找新的世界和财富。这一时期跨足了15世纪至17世纪,涵盖了许多令人惊叹的事件和壮举,下面将介绍其中一些。首先,我们不得不提到著名的哥伦布,他是大航海时代的一个标志性人物。1492年,哥伦布启程寻找通往印度的新航路,但却不慎发现了新大陆,即今天的美洲。这一发现改变了世界地图,彻底颠覆了当时的认知。哥伦布的冒险和毅力是一个人类壮举的典范。接下来,我们来谈谈麦哲伦。费尔南多·麦哲伦是大航海时代的另一位伟大的探险家。他率领一支舰队,在1519年启程环绕地球。这次探险历时三年,历经艰险,但终于完成了地球周游的壮举,证明了地球是圆的。此外,还有诸如瓦斯科·达·伽马的航海家,他率领一支葡萄牙舰队成功穿越了好望角,到达了印度,开辟了一条通往东方的新航路。这一壮举推动了贸易和文化交流。不可忽视的是西班牙的康克斯托多,他率领西班牙征服者征服了阿兹特克和印加帝国,带来了大量的黄金和财富,改变了全球的经济格局。最后,还有无数其他的探险家和海上冒险故事,如荷兰的亨利·哈德森、英国的弗朗西斯·德雷克等等。大航海时代见证了人类勇往直前的精神,不断突破自身的极限,探索未知的世界,这些壮举成为了人类历史上的重要篇章,永远值得我们铭记。\section{可选参数}
\begin{figure}[h] % 同时演示了 h ,不建议使用 h。因为只写h的话,简单插入图片的或者表格的方式和用浮动体插入图片和表格的方式没有啥区别。
%\centering
\raggedright\includegraphics[scale=0.1]{LaTeX_Right.png}\caption{这是左对齐的效果}\label{fig:左对齐效果展示}
\end{figure}
\newpage\begin{figure}\centering\includegraphics[scale=0.15]{LaTeX_Left.png}%当两张图片过大的时候,即使你要求并排,但它还是会垂直排放\includegraphics[scale=0.15]{LaTeX_Right.png}\caption{并排的两张图片,同一个标题}\label{fig:同一个标题的两张图}
\end{figure}
% 如果想要更复杂的效果,后面会再进行讲解。
\end{document}
15、插入代码
抄写环境:LaTeX自带的代码环境,以等宽字体输出。
\begin{verbatim}
········
\end{verbatim}
注:不需要引入宏包,按照原样展示文本和代码,忽略所有LaTeX语法。verbatim*加星号后,使空格可见。还有一个抄录命令\verb,命令格式:
\verb|内容|
或
\verb+内容+
或
\verb*内容*
抄写环境虽然也可以用来展示带代码,但是明显不够专业。
代码环境:需要引入listings宏包。
\usepackage{listings}
\begin{lstlisting}[language=编程语言]
······
\end{lstlisting}
优点:有语法高亮,显示行号,可以充分自定义。比如结合xcolor宏包自定义语法高亮的颜色。和抄写环境一样,忽略LaTeX语法。
代码示例:
main.tex
\documentclass{article}
\usepackage{ctex}
\setlength{\parindent}{0pt}\usepackage{listings} % 代码环境所需宏包
\lstset{numbers=left}%如果不需要代码的序号的话,可以注释掉这个命令。
%\lstset{numbers=left, numberstyle=\tiny, stepnumber=2}%这个命令的作用就是让序号的字体变小一些,然后每两行才展示一个序号。
\usepackage{xcolor} % 自定义代码高亮颜色所需宏包,后面会专门讲的。
\input{color} % 这是一个配置代码高亮的例子\begin{document}\section{抄写环境}%抄写环境,顾名思义就是抄写的内容都会原样输出。
普通抄写环境:
\begin{verbatim}
在这里就想写什么写什么 \\ 分段也无效 ;
\usepackage{ctex} \\命令也无效 ;
~!@#¥%……&*() 各种符号也随便写;
如果是写代码,当然也可以 print("你好,世界!");
写什么就会被原样呈现,所以叫做抄写环境;段前空格,也能保留
\end{verbatim}展示空格的抄写环境:
\begin{verbatim*}有一个小变种,就是加星号;这里的区别是 空格 你看空格是什么效果;
\usepackage{} \section{} \caption{}
\end{verbatim*}\verb| anything in it. | \par%也是原样输出,主要用于插入小段的代码啥的。
\verb+ \section{} + \par
%上面的抄写环境也很好用,但是对于显示代码来讲还是不够专业。\section{代码环境}
%可以带上代码的编程语言
\begin{lstlisting}[language=Python]
import numpy as npdef incmatrix(genl1,genl2):m = len(genl1)n = len(genl2)M = None #to become the incidence matrixVT = np.zeros((n*m,1), int) #dummy variable#compute the bitwise xor matrixM1 = bitxormatrix(genl1)M2 = np.triu(bitxormatrix(genl2),1) for i in range(m-1):for j in range(i+1, m):[r,c] = np.where(M2 == M1[i,j])for k in range(len(r)):VT[(i)*n + r[k]] = 1;VT[(i)*n + c[k]] = 1;VT[(j)*n + r[k]] = 1;VT[(j)*n + c[k]] = 1;if M is None:M = np.copy(VT)else:M = np.concatenate((M, VT), 1)VT = np.zeros((n*m,1), int)return M
\end{lstlisting}\end{document}
color.tex
\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}\lstdefinestyle{mystyle}{backgroundcolor=\color{backcolour}, commentstyle=\color{codegreen},keywordstyle=\color{magenta},numberstyle=\tiny\color{codegray},stringstyle=\color{codepurple},basicstyle=\ttfamily\footnotesize,breakatwhitespace=false, breaklines=true, captionpos=b, keepspaces=true, numbers=left, numbersep=5pt, showspaces=false, showstringspaces=false,showtabs=false, tabsize=2
}\lstset{style=mystyle}
16、插入行号
上面我们讲过如何插入代码,在代码片段中有一个非常好的功能就是可以显示行号。有时我们在写作文章时对于普通的文字可能也需要显示行号。
插入行号:需要引入宏包
\usepackage{lineno}
环境:
\begin{linenumbers}
·······
\end{linenumbers}
注:也可以直接使用\linenumbers等命令,跟在这个命令后面的所有行都会被添加行号。可以使用\modulolinenumber[]命令定义行号显示的间隔。
多次使用行号是连续计数的,可以使用\resetlinenumber[]重新计数,除了使用\resetlinenumber[]的方式之外,还可以使用下面的方式:
\begin{linenumbers}[1]
\linenumbers[1]
\restlinenumber[1]
或者以*号的方式实现:
\begin{linenumbers*}
\linenumbers*
代码示例:
\documentclass{article}
\usepackage{ctex}
\setlength{\parindent}{0pt} % 取消段前缩进,后面会讲到
\usepackage{lineno} % 显示行号所需宏包
%\modulolinenumbers[2] % 可以自定义隔几行显示行号\begin{document}
\section{Introduction}
这是一个例子\begin{linenumbers}
这是第一行 \\
这是第二行 \\
这是第三行 \par%使用lineno这个宏包它会以一个明确的分段标识,以这个分段的命令\par来作为是否结行号显示的一个重要的判断依据。如果在这个环境的最终结束的时候,它不是以一个明确的分段标识来结束的,那即使环境关闭了,它的行号计数也没有被自动的关闭。
\end{linenumbers}环境外就不会被影响,这一行是没有行号的\bigskip %插入较大的空白
可以看到下面这一段的序号,没有被重新计数,默认是连续的 \par
\begin{linenumbers}
这是第一行 \\
这是第二行 \\
这是第三行 \\
这是第四行 \\
这是第五行 \\
这是第六行 \par
\end{linenumbers}\bigskip
如果需要,还可以对计数器清零 \par
\resetlinenumber[1] %对计数器清零
\begin{linenumbers} %也可以给该环境加上可选参数[1]来重置行号到1,或者给环境的linenumbers加上*号,即linenumber*来重置行号到1。
这是第一行 \\
这是第二行 \\
这是第三行 \\
这是第四行 \\
这是第五行 \\
这是第六行 \par
\end{linenumbers}\bigskip
除了使用环境,还可以使用命令开启和关闭行号显示 \par
\linenumbers %开启行号显示模式
这是第一行 \\
这是第二行 \\
这是第三行 \\
这是第四行 \\
这是第五行 \\
这是第六行 \par
\nolinenumbers % 这是关闭行号显示模式,最好用环境,而不是使用命令
这一行就没有编号\bigskip
重新打开,且从 1 开始重新计数,且靠右边展示 \par
\linenumbers* % 从1开始计数,或者也可以使用\linenumbers[1]来从新计数
\rightlinenumbers % 行号在右侧显示
这是第一行 \\
这是第二行 \\
这是第三行 \\
这是第四行 \\
这是第五行 \\
这是第六行 \par
\nolinenumbers % 最好用环境,而不是用命令\bigskip
或者用{分组}包裹起来,也可以,但仍然不建议!能用环境用环境 \par
{
\linenumbers[1] % 从 1 开始计数
\leftlinenumbers %把行号显示在左侧
这是第一行 \\
这是第二行 \\
这是第三行 \\
这是第四行 \\
这是第五行 \\
这是第六行 \par
}
\end{document}
17、插入引文
LaTeX内置了两个引文环境,quote和quotation。
命令:
\begin{quote/quotation}
······
\end{quote/quotation}
这两个环境的共同点是都能格式化引文,不同点是quote环境用于短引用,一两句话;quotation用于长引用,几段话;quotation环境会保留段落特征。如果需要使用更高级的格式化选项,可以使用csquotes宏包。
代码示例:
\documentclass{article}
\usepackage{ctex}\begin{document}
\section{quote 环境}
北极圈是地球上极端的地区之一,位于北极附近,包括北极点以及其周围的区域。这个神秘而充满挑战的地带以其极寒的气候、冰雪覆盖的广袤土地和独特的生态系统而闻名于世。北极圈是地球上最寒冷的地区之一,极夜和极昼的现象让这里的生活充满了奇幻色彩。%这里是 quote 环境。
\begin{quote}
如果没有去过北极,你永远无法想象星空的震撼。\par
\hfill - 《北极周刊》主编 Felix%在后面会详细介绍这个\hfill命令,这个命令的作用就是把它后面的内容推到这一行能推到的最右侧。
\end{quote}在北极圈,你可以欣赏到壮观的极光,这是多彩的自然光秀,常常在寒冷的夜晚上演。这里也是北极熊、驯鹿、海豹等各种野生动物的家园,它们与极地环境和冰雪相互依存,构成了极具生态价值的景观。\section{quotation 环境}
北极圈是地球上极端的地区之一,位于北极附近,包括北极点以及其周围的区域。这个神秘而充满挑战的地带以其极寒的气候、冰雪覆盖的广袤土地和独特的生态系统而闻名于世。北极圈是地球上最寒冷的地区之一,极夜和极昼的现象让这里的生活充满了奇幻色彩。%这里是 quotation 环境。这个环境会在段落前增加一些缩进,保留段落特征。
\begin{quotation}
著名的北极知识权威刊物《北极年鉴》的主编 Felix 这样描述北极圈:在北极圈,你可以欣赏到壮观的极光,这是多彩的自然光秀,常常在寒冷的夜晚上演。这里也是北极熊、驯鹿、海豹等各种野生动物的家园,它们与极地环境和冰雪相互依存,构成了极具生态价值的景观。
\end{quotation}北极圈还吸引着科学家、探险家和冒险者,他们前来研究气候变化、地球的历史以及极地生态系统。同时,这里也是极地旅游的热门目的地,吸引着那些渴望亲身体验北极之美的旅行者。
\end{document}
18、生成标题页
在Overleaf中创建项目是选择“blank project”,默认就会出现这些命令:
\title{}
设置文章标题
\author{}
设置作者
\date{}
设置日期
\maketitle
生成页面
注:\maketitle不负责生成页面的样式,标题页的样式由模板决定。使用\maketitle命令,调用模板样式生成标题页。
也可以使用titlepage环境,自由设置标题页:
\begin{titlepage}
········
\end{titlepage}
注:可以从零开始设计标题页的布局。可以通过\renewcommand命令结合titlepage环境,重新定义\maketitle命令对应的页面样式。总的来说,除了我们使用的几个标准文档类外,我们使用的各种模板,大部分都对\maketitle命令做了重定义。
代码示例:
\documentclass{article}
\usepackage{ctex}\title{3.19 标题页}
\author{Felix}
\date{\today}\begin{document}
%\maketitle\begin{titlepage}
\noindent%段首不要缩进
\centering%居中对齐
\vspace*{\stretch{1}} % 后面会详细介绍
\large标题:如何创建标题页 \\\vspace{1em}作者:Felix \\\vspace{1em}日期:2023 年 12 月 \\
\vspace*{\stretch{1}}
\end{titlepage}\newpage
\section{Introduction}
\end{document}
19、拆分文档
当文档比较复杂的时候,就需要将文档拆分开,方便组织内容。有两个内置的命令可以帮助我们完成这件事。
\input{}
以及
\include{}
这两个命令的相同点就是:
- 都可以把文件内容插入到当前文档中。
- 都支持相对路径和绝对路径。
- 插入文件时都不用带后缀。
不同点:
- \input命令支持嵌套,也就支持了多层级的插入。
- \include不支持嵌套。
- \input会在选定位置直接插入。
- \include会自动新开一页插入。
结论:
- 引入小部分内容,用\input。
- 引入大量内容,使用\include。
代码示例:
main.tex
\documentclass{article}\input{file1} % 文件名不要用中文,不要有空格\begin{document}这是例子 % 无缝衔接
\input{ArcticCircle}这里也是例子 % 无缝衔接
\include{file2} % 文件名不要用中文,不要有空格
这里还是例子 % 跨了一页\end{document}
ArcticCircle.tex
% !TeX root = ../main.tex北极圈是地球上极端的地区之一,位于北极附近,包括北极点以及其周围的区域。这个神秘而充满挑战的地带以其极寒的气候、冰雪覆盖的广袤土地和独特的生态系统而闻名于世。北极圈是地球上最寒冷的地区之一,极夜和极昼的现象让这里的生活充满了奇幻色彩。在北极圈,你可以欣赏到壮观的极光,这是多彩的自然光秀,常常在寒冷的夜晚上演。这里也是北极熊、驯鹿、海豹等各种野生动物的家园,它们与极地环境和冰雪相互依存,构成了极具生态价值的景观。北极圈还吸引着科学家、探险家和冒险者,他们前来研究气候变化、地球的历史以及极地生态系统。同时,这里也是极地旅游的热门目的地,吸引着那些渴望亲身体验北极之美的旅行者。无论你是寻求冒险、科学探索还是想要领略大自然壮观之美,北极圈都是一个充满魅力和挑战的地方,等待着你的探索。北极圈是地球上极端的地区之一,位于北极附近,包括北极点以及其周围的区域。这个神秘而充满挑战的地带以其极寒的气候、冰雪覆盖的广袤土地和独特的生态系统而闻名于世。北极圈是地球上最寒冷的地区之一,极夜和极昼的现象让这里的生活充满了奇幻色彩。在北极圈,你可以欣赏到壮观的极光,这是多彩的自然光秀,常常在寒冷的夜晚上演。这里也是北极熊、驯鹿、海豹等各种野生动物的家园,它们与极地环境和冰雪相互依存,构成了极具生态价值的景观。北极圈还吸引着科学家、探险家和冒险者,他们前来研究气候变化、地球的历史以及极地生态系统。同时,这里也是极地旅游的热门目的地,吸引着那些渴望亲身体验北极之美的旅行者。无论你是寻求冒险、科学探索还是想要领略大自然壮观之美,北极圈都是一个充满魅力和挑战的地方,等待着你的探索。北极圈是地球上极端的地区之一,位于北极附近,包括北极点以及其周围的区域。这个神秘而充满挑战的地带以其极寒的气候、冰雪覆盖的广袤土地和独特的生态系统而闻名于世。北极圈是地球上最寒冷的地区之一,极夜和极昼的现象让这里的生活充满了奇幻色彩。在北极圈,你可以欣赏到壮观的极光,这是多彩的自然光秀,常常在寒冷的夜晚上演。这里也是北极熊、驯鹿、海豹等各种野生动物的家园,它们与极地环境和冰雪相互依存,构成了极具生态价值的景观。北极圈还吸引着科学家、探险家和冒险者,他们前来研究气候变化、地球的历史以及极地生态系统。同时,这里也是极地旅游的热门目的地,吸引着那些渴望亲身体验北极之美的旅行者。无论你是寻求冒险、科学探索还是想要领略大自然壮观之美,北极圈都是一个充满魅力和挑战的地方,等待着你的探索。
file1.tex
% !TeX root = ../main.tex\usepackage{ctex}
file2.tex
% !TeX root = ../main.tex这里几乎可以写任何东西在主文档里面可以写的这里都可以写\section{章节}还有表格
\begin{table}[ht]\centering\begin{tabular}{cc}1 & 2\\1 & 2\\\end{tabular}\caption{Caption}\label{tab:my_label}
\end{table}
20、合并单元格
合并横向的单元格:
\multicolumn{列数}{格式}{内容}
- 列数:要合并的列数
- 格式:l、c、r等,分别表示左对齐、居中对齐以及右对齐。
- 内容:要填写的内容。
注:如果单元格附近有边框,需要在格式里加入。也可以和纵向合并单元格的命令结合使用。
纵向合并单元格:需要引入宏包:
\usepackage{multirow}
命令:
\multirow{行数}{宽度}{内容}
- 行数:要合并的行数。
- 宽度:要合并的宽度。(数值或*,*表示自适应内容)
- 内容:要填写的内容。
注:其中内容默认是垂直居中对齐,如果需要修改,可以在前面增加可选参数[t/b],设置顶部对齐或底部对齐。水平对齐方式由表格头部的定义决定。
代码示例:
\documentclass{article}
\usepackage{ctex}
\usepackage{multirow}\begin{document}
\section{横向合并单元格}
\noindent
表格一:直接合并 \\
\begin{tabular}{ccccc}1 & 2 & 3 & 4 & 5 \\\multicolumn{2}{c}{12} & 3 & 4 & 5 \\1 & 2 & 3 & 4 & 5 \\1 & 2 & 3 & 4 & 5 \\1 & 2 & 3 & 4 & 5 \\
\end{tabular}
\\
表格二:有网格线的合并效果 \\
\begin{tabular}{|c|c|c|c|c|}1 & 2 & 3 & 4 & 5 \\\multicolumn{2}{c}{12} & 3 & 4 & 5 \\1 & 2 & 3 & 4 & 5 \\1 & 2 & 3 & 4 & 5 \\1 & 2 & 3 & 4 & 5 \\
\end{tabular}
\\
表格三:网格线的处理 \\
\begin{tabular}{|c|c|c|c|c|}1 & 2 & 3 & 4 & 5 \\\multicolumn{2}{|c|}{12} & 3 & 4 & 5 \\1 & 2 & 3 & 4 & 5 \\1 & 2 & 3 & 4 & 5 \\1 & 2 & 3 & 4 & 5 \\
\end{tabular}\section{纵向合并单元格}
\noindent
表格一:直接合并第一列的前两格 \\
\begin{tabular}{|c|c|c|c|c|}\hline\multirow{2}{*}{11} & 2 & 3 & 4 & 5 \\ \cline{2-5}& 2 & 3 & 4 & 5 \\ \hline1 & 2 & 3 & 4 & 5 \\ \hline1 & 2 & 3 & 4 & 5 \\ \hline1 & 2 & 3 & 4 & 5 \\ \hline
\end{tabular}
\end{document}