LaTeX在科研论文写作方面的应用非常广泛,但很多人不得其门而入。一般来说,当投稿到某个顶刊时,会有该杂志提供的LaTeX写作模板,即便没有,退一步来看,科研人员所在的学校或研究所也会有相应模板。
不过这些模板由于已经很成熟,所以乍一看,就会觉得要理解的东西特别多。也就造成了很多人不愿意尝试,到不得已才不得不学着使用。
但就我个人感觉而言,LaTeX非常出彩,因而,今天我想写一篇简单的LaTeX入门指南,帮助大家从零开始了解。本文撰写时使用的是MacBook,所以使用的Mac版LaTeX,但在LaTeX的代码输入方面,其实区别不大,基本是共通的。
入门其实非常简单,但既然从零开始,那么就从头讲起比较好。本文操作一共分为四个步骤。分别是下载安装、编写第一个打招呼文档、提供作业示例,以及基于一篇小对话文档做的LaTeX步骤分析。
一、下载及安装
第一步是下载及安装软件。以下为Mac版安装示意图:
1前往LaTeX官网https://www.latex-project.org/get/,下载LaTeX。选择下图右侧的TeX Distributions
2选择Mac OS版本,点击进入。如果是其他系统可选择隔壁的软件进行下载,比如Linux系统、Windows系统。或者使用在线的Online版本。
3点击下图中间有横线的蓝字:MacTeX Download。
4点击下图下半部分中间蓝字MacTeX.pkg并下载。
该文件大小约4-9g,下载后,将文件MacTeX.pkg移至桌面,双击安装。遵循简单的安装指示,将其变成一个真正可用的Mac版App。
二、编写第一个LaTeX文档
在安装结束后,我们就可以进行第二步,真正开始编写代码了。也是时候用上这个世界上最经典的问候语之一了。
1输入以下代码:
\documentclass
\begin
Hello, world!
\end
2显示在编辑器里的内容如下:
3点击编辑器左上角的“排版”,则会出现保存界面:
4命名后则会得到一个PDF:
三、作业与进阶练习
第一个latex的文档就正式创立完毕后,可以进行第三步:做个作业,试着编辑另一段内容。
01输入下文的代码:
\documentclass
\begin
Second document. This is a simple example from Rella, with no
extra parameters or packages included.
\end
2编辑器中将显示:
3点击左上角“排版”,命名保存后将得到下图文档:
四、再进阶及代码详解
最后是本文的第四步,我将对这些简易编辑做一些讲解。
目前示例的两个输入文件,就只是纯文本文件,扩展名为.tex,包含生成PDF文件的代码。
代码的第一行\documentclass是声明文档的类型,在这种情况下为article。然后,详解为:
开头的反斜杠“\”,属于控制序列,一般人称“命令”。这一行的第一个字符可以是个空格也可以是个非字母字符,这串文字将不被输出,但会因这个字符而影响输出文档的最终效果。
用反斜杠“\”表示命令行参数是最常见的。这个反斜杠“\”的历史来自IBM。IBM 在最初加入 DOS 开发时贡献了大批工具,它们都是用斜杠“/”处理命令行参数的,为了表示区分,后来Windows就找了一个跟DOS 斜杠最接近的“\”,并被沿用到各种需要代码的地方。这个反斜杠可以用“W”的第一笔辅助记忆。
在这里插播一个程序员的经典笑话:
几个程序员去吃饭……
点了一份菜叫干锅牛蛙,
有人提出不吃牛蛙,
于是负责点菜的小哥在干锅牛蛙四个字前面加了两个斜杠:
//干锅牛蛙
没有人觉得有问题,继续说说笑笑。
结果服务员上了11份干锅牛蛙……
原因自然是出在双斜杠上了。欢迎评论区留言猜测及解释这个双斜杠的妙处。
反斜杠“\”之后的控制序列是,它后面紧跟着的代表这个控制序列有一个必要的参数,该参数由大括号值为. 这个控制序列的意思是调用名为 “article” 的文档类型。
\begin和\end之间可以编写文档文本。
详解的话,是在\begin之后,可以输入任何想要的内容。随后以\end结束。这其中的“\”一样是作为命令行的起手,随后的begin则为控制序列,跟随必要参数后则可以在参数后撰写想要的内容。
这个begin与end通常是成双成对地出现。这两个命令(两个控制序列)之间的内容被称为“环境”。由于他们是一起出现的,所以在begin与end之后,第一个必要参数是一模一样的,一般称为称为环境名。在本段中,就是begin与end的环境名。
只有在被大括号括起的document环境中的内容,才会在文档中正常显示。所以一般\begin之后,输入内容,再以\end结束。在\end之后插入的文本内容将作为无效代码,不会出现在PDF里。以下是无效代码示例:
在前文示例中,第二行代码我是空出来的,这个\documentclass与\begin之间区域被称为preamble,也叫导言区或者序言区。这个区域可以定义所写文档的类型和语言,也可以加载额外的程序包.
下面将举个普通文档作为preamble的示例:
\documentclass[12pt,letterpaper, twoside]
\usepackage[T1]
\usepackage[utf8]
\title
\author
\date{\today}
\begin
\maketitle
A: Hey //What means?
B: Hey.
A: Uh, //what means by asking you?
B: Just ask.
A: Didn't I ask?
B: Huh?
A: Look at the record again...
B: Finished reading.
A: ...So//What is it?
B: So what?
A: Are you kidding me deliberately?
B: No, what do you want to ask?
...
After the continuous cycle, A broke off with B and learning the procedure hard by himself.
Many years later, A finally achieved his dream of becoming a programmer. He recalls the conversation and then looking up the chat history. At this moment, he suddenly felt that B did not joke with him...
And he himself didn't know what question he asked B back then...
\end
接下来是每行的详细说明:
\documentclass[12pt, letterpaper]
跟前面提到的一样,\documentclass定义了文档的类型。方括号内的参数以逗号分隔,可以表示命令。在示例中,额外的参数设置设了字体大小(12pt),和纸张大小(letterpaper)。
\usepackage[T1]
这里是字体编码,T1字体编码是一种8位编码,并使用具有256个字形的字体。如果不使用\usepackage[T1]这个内容,可能会导致带有重音符号的单词不能自动连字,也无法从输出的DVI、PS或PDF中复制和粘贴这些文字,尤其是竖线符号、小于号和大于号之类的字符。
\usepackage[utf8]
这是文档编码,允许在文本中使用ASCII以外的字符(比如à,ü,č...)。这一行是可以省略或更改的,只是没必要。一般情况下都建议使用。
\title
\author
\date{\today}
题目、作者、日期这三行是自我描述用的,看大家需求决定是否使用。
\begin
这个想必大家都知道了,文档内容的开始。
\maketitle
字面意思,创建题目。
题目创建完进入正文,本次示例较为普通,只有单纯的换行。复杂的要等到下次了。
编写文档内容时,开始新段落可以按两次Enter键(以插入双空行)。值得注意的是,段落在第一行之前有一个空格。
要是想在不实际开始新段落的情况下开始新的一行,可以插入断点。这个断点可以通过\\(双反斜杠)或者\newline命令来完成。
\end
结束所有的文档内容。
后记
看到这里,想必大家都已经非常轻松地入门LaTeX了,之后我将逐步更新更多内容。
之后的计划是先讲怎么开始双栏文档编辑,以及插入Introduction、Maid body和Conclusion;再讲目录、配图以及表格制作;最后便是重头戏,讲讲插入公式,及一些用word做起来会比较艰难的部分,争取最后可以呈现一个投稿期刊时需要的正常格式。
领取专属 10元无门槛券
私享最新 技术干货