以下内容假设读者已经成功安装上了LaTex发行版,笔者使用TexLive 2015配合自带的编辑器TeXworks。
本篇涉及:
- 一个标准LaTex文档的基本结构
- 如何让LaTex支持中文
- 如何制作标题页面
1. LaTex文档的基本结构
和常用的Word不同,LaTex的文档结构并不是所见即所得的。通常一个LaTex文档是以.tex为后缀的文本文档,其中包含了LaTex的控制代码和文字内容两部分。文字内容是我们需要展示的部分,而控制代码告诉LaTex对应的文字内容所使用的样式、级别或其他命令。通过编译,可以将.tex文件转换为.pdf文件,一个最基本的Hello World!文档如下:
\documentclass{article}
\begin{document}
Hello World!
\end{document}
如果将上述代码复制到Texworks中,按Ctrl+T编译之后,可以看到一个pdf文件,其中内容为:
与此同时,在页面的最底部自动加上了页码“1”。
从代码中可以看出,有的代码是以反斜杠“\”开始,没有在输出的文本中体现。其中以反斜杠“\”开始的语句就是控制代码,其最常用形式为\command{option},代表以参数option执行命令command。每个命令都有各自对应使用的参数,常用的命令我们将会在后面提到。在本例中,以第一句为例,\documentclass{article},告诉了LaTex编译器:创建的文档类型是一个文章,类似的参数还有report、book等,使用者可以根据自己的文档类型进行选择。
第二行与第一行稍有些不同,这句控制代码以\begin{document}开头,对应后面以\end{document}结尾的控制代码。常用的形式是\begin{environment}和\end{environment}。这样的语句总是成对出现的,用于定义一个语言环境,作用于被这两句包围住的中间部分,意思是包围住的这部分内容处于名为environment的环境内。在这个例子里面就是告诉LaTex:正式文档从这里开始了。还有其他可以使用的语言环境,以后会说到。通常语言环境可以嵌套,以下都是合法的格式:
\begin{document}
\begin{environment1}
\begin{environment2}
\end{environment2}
\end{environment1}
\end{document}
以下是不合法的格式,需要说明的是:document环境必须是最高层级环境):
%不合法方法1
\begin{document}
\begin{environment1}
\begin{environment2}
\end{environment1}
\end{environment2}
\end{document}
%不合法方法2
\begin{document}
\begin{environment1}
\end{document}
\end{environment1}
%不合法方法3
\begin{environment}
\begin{document}
\end{document}
\end{environment}
%不合法方法4
\begin{environment}
\begin{document}
\end{document}
\end{environment}
2. 让Hello World!支持中文
输出了英文的Hello World!之后,我们试着把代码中的“Hello World!”增加一句“你好,世界”。结果会发现要么编译器直接忽略了中文,要么直接报错不给任何输出。这是因为很多软件对中文的支持都很不友好,这时候,我们可以用一些宏包来实现对中文的支持,比如ctex,只需要在文件前端加一句\usepackage{ctex}即可。这句命令的意思是使用名为ctex的宏包,至于宏包是什么以后会在单独的一篇里说到,在这里只需要知道宏包可以让我们扩展某些需要的功能就可以了。新建.tex文件,输入:
\documentclass{article}
\usepackage{ctex}
\begin{document}
Hello World! 你好,世界!
\end{document}
可以看见编译输出:
如果输出任然有乱码,请注意.tex编码是否正确,在TeXworks里选择编辑-首选项-编辑器,里面的编码选项选择为System,并重启TeXworks即可。
3. 添加标题页
上面介绍了大概的LaTex文档结构,但一篇文档往往会包含更复杂的内容,例如:标题、图表、公式等,对应于不同的内容,我们有不同的处理方法(环境、宏包等)。这一章简要介绍如何给一篇文档增加标题页:在Hello World!文档基础上,我们增加几句命令:
\documentclass{article}
\usepackage{ctex}
\title{万年不变的Hello World!}
\date{20170425}
\author{搬运者}
\begin{document}
\maketitle
\newpage
Hello World!
\end{document}
上面的示例中在document环境外使用了\title、\data和\author语句,他们并不直接显示在文档的内容中。这三句的作用是为document环境里的\maketitle命令提供参数,使得编译器可以根据这些参数创建一个标题页面。\newpage则是结束本页,创建一个新的页面。
编译后就可以看到生成了一个带有页码的标准格式标题页面,但通常情况下我们并不希望第一页出现页码。于是利用\pagenumbering实现对页码的操作。修改后的代码如下:
\documentclass{article}
\usepackage{ctex}
\title{万年不变的Hello World!}
\date{20160429}
\author{科研狗}
\begin{document}
\pagenumbering{gobble}
\maketitle
\newpage
\pagenumbering{arabic}
Hello World!
\end{document}
\pagenumbering的常用参数有gobble、arabic和roman,分别代表无页码、阿拉伯数字页码和罗马数字页码。
在本篇中,你可以学到如何创建自己的第一篇LaTex文档,接下来的教程里将会涉及如何组织一篇完整的文档,并且最大化利用LaTex各项特性。
要点总结
- LaTex包含控制代码和文字内容两部分
- 一篇文档必须定义语言环境
- 命令以反斜杠\开始,环境必须有begin和end
- pagenumbering的参数
- gobble - 无页码
- arabic - 阿拉伯数字页码
- roman - 罗马数字页码