首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

LaTeX入门系列——创立第一个LaTeX文档

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做起来会比较艰难的部分,争取最后可以呈现一个投稿期刊时需要的正常格式。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210301A0FG9Z00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券