一. 什么是Latex:
Latex(Lay-Tech)是一种高级排版工具,用于创作高质量的文章文档。我们现在常见的科研论文、书籍、文献等大多使用Latex来进行排版。
二. 下载安装Latex:
进入Latex官网,有多个版本可以选择
- Tex Live:包比较全,同时占据空间也比较大,下载时间较长
- MikTex:占据空间小,较轻量级;但是使用时遇到相关包需要在线下载
根据自身电脑情况选择下载安装即可。(建议安装在D盘)。我们这里使用TexLive,原因待会会明白
下载完成后可进入终端输入以下命令检查是否真的安装完成
tex --version
latex --version
检查pdf编译器是否安装成功:(将编写文档编译成pdf的工具)
pdflatex --version
如果安装成功应该返回相应的版本信息,没有安装成功则会出错误
三. Latex的使用入门
鉴于Latex是一种较复杂的排版工具,他可以帮助完成很多复杂精巧的排版工作。此篇文章只能介绍一些常用的编写手段和使用方法
1. 如何开始编写
打开下载的Latex版本带的编辑器TeXworks editor。
打开方式有两种
1.在终端输入TeXworks(不区分大小写)
2.点击屏幕左下角的开始,在其中找到TeXworks editor
当然也可以使用其他的编辑器进行编写;本文使用VS code+插件LaTeX Workshop
该插件强烈推荐搭配Tex live,因为它需要Perl,而MikTex不带有Perl,需要自己安装
下载插件LaTeX Workshop:打开VS code --》Extensions --》搜索LaTeX Workshop --》安装使用即可
新建一个latex文件: 文件名+.tex后缀,然后就可以编辑这个.tex文件了
2.如何进行编写
2.1 第一篇文档:
\documentclass{article}
%这里是导盲区
\begin{document}
hello,world
\end{document}
我们点击编辑文档界面右上角的的“View LaTeX PDF file”按键,即会在右边出现如图的预览效果。
我们可以看到出现了hello,world。
我们编写了五行字,但是只显示了一行字。是的,这种感觉是不是很像html或者markdown等等;
其他的几行,除了注释,都是控制语句。用于控制我们要如何显示目标内容
从第一篇文档中学习:
- latex所有命令都以反斜杠\开头
- latex中注释以 % 开头;注释的内容不会显示到最后生成的目标文档中,只是给源文档编写者看的
- 文件以\documentclass{~~}开头,其中~~可以是article,report,book,beanmer(幻灯片格式的文档)
不同的class在后面会有不同的排版选项,或者说documentclass确定排版方式的大框架,用户后面的编写是在选定大框架下的利用相应大框架下各个小框架的自由发挥
- 另外{}表示需要的参数
有些控制序列可能还需要使用可选参数,[]用于加入可选参数 - begin和end总是成对出现,在其之间的内容称之为环境。begin和end的第一个必要参数需要是一致的被称为是环境名
而在end后面的内容,就脱离了环境,不受环境控制。不会被显示出来
2.2 导言区
在documentclass和begin之间的内容称为导言区。这里的内容通常控制着整个文档的效果
比如,我们通常在导言区设置页面大小、页眉页脚样式、章节标题样式等等。
标题,作者,日期也常记录在导言区中;其中不可有后两者而没有title。这三个内容的格式也可以改变
\documentclass{article}
\title{a demo to study latex}
\author{doudou wang}
\date{\today}
%这里是导盲区
\begin{document}
\maketitle
hello,world
\end{document}
maketitle,用于显示这几个信息;没有该控制序列则不会显示。
让我们来看看效果:
还有一个非常重要的内容,就是至此我们的latex还不能支持排版中文。不信你在要显示的内容中加入中文试试
2.3 实现中英文混排
方法:调用特定宏包或者宏集
什么是宏包:宏包就是一系列常用的控制序列,开发人员认为每次将他们写到导言区过于麻烦,便将它们打包,成为宏包。可以在导言区调用宏包
宏集则更大,包含了一系列宏和其他配置
我们这里调用ctex宏集
一份中英文混排的文档:
\documentclass{ctexart}
\title{a demo to study latex}
\author{doudou 汪}
\date{\today}
%这里是导盲区
\begin{document}
\maketitle
你好,world
\end{document}
效果如下:
我们做的改动即是将{article}改为了{ctexart};同理如果是中英文混排的书则使用ctexbook;
2.4 组织文章结构
接下来我们学习如何组织章节段落等、并加入目录
\documentclass{ctexart}
\title{a demo to study latex}
\author{doudou 汪}
\date{\today}
%这里是导盲区
\begin{document}
\maketitle
\tableofcontents
你好,world…………………………
\section{你好南京}
南京是一个优美的城市…………………………………………
\subsection{六朝古都}
南京拥有深厚的历史底蕴……………………………………………………,自古以来都是…………
\subsubsection{永乐大帝迁都北京}
\paragraph{永乐新政}
朱棣在位期间………………
\subparagraph{建造紫荆城}
………………宣布迁都北京
\subsection{十朝都会}
\paragraph{巴拉巴拉} 啦啦啦啦啦啦………………
\end{document}
效果如下:
如上:
- 则通过section,subsection,subsubsection,paragraph,subparagraph来组织article的结构
对于book,还有结构part
对于report,还有结构chapter
大同小异,有待各位看官亲自探索了
- 使用\tableofcontents生成目录,注意,该控制语句必须在maketitle后面
2.5 换行
内容中的换行用两个换行来表示,源文档中的一个换行会翻译成空格
2.6 数学应用
2.6.1 公式
- 行内公式
使用$………………$添加, - 行间公式
使用\[…………\]添加
用begin{equation}
end{equation}更能添加编号的公式
2.6.2 上下标
上标使用^,下标使用_.默认只对后面的一个字符起作用,要将多个字符上下标,需要用花括号括起来.
2.6.3 根式
使用\sqrt(~)
2.6.4 分数\分式
使用\frac(~分子)(~分母)
效果如下:
以上是一些基本用法:此外latex还可以完成连加/连乘\极限\积分等大型机算符的排版,定界符\矩阵\公式组\分段函数等等的排版
2.6.5 求和标志:
\sum:求和符号不加下标
\sum_{i=1}:求和标志加上下标
效果如图:
2.6.6 属于
\in即可,以此类推:不属于符号即 \notin
a属于A,即 a \in A
2.6.7 字母上面加符号
参考链接相关博文
2.7 图片
可以宏包graphicx提供的功能.
\documentclass{article}
%导言区调用包
\usepackage{graphicx}
\begin{document}
使用该控制语句,参数是图片的路径
\includegraphics{a.jpg}
\end{document}
如果将图片与该.tex文件置于同一文件夹,则路径只需要填***.jpg\png…
插入图片时还有一些非常好用的参数帮助我们控制图片样式:
参数名 | 作用 |
---|---|
width=<width> | 将图片的宽度调整为<width> |
height=<height> | 将图片的宽度调整为<height> |
scale=<scale> | 将图片调整为原图片的<scale>比例 |
angle=<angle> | 将图片逆时针转动多少度 |
我们还可以通过使用其它的宏包,实现为图片添加边框等更加高级的功能
2.8 表格
语法
\begin{tabular}{c c c}
a & b & cte \\
\hline
c & d & rt \\
\end{tabular}
- 其中,第二个参数中有三个字符,表示有三列;c表示每个单元格中的字表示居中(也可以是l和r)
- 单元格之间用&连接,两行之间用\换行
- 可以在两个字符之间加入|,表示这两列之间加入竖直的分隔符.
- 加入水平分隔符则在两行之间加入\hline
- begin和end之间是表格中的内容.
效果参考上图
2.9 文本样式
2.9.1 加粗
\textbf{…}
bold front
2.9.2 加斜
\textif{…}
itelics front
2.9.3 下划线
\underline{…}
2.10 盒子
盒子是排版中的一个重要概念.可以帮助创作者实现更加漂亮规范的页面.
试想,如果你想让你的页面分为左上/左下/右上/右下四个part,并希望他们能够展示不同的内容:例如在左上角是文字,右上角是图片等
这种情况下,就需要盒子了.你可以将它认为是页面中的矩形,你只需要在页面这么大的矩形划分为四个矩形,并分别设置每一个矩形里的内容以及盒子之间的样式即可.
哦对了,每一个盒子,又可以分为多个盒子,相信你是理解的.
2.11 浮动体:
许多图片和表格等内容。这些内容的尺寸往往太大,导致分页困难。LATEX 为此引入了浮动体的机制,令大块的内容可以脱离上下文,放置在合适的位置
举个例子:
在使用word文档时,你是否有过这样的情况:
第n面的下面还有一定的空间,并且你认为这么大的空间足以容纳你的图片,但是神奇的是当你插入图片后,它没有利用上一页剩余的空间,而是出现在了新的一页.这就是触发了浮动体机制
figure(盒子)和table就符合浮动体机制
在latex中为浮动体提供了一些帮助决定排版位置的参数:
参数 | 浮动体显示位置 |
---|---|
h | 文档的当前位置 |
t | 顶部 |
b | 底部 |
p | 单独成页 |
! | 在决定位置时忽视限制 |
2.12 设置页眉
- 清空页眉效果:\pagestyle{plain}
以上均是一些基本的用法,更多的操作比如如何设置页眉页脚/行段间距/如何调整图片大小/为图片加上主题/加入列表/为表格加入标题/如何加入更丰富的数学应用等等.
各位看官可以参考一份不太简短的LATEX2ε 介绍各位可以将其作为一本参考资料,在对想达到的效果不知所措时,打开介绍进行查阅
值得一提的是这本参考书也是使用latex进行排版的,并且源代码公布在github上,可以搜索并看看这本书是如何达到排版效果的
如何得到目标文件
latex默认使用pdf编译器,即最后的目标文件默认编译为pdf格式.
点击Build Latex Project就会在同级文件夹生成一个pdf文件,文件名与.tex文件文件名相同.
如图,点击右上角的三角(Build Latex Project)即会在同级文件夹下产生一个.pdf文件(前提是可以源文档语法正确,可以编译成功)