【排版】用Overleaf速成LaTeX代码(从入门到开门)

一个略长的背景

由于美赛的原因,我接触了LaTeX。当时的我抱着速成LaTeX且要学到东西的念头,打开各类学习平台,但总被各种奇奇怪怪却毫不实用的教程劝退。

某小电视网站上的视频大多分为三类:

1.古早到还在用TeXworks editor

2.讲解Overleaf但内容简单

3.有一定实用性但在用TeX studio或VS Code写LaTeX

本网站上的技术贴有不少好的内容,也主要分为三类:

1.内容略显单薄以至于刚到重点就断更了

2.内容略显臃肿,包含了太多“为什么是LaTeX”这类的轱辘话和只写正常论文800年也用不到的命令

3.少量实用但略冗长的技术贴

翻着翻着还是觉得这些帖子不能够实现“速成”,于是在跟着官方帖学习后,我决定自己开坑写文。这篇文章是我边学边写的成果,更多用于自己以后回顾,但也希望能够对想要入门LaTeX的你有所帮助。

本文最大的特点可能是并不试图从头把你教成LaTeX大师,更倾向于:

  1. 分享好用的编辑器Overleaf。
  2. 分享LaTeX的基本语法。
  3. 分享好用的网站减少学习量和工作量,同时保质达到效果。
  4. 帮助你实现LaTeX入门,写出PDF成品。  

申明:本帖主要借鉴梳理了OverLeaf的官方入门贴+技术帖。全文会以英文论文为例进行讲解,中文论文格式类似。

特此附上本人学习过程中用到的Overleaf资料文档的链接:

在30分钟内学习LaTeX(如果你边看边练边记录,300分钟还差不多系列)

官方的超仔细学习文章(太多噜!!))

最后,新手上路,问题难免,还请各路大佬温柔指正,不要直接激情开麦。



目录

一个略长的背景

目录

适用人群

一、LaTeX和Overleaf的简单介绍

1.LaTeX简介

2.认识Overleaf

3.从Overleaf中导出项目与文件

二、论文基础

1.普通论文

①论文的格式和内容

②段落格式

2.LaTeX论文

三、序言内容

1.分区

2.申明文档类型

3.导入宏包

4.信息申明

四、正文内容

1.分区

2.LaTeX中的“ \”

3.环境

4.内容与注释

5.空格、换行、强制换页

①空格

②换行

③强制换页

6.缩进与行高

①缩进

②行高

7.字体格式

8.对齐方式

9.我写到哪里了?

①正文

②摘要

③章节

④其他

10.图片

11.列表

12.表格

13.生成目录

五、数学公式

1.与数学相关的宏包

2.公式模式

3.学着“写”公式

 六、页面的小装饰

1.页眉和页码

2.页码标识符

3.脚注

七、总结



适用人群

想要快速拥有一定的LaTeX论文排版技能且能够联网的朋友。



一、LaTeX和Overleaf的简单介绍

1.LaTeX简介

你可以将LaTeX理解为一种语言工具,帮助你只使用键盘就完成论文撰写排版。输入文本得到内容,输入命令控制格式。

通过敲代码,论文内容会按照指定格式排布,实现排版效果。它与Word等传统文本编辑器最大的不同点在于:

  1. 强大的数学公式排版能力。
  2. 强大的标准化复刻能力。

数学公式方面,最简单的例子是:Word中分数的排版格式总是以1/2的形式出现,但LaTeX可以轻松呈现出的形式。你完全可以认为没有LaTeX无法排版的数学公式

标准化复刻方面,由于LaTeX通过代码控制内容排版,通过复制粘贴代码可以快速而准确地实现内容的复现,避免了Word复制文本潜在的格式混乱问题。

我们需要着重学习的则是这门语言的语法命令


2.认识Overleaf

Overleaf是一个需要联网才能用的LaTeX在线排版网站(Overleaf),本文主要通过该网站实现。

经过注册等流程后,我们可以看到主页:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第1张图片

点击绿色的“New Project”按钮创建项目,通过选择“Blank Project”并自定义Project标题即可看到如下初始页面:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第2张图片

我用矩形框将页面分为三个部分。红色框我将其命名为操作栏;黄色框我将其命名为代码栏,蓝色框我将其命名为编译栏(接下来我都会这么称呼这三部分,今后不再赘述)。

操作栏:用于创建和管理文件夹及菜单

代码栏:用于编辑代码。可以看到在创建项目以后,系统已经自动生成了一段代码。

编译栏:用于查看排版效果。在编译栏会出现预期内容的PDF文档页面。

重要:

由于编辑与呈现并非同步,每当你需要查看代码带来的效果,必须点击“Recompile”进行编译查看最新的PDF效果。在使用部分命令排版内容,进行交叉引用时,需要对.tex源文件编译两次以上 。

当然你也可以点击“Recompile”处的倒三角,在“Auto Compile”处选择“On”,开启自动编译,实现同步。(该设置完全依据个人习惯及喜好,但我并不习惯也不推荐这样做。)


3.从Overleaf中导出项目与文件

无论论文质量与内容如何,我们都应该了解如何在Overleaf中导出项目导出和实打实的PDF文件

在操作栏我们可以看到Menu选项,单击进入。

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第3张图片

可以看到,“Download”处有两个选项:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第4张图片

 点击“Source”选项可以下载整个项目,格式为zip文件;点击“PDF”选项可以下载PDF文档。根据需求,自行下载即可。



二、论文基础

1.普通论文

①论文的格式和内容

常见的论文格式包括但不限于:“摘要 - 背景 - 正文 - 结语 - 参考文献”这样的基础格式。

根据需要,你可以加入“假设”、“稳定性分析”、“模型改进”等任何内容。但可以明确的是,我们总将论文写作分部完成

常见的论文内容无外乎序言正文两部分。

论文序言应该申明论文的基本信息,包括作者、工作单位、完成时间等;论文正文应该有目录,每一页应该有页码标注,甚者有页眉要求。

②段落格式

英文论文有两种常见的段落格式,你可以根据需要进行选择:

1.每个段落开头有缩进,段落之间无空行。

 2.每个段落开头不缩进,段落之间有空行。(雅思要求,本文也将使用此种格式)


2.LaTeX论文

LaTeX中完成论文同样分为序言、正文两个部分。

序言部分:主要负责申明论文文体导入宏包(部分功能的实现需要导入其他的插件协助完成,将这些套件称为“宏包”)、表明文章的标题作者时间等信息。

正文部分:主要负责论文的主体内容书写。



三、序言内容

1.分区

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第5张图片

序言部分即代码段 \begin{document} 前(红色框)的内容。系统已经生成了默认代码,我们可以对其进行微调。


2.申明文档类型

通常情况下,我们将以下代码置于首行,申明文档类型、文章的基础字号纸张类型

\documentclass[字号,纸张类型]{文本类型}
  • 纸张类型:可选参数有article、book、report等,我们选择article。
  • 字号:可选参数有9pt、10pt、11pt、12pt,默认为10pt。
  • 纸张类型:可选参数有letter paper、a4paper、legal paper等。通常缺省选择默认值。

3.导入宏包

宏包是 Latex 发行版的插件功能,通过安装宏包可以扩展或提供更多的功能。多数情况下,我们简称宏包为“”。我们需要通过以下代码导入宏包。

\usepackage[可选选项]{包名}

由于包的数量庞大,该导入哪些包反而不需要我们格外操心。当你需要完成某项功能时(如导入图片),直接在搜索引擎上搜索相关宏包的代码即可。

在此附上一些基础宏包

%文档的编码选择utf8。
\usepackage[utf8]{inputenc}

%使用graphicx包添加图片
\usepackage{graphicx}

%设置字体为Times New Roman(英文论文的经典字体)
\usepackage{times}
\usepackage{mathptmx}

%数学包
\usepackage{amsmath}

感兴趣的小伙伴可以根据需要,查阅学习站里一位大佬总结的宏包引用及常用宏包简介:宏包链接


4.信息申明

通过以下三行代码,我们可以实现对论文标题、作者、日期的申明。

\title{标题名称}
\author{作者}
\date{日期}
  • 标题名称:任意内容。(有其他编程语言的同学无需担心使用所谓“字符串”格式。直接输入即可,LaTeX十分友好,下同)
  • 作者:任意内容。
  • 日期:可以用“月份英文 年份”的格式表示,如:March 2022;也可以在{ }中输入\today表明日期为今天(暂时无需理解命令的含义)。

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第6张图片

 (可以看到"\today"生效,自动输出当前日期)



四、正文内容

1.分区

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第7张图片

正文部分即代码段 \begin{document} 到 \end{document} (蓝色框)的内容,默认代码已经给出架构,我们可以直接进行编辑。

我们可以看到正文部分的以下代码:

\maketitle

这段代码使我们在序言部分设置的标题、作者、日期得以显示,具有重要的作用。


2.LaTeX中的“ \”

LaTeX可以认为由普通文本命令组成,其中\是LaTeX命令的核心。LaTeX中,几乎所有命令都需要依赖于“ \”符。其格式为:

\命令名称{}

大到导包操作\usepackage,小到添加空格\quad,都需要使用到这个符号。但具体到每个命令,我们也无需格外留意,根据需要拷贝命令即可。

唯一需要注意的是斜线的方向


3.环境

LaTeX中有一个重要的概念“环境”,即\begin{ } 和 \end{ }两个命令包裹代码块,使文本内容具有特殊格式对内容进行标识。其格式如下:

\begin{类型}
......
\end{类型}

类型则根据个人需求决定,通常可分为三类:

  • 标识文本属类:如正文部分的类型为document;摘要部分的类型为abstract。
  • 标识特殊内容:如图片类型为figure;列表类型为itemize;表格类型为table、tabular;公式类型为equation。
  • 标识特殊格式:如居中格式为center;左对齐为flushleft;右对齐为flushrightt。

4.内容与注释

其实如果不讲究所谓格式与排版,我们可以在document环境中编辑任意内容,与正常的Word输入没有两样。凡是在document环境中的内容,都是论文的正文。

值得一提的是,我们通常会将不愿意呈现在最终文档里,但起到提示作用的内容进行注释,只需在文本前加上%即可,格式为:

%任意内容

以一段简单的文本输入为例。可以看到:没有加“%”进行注释的内容经过编译后得以呈现,但注释行则无法显示。

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第8张图片


5.空格、换行、强制换页

空格、换行、强制换页是文本操作中三个重要的操作。

①空格

对于空格,在LaTeX中无论多少个空格(space键)都会被认为是一个空格。因而当我们需要行内键入一段空白时,需要通过其他命令实现。

不同命令对应的空格
\qquad 更更大空格
\quad 更大空格
\+space键 大空格
\; 中空格
\, 小空格

感兴趣的可以参考另一位大佬给出的总结:Latex中的空格。

②换行

对于换行,在LaTeX中单个“Enter”键并没有真正的换行效果。我们在编辑区键入“Enter”,在编辑栏可以看到文本内容被分割,但实际上并没有空格效果。

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第9张图片

 (第13行与第14行在编辑栏用“Enter”进行分割,但编译栏并没有换行)

LaTeX中,正常的段间换行需要键入两个“Enter”键。也就是在编辑区的内容与内容之间加入空行。

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第10张图片

 除此以外,常见的换行方法有以下三种:

  1. \\命令 
  2. \newline命令
  3. \par命令

我个人比较推荐\\命令,简单且功能强大:

\\[字体大小]
  • 字体大小:可以输入不同的参数,实现不同宽度的空行,宽度与对应字体同高。如果不填,即为默认值,与两个“Enter”键效果相同。

举个栗子:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第11张图片【排版】用Overleaf速成LaTeX代码(从入门到开门)_第12张图片

注意:出现的“\noindent”命令用于取消缩进效果,我们会在下一节讲到。)

可以看到,我们插入的空行有着不同的宽度,看上去实现了段间的“空行”。但实际上,我们有更为简便的方法:

\setlength{\parskip}{1em}

在序言部分输入这行代码,段落间会自动产生与文档字体同高的空行。1em(element)即字体的单倍高度。举个栗子:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第13张图片 【排版】用Overleaf速成LaTeX代码(从入门到开门)_第14张图片

 因此,如果你习惯第二种论文段落格式,建议\setlength{\parskip}{1em}命令在序言部分买房。

 最后要强调的是:采用任意环境后,环境的上下两侧自动换行,无需格外操心。

③强制换页

对于摘要页等特殊内容页面,我们通常令其独立成页。这就需要用到\newpage命令:

\newpage

在任意内容后使用该命令,即可使得接下来的内容呈现在PDF的下一页,当前内容独立成页。


6.缩进与行高

①缩进

论文中的两种段落格式都与缩进有着紧密的关系。

LaTeX很有趣,它会默认部分命令后的文本需要缩进无需缩进。比如在以后要提到的\section命令,LaTeX默认其后的首段强制不缩进,后续段落缩进两格。因此,缩进的相关命令非常重要。

缩进的相关命令分为全局命令与局部命令,且局部命令优先级高于全局命令。

  • 全局命令:设置后,全局文字都将采用该缩进方式,用在序言部分。
  • 局部命令:设置后,该段文字将采用该缩进方式,用在正文部分(不)需要缩进的段首。
%全局命令:
\setlength{\parindent}{0em}           %段首不缩进
\setlength{\parindent}{2em}           %段首缩进两字符

%局部命令:
\noindent                             %取消缩进
\indent\setlength{\parindent}{2em}    %缩进两字符

举个栗子:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第15张图片【排版】用Overleaf速成LaTeX代码(从入门到开门)_第16张图片

可以看到,我们实现了全局缩进两字符,但第三段取消缩进的效果。

灵活使用缩进相关命令,可以帮助我们适应各种格式需求。

最后要提的一点是:面对\section命令带来的首段不缩进问题,可导入以下宏包解决:

\usepackage{indentfirst}

 

②行高

对于段落,我们还有一个重要的参数没有涉及,那就是行高。

通常情况下,我们无需另外设置行高,只需使用默认值即可。但面对特殊需求,我们可以在序言部分加入以下命令修改行高:

\renewcommand{\baselinestretch}{行距倍数}
  • 行距倍数:直接输入数字即可,如1.5即为1.5倍行距,和Word中的行距概念完全相同。

7.字体格式

我认为字体有五要素:字体、字号、加粗、倾斜、下划线。我们逐一进行讲解:

  • 字体:实际使用中我们更多是根据需求导入相关的字体包,以最为经典的Times New Roman字体为例,我们直接在序言区拷贝相关字体的LaTeX代码即可。
%设置字体为Times New Roman
\usepackage{times}

%主体中正文和数学公式都将以 Times 字体排版,其他仍以默认字体排版
\usepackage{mathptmx}
  • 字号:当我们在 \docunment{article} 选定基础字号后,就无需再关注全文的字体大小。(后续在章节部分也会讲到)
  • 加粗:LaTeX中的粗体文本使用 \textbf{...} 命令编写。
  • 斜体:LaTeX 中的斜体文本使用 \textit{...} 命令编写。\textit{...}
  • 下划线:LaTeX 中的下划线文本使用\underline{...}命令编写。
    %粗体
    \textbf{...} 
    
    %斜体
    \textit{...} 
    
    %下划线
    \underline{...}

这里举一个最为简单的例子:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第17张图片

可以看到,通过不同的命令,我们实现了文本的简单格式控制。

此外,还有众多的文本格式控制命令,包括但不限于:\emph{...}命令(根据上下文环境对文本格式化)等。感兴趣的小伙伴可以导入ulem宏包,了解相关的其他操作。


8.对齐方式

无论是文本还是图片,都要面对“对齐”的审判。

我们常见的对齐方式有两种,一种是添加环境,一种是段前添加对齐命令

添加环境的对齐方式更适合文本,其相关命令如下:

\begin{对齐方式}
......
\end{对齐方式}
  • 对齐方式:包括center、flushleft、flushleft三种。

举个栗子:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第18张图片【排版】用Overleaf速成LaTeX代码(从入门到开门)_第19张图片

 添加命令的对齐方式更适合图片、表格等,其相关命令如下:

\raggedright  环境flushleft的替代方法
\raggedleft   环境flushright的替代方法
\centering    环境center的替代方法

 举个栗子:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第20张图片【排版】用Overleaf速成LaTeX代码(从入门到开门)_第21张图片

 无论哪种对齐方式,习惯和达到效果才是关键。


9.我写到哪里了?

论文写作过程中,我们需要清楚地告诉编辑器现在写的内容属于论文的哪一部分。是摘要?还是第一章“背景”?还是 第三章“模型建立”……

  • 这时候就需要我们编写相关环境代码。

此外,章节经常会存在层次关系。比如,“第三章第一节”中,相比“第一节”,第三章应该是更高一级的概念,字号应该更大,且能够包含很多小节的内容。

  • 这时候就需要我们编写相关层级代码。

①正文

通过建立document环境可以告诉编辑器,现在是正文部分:

\begin{document}
......
\end{document}

②摘要

通过建立abstract环境可以告诉编辑器,现在是摘要部分:

\begin{abstract}
......
\end{abstract}

③章节

LaTeX通常将论文分为三个层级,通常是部分、子部分、子子部分。对应的命令为: \section{}、\subsection{}、\subsubsection{},括号内为该部分的名称。

LaTeX会自动根据层级关系为你适配内容的对应字号大小,父章节会比子章节字号大一些。总之,当我们通过命令申明内容对应的论文部分后,层级关系就会一目了然。

%部分
\section{章节名称} 

%子部分
\subsection{子章节名称} 

%子子部分
\subsubsection{子子章节名称}

对于子部分的嵌套,只需要在两个父级部分之间添加即可,系统会将子部分归于上一个父级

这里有一个简单的示例:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第22张图片

 可以看到,通过三种章节命令,可以基础地对论文进行层次排版

④其他

在LaTeX中也有很多其他的申明内容对应的论文部分的命令,包括但不限于申明:附录(Appendix)、参考文献(References)等,感兴趣的小伙伴可以学习了解。


10.图片

图片是论文中不可或缺的一部分。

首先,我们需要在操作栏创建新的文件夹(New Folder),并对其进行命名,以images为例。

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第23张图片

 可以看到我们已经创建了images文件夹。点击文件夹右端的图标,选择“Upload”上传图片即可。

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第24张图片

通过拖拽或选择将目标图片进行上传,成功后可以看到images文件夹中已经有了我们的图片:(我选择的是名为scenery的jpg格式的图片)

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第25张图片

通过导入graphicx宏包可以完成添加图片功能,通过设置图片路径可以使得系统定位到图片所在的位置。如果是images文件夹,则图片位置为\graphicspath{ {images/} },其余同理。

%导入与图片相关的宏包
\usepackage{graphicx}

%设置图片路径
\graphicspath{图片位置}

通过 \includegraphics{}命令,我们可以插入图片。以scenery.jpg为例。

\includegraphics[可选参数]{图片名称}

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第26张图片

可以看到,通过上述代码,我们确实成功插入了图片。但由于我们没有设置这个图片的大小、对齐方式等参数,这张图片并没有以理想的状态呈现出来,甚至出现了溢出(Overfull)。

接下来我们对图片的宽高进行调整,通过在可选参数列表中指定参数即可调整图片的宽、高。

\includegraphics[宽度,高度]{图片名称}

一般有两种方法:

  • 指定长度:[width=4cm,height=5cm]
  • 指定比例:[width=0.8\textwidth,height=0.5\textwidth]

通过指定长度,可以直接确定图片的精确长宽;而指定比例,则是根据页面整体的宽高确定图片在页面中的宽高占比。我比较推荐第二种。

可以看到,我们已经成功调整了图片的大小。

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第27张图片

接下来我们对图片的对齐方式进行调整,与文本的对齐方式调整完全相同。我们对图片添加对齐方式环境即可,以居中(center)效果为例:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第28张图片

 这样我们就基本完成了对图片参数的修改。

事实上,在LaTeX中,我们有专门的figure环境来控制图片,格式如下:

\begin{figure}
    \对齐方式
    \includegraphics[宽度,高度]{图片名称}
    \caption{图片标题}
    \label{fig:标签名称}
\end{figure}
  • 对齐方式:包括\raggedright、\raggedleft、 \centering。
  • 图片标题:通过figure环境添加的图片,可以通过添加caption附上图片标题。
  • 图片标签:通过figure环境添加的图片,可以通过添加label,方便后续内容对该图片的引用。后续可以通过\ref命令进行引用,可以自动获得图片索引。

举个栗子:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第29张图片

 可以看到我们成功添加图片、为其添加了标题,并成功在文本中引用该图片。


11.列表

列表分为两类:有序列表无序列表。有序列表在每个条目前会有递增的数字对内容进行排序,无序列表则在每个条目前用黑色圆点进行标识。

有序列表:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第30张图片

内容前会有1、2、3进行标识。 

无序列表:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第31张图片

内容前会有黑色圆点进行标识。  

对于有序列表,我们使用enumerate环境;对于无序列表,我们需要使用itemize环境。但无论哪种类型,每个条目前面必须有控件序列\item,作为条目标识符。

\begin{enumerate}
  \item A
  \item B
  \item C
\end{enumerate}

\begin{itemize}
  \item A
  \item B
  \item C
\end{itemize}

举个栗子:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第32张图片

可以看到通过使用不同的环境,我们成功创建了两类列表。


12.表格

由于表格的复杂性,表格应该大讲特讲。在LaTeX中创建表格并不如Excel一样边编辑边可视,主要用到了table环境tabular环境。

举个简单的栗子(只需看图,无需关注生成方法):

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第33张图片【排版】用Overleaf速成LaTeX代码(从入门到开门)_第34张图片

创建左边一个格式清晰,内容简单,长度友好的表格,便需要右边这么长的一段代码,这工作量着实让人头痛。如果创建表格全程都是手动敲入代码,很是麻烦。

如果可以在Excel中导出表格,直接把它用到LaTeX中就好了。

tableconvert网站就可以满足你的诉求!它可以实现csv文件到LaTeX代码的转换!

我们需要做的就是以下三步:

  1. 创建表格对应的csv文件
  2. 将csv文件复制到表格转换网站中生成表格对应的LaTeX代码。
  3. 复制代码到Overleaf中。 

首先是创建csv文件。对csv文件不熟悉的小伙伴可以把csv当成一种二维表格式,通常我们用Excel或者记事本就可以创建。

打开Excel,在Excel上输入你的目标表格:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第35张图片

 点击左上方的保存文件。在文件处千万要选择:csv文件,文件名无所谓。

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第36张图片

 打开tableconvert,找到你的文件并将其拖拽(上传)到对应的区域:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第37张图片

 滚动鼠标滑轮,找到网站转译出的LaTeX代码进行复制。

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第38张图片

 将其粘贴到你的Overlef编辑区中进行编译后,你会发现一个一模一样的美丽表格:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第39张图片

这时候你会发现你的表格的大小可能并没有那么理想,我们便需要通过\resizebox命令对表格大小进行调整,格式如下:

\resizebox{宽度}{高度}{
    \begin{tabular}{}
        ......
    \end{tabular}
}

宽度高度的参数设置与图片的参数设置相同,如图:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第40张图片

此外,表格也有表格标题表格标签

\caption{表格标题}
\label{table:表格标签}

根据需要,你也可以将其加入table环境中,方便个人使用。

注意:

对于图片和表格,系统会自动寻找合适的位置进行放置。因而经常会出现图片(表格)“到处乱蹿”的问题,一般通过修改其宽高参数即可矫正。

如果对图片等的位置有较严格的位置要求可以进一步深入学习。

最后的最后,也许有朋友会纳闷,折腾半天,为什么不能我自己做好Excel表截个图呢?我这边来一个不太正经的回答(猜测):

因为并不能保证图片状态下的表格与LaTeX代码呈现的文本是格式相符的,而且很有可能图会糊。


13.生成目录

摘要和目录是我们粗略了解一篇论文的关键。

如何为一篇论文添加目录,在LaTeX中是一件重要但容易的事。你只需要使用\tableofcontents这行命令即可。

%添加目录
\tableofcontents

LaTeX会根据你使用的\section、\subsection、\subsubsection帮助你自动生成目录:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第41张图片

这是一篇我曾经写过的论文模板,系统已经帮我生成了目录。 



五、数学公式

1.与数学相关的宏包

虽然但是,每次写论文在序言部分不分青红皂白地导入数学包,可以帮助你省很多事:

%数学包
\usepackage{amsmath}

问就是很香! 


2.公式模式

终于到了我们的重中之重——数学公式的模式。

请直接忽略本部分涉及到的公式的具体内容(上标、下标等)。

数学公式根据排版类型可以分为:内联模式显示模式两种。内联模式将数学公式与普通文本排版于同行;而显示模式则将数学公式单独成行,加以强调。

此处借用Learn LaTeX in 30 minutes中的示例进行表示:

内联模式

 对于内联模式,我们有许多方法可以表示,我推荐使用一对美元符号($ ... $ )包裹目标公式:

以上述内容为例,对应的LaTeX代码如下:

In physics, the mass-energy equivalence is stated 
by the equation $E=mc^2$, discovered in 1905 by Albert Einstein.

显示模式(分为两类):

  • 无编号公式(下述的E=mc²)
  • 有编号公式(下述的E=m)

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第42张图片

对于无编号的显示模式,我推荐使用 “ \[ ” “ \] ”包裹目标公式:

以上述内容为例,对应的LaTeX代码如下:

The mass-energy equivalence is described by the famous equation
\[ E=mc^2 \] discovered in 1905 by Albert Einstein. 

 对于有编号的显示模式,我推荐使用equation环境包裹目标公式,系统会自动帮你编号:

\begin{equation}
......
\end{equation}

以上述内容为例,对应的LaTeX代码如下:

In natural units ($c = 1$), the formula expresses the identity
\begin{equation}
E=m
\end{equation}

一般情况下,我们都会选择有编号的显示模式表示数学公式,也方便我们进行引用。


3.学着“写”公式

我们已经提到,你需要表达的所有数学公式,LaTeX都可以生成。编写和生成公式是最为关键的一环,但也正因为它关键,使得速成LaTeX变得困难。

所以我推荐一个好用的网站:latexlive.com。

它并不需要你有任何LaTeX排版数学公式的基础,你只需要把期望得到的公式图片(手写也可)粘贴到指定区域,系统会快速识别内容并帮你生成LaTeX代码。

首先,打开网站,点击右上角完成注册。(没有注册的用户无法进行图片识别功能。我PS掉了自己的信息)

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第43张图片

点击上图中的“图片识别”,任意选择自己的目标数学公式的图片:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第44张图片

 将其上传以后,系统会快速生成对应LaTeX代码,将其复制即可。

如果对其正确性存疑,可以返回“快捷工具”页面,系统会将刚刚生成的代码自动粘贴到输入区域,并在输出区域给出代码对应的编译结果,借此我们可以对结果进行检查:

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第45张图片

这样,我们就可以“零基础”直接拿到公式对应的代码了。

对于想要从头学习(拒绝偷懒)数学公式书写的小伙伴,建议跳转这里:Mathematical_expressionsicon-default.png?t=M276https://www.overleaf.com/learn/latex/Mathematical_expressions

对该页及最后的“进一步阅读”的其他内容 进行认真且深入的学习!

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第46张图片

 六、页面的小装饰

1.页眉和页码

顾名思义,页眉就是页面上端的内容;页码就是用来标注“这是哪一页”的数字。页眉和页码设置同样分为全局命令局部命令

对于全局命令,通常使用\pagestyle{}对页眉和页码共同设置:

\pagestyle{empty}        不显示页眉、页脚(默认值)
\pagestyle{plain}        不显示页眉、页脚在页面下端中部
\pagestyle{myheadings}   不显示页眉、页脚在页面上端中部
\pagestyle{headings}     页眉、页脚都在页面上端

通常情况下,我们使用默认值即可即可。

对于局部命令,通常使用\thispagestyle{}进行单独设置,修改有特殊要求的页面的显示。

\thispagestyle{empty}        不显示页眉、页脚(默认值)
\thispagestyle{plain}        不显示页眉、页脚在页面下端中部
\thispagestyle{myheadings}   不显示页眉、页脚在页面上端中部
\thispagestyle{headings}     页眉、页脚都在页面上端

通常情况下,论文的前几页为摘要、目录等内容,而非正文

但我们更习惯从正文开始对页码计数。因此,我们倾向于不显示前几页的页码,并将正文的第一页作为计数的首页。

对前几页,添加如下命令,设置不显示页码(但不是不计数):

\thispagestyle{empty}

对正文部分,添加如下命令,设置当前页为计数首页:

\setcounter{page}{1}

 以我曾经的某篇论文举个栗子(关注页码,忽略内容):

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第47张图片【排版】用Overleaf速成LaTeX代码(从入门到开门)_第48张图片【排版】用Overleaf速成LaTeX代码(从入门到开门)_第49张图片

在添加相关代码前,摘要页、目录页也计入页码计数中,正文首页页码为3,目录也从3开始。

 【排版】用Overleaf速成LaTeX代码(从入门到开门)_第50张图片【排版】用Overleaf速成LaTeX代码(从入门到开门)_第51张图片【排版】用Overleaf速成LaTeX代码(从入门到开门)_第52张图片

 在添加相关代码后,摘要页、目录页不再计入页码计数中,正文首页页码为1,目录也从1开始。


2.页码标识符

如果你厌倦了页码形式,你可以在序言部分添加以下命令进行更换:

\pagenumbering{roman}  小写罗马字母
\pagenumbering{Roman}  大写罗马字母
\pagenumbering{alph}   小写字母
\pagenumbering{Alph}   大写字母
\pagenumbering{arabic} 阿拉伯数字(默认)

3.脚注

脚注的添加方式有许多种。我最推荐的是以下命令:

普通文本\footnote{脚注文本}

这样的添加方式使得系统能够自行进行顺序标注。

【排版】用Overleaf速成LaTeX代码(从入门到开门)_第53张图片

 可以看到,我们已经为文本内容添加了脚注,系统为我们自动添加了顺序值。



七、总结

其实LaTeX的内容还有很多,但我们目前已经掌握了基本功能。 

对于LaTeX,我们始终应该明白,它只是一种提供更多可能的工具,并非必需品。

LaTeX有其优点,也有明显的缺点。

  • 当面对排版没有精确要求数学内容简单且篇幅较短的论文时,请直接打开你的Word。
  • 当面对限时的论文撰写工作时,修改LaTeX代码也不如直接修改Word文档来得直观方便。

言而总之,先权衡,再选择。

新技能提供新可能,而非新桎梏。

最后的最后,欢迎各位大佬指出问题!

你可能感兴趣的:(排版,LaTeX,学习)