LaTeX 有一些列自定义的书写规则组成,有特定的语法,比如Markdown,但语法和变量比前者多。
本篇文章,适合刚学习LaTex的小白同学,会对下列几个方面进行介绍:
- 基本使用方法
- 使用 (Xe)LaTeX 进行简单的中英混排
- 文章组织结构
- 用 (Xe)LaTeX 进行数学公式的排版
- 在 (Xe)LaTeX 的文档中插入图片/表格
- 进行简单的版面设置
- TeX 家族
- 其他
基本使用方法
准备工作
你可以点击这里,直接下载Latex2.9.7031 windows 版本
或者,在这里下载你需要的版本
然后一步步安装即可,没有什么需要特别注意的。
启动 TeXworks
启动 TeXworks 很简单,你可以在 Windows 启动对话框中输入 texworks 按回车。具体步骤是:
- 按下键盘上的 Windows 徽标键,同时按下 R 键 ——
<Win> + R
; - 键入
texworks
; - 回车
如果这样打不开 TeXworks,你可能需要从开始菜单找到 TeXworks 图标以启动;或者进入 TeX 系统的安装目录找到 TeXworks。启动界面如下图:
- 图中空白的部分,就是输入编辑文本的编辑框;
- 在编辑框的右下角,显示有三个按钮,最左边的是换行符模式,中间是编码模式,右边标示当前光标所在位置;
- 编辑框的上方是工具栏,工具栏的右半部分使大家熟悉的功能(新建、打开、保存、撤消、恢复、剪切、复制、黏贴、查找、替换)
- 工具栏的左边则是编译按钮 (TeXworks 也称其为「排版工具」);
- 工具栏在往上,则是菜单栏
排版工具
TeXworks 为我们预设了若干排版工具(pdfTeX, pdfLaTeX, XeTeX, XeLaTeX 等
),本文主要用到其中的 XeLaTeX。当你对 TeX 系统相当熟悉之后,也可以不使用 TeXworks 预设的工具,自己配置排版工具。TeXworks 默认的排版工具是 pdfLaTeX。如果你希望更改这个默认值,可以在编辑 - 首选项 - 排版 - 处理工具 - 默认
中修改。
开始
helloworld.tex
\documentclass{article} % 这里是导言区 \begin{document} Hello, world! \end{document}
将文档保存在你希望的位置,然后在排版工具的下拉选框中选中 XeLaTeX 后,按下绿色的编译按钮。一会儿,如果没有意外,屏幕的右边就会出现编译之后结果。如下图:
请注意
,在 Windows 平台上,TeX 涉及到的文件(包括 .tex, .jpg 等各类文件)都不要包含中文名字。否则,在编译时可能会因为编码问题导致稀奇古怪的报错。
- 解释1:
此处的第一行\documentclass{article}
中包含了一个控制序列(或称命令/标记)
。所谓控制序列,是以反斜杠 \ 开头,以第一个空格或非字母 的字符结束的一串文字
。它们不被输出,但是他们会影响输出文档的效果。
这里的控制序列是documentclass
,它后面紧跟着的{article}
代表这个控制序列有一个必要的参数,该参数的值为 article。这个控制序列的作用,是调用名为 article 的文档类。
请注意,TeX 对控制序列的大小写是敏感的。
部分控制序列还有被方括号 [] 包括的可选参数。
所谓文档类,即是 TeX 系统预设的(或是用户自定的)一些格式的集合。不同的文档类在输出效果上会有差别。
- 解释2:
此处的第二行以 % 开头。TeX以百分号 % 作为注释标记
。具体来说,TeX 会忽略从 % 开始到当前行末尾的所有内容
。这些内容不会被输出,也不影响最终排版效果,只供人类阅读。若要输出 % 字符本身,则需要在 % 之前加上反斜杠 \ 进行转义(escape)
。例如:20\%
,此处 % 被当做正常的百分号处理,其后的文字也将被正常输出。 - 解释3:
控制序列begin
。这个控制序列总是与 end 成对出现
。这两个控制序列以及他们中间的内容被称为「环境」
;它们之后的第一个必要参数总是一致的,被称为环境名
。
只有在 document 环境中的内容,才会被正常输出到文档中去或是作为控制序列对文档产生影响。也就是说,在 \end{document} 之后插入任何内容都是无效的。
- 解释4:
从 \documentclass{article}
开始到 \begin{document}
之前的部分被称为导言区
。你可以将导言区理解为是对整篇文档进行设置的区域
——在导言区出现的控制序列,往往会影响整篇文档的格式。
通常在导言区设置页面大小、页眉页脚样式、章节标题样式等等。
实现中英文混排
在 TeX 开发当初并没有考虑到亚洲文字的问题。因此早期的 TeX 系统并不能直接支持中文,必须要用其他工具先处理一下(或者是一些宏包之类的)。但是现在,XeTeX 原生支持 Unicode,并且可以方便地调用系统字体。可以说解决了困扰中国 TeX 使用者多年的大问题。至此,我们只需要使用几个简单的宏包,就能完成中文支持了。
宏包:一系列控制序列的合集(将控制序列打包放入一个文件中)。\usepackage{}
可以用来调用宏包
。
请注意,CTeX 宏集和 CTeX 套装是两个不同的东西。CTeX 宏集本质是 LaTeX 宏的集合,包含若干文档类(.cls
文件)和宏包(.sty 文件)。CTeX 套装是一个过时的 TeX 系统。
新版 CTeX 宏集的默认能够自动检测用户的操作系统,并为之配置合适的字库。对于 Windows 用户、Mac OS X 用户和 Linux 用户,都无需做任何配置,就能使用 CTeX 宏集来排版中文。
在 TeXworks 编辑框中输入以下内容,以 UTF-8 编码保存,使用 XeLaTeX 编译:
\documentclass[UTF8]{ctexart} \begin{document} 你好,world! \end{document}
第一次使用的时候,会让你安装一系列的控制序列,你只要点击install即可。如果没有意外,你将会看到类似下图的输出结果:
相较于之前的例子,这份代码只有细微的差异:
- 文档类
从 article 变为 ctexart;
- 增加了
文档类选项 UTF8
你也可以直接使用 xeCJK 宏包来支持中英文混排。不过大多数情况是
不推荐
这样做的。
组织你的文章
\documentclass[UTF8]{ctexart} \title{你好,world!} \author{Liam} \date{\today} \begin{document} \maketitle 你好,world! \end{document}
- 解释:
在 document 环境中,除了原本的你好,world!,还多了一个控制序列maketitle
。这个控制序列能将在导言区中定义的标题、作者、日期按照预定的格式展现出来。
章节和段落
\documentclass[UTF8]{ctexart} \title{你好,world!} \author{Liam} \date{\today} \begin{document} \maketitle \section{你好中国} 中国在East Asia. \subsection{Hello Beijing} 北京是capital of China. \subsubsection{Hello Dongcheng District} \paragraph{Tian'anmen Square} is in the center of Beijing \subparagraph{Chairman Mao} is in the center of 天安门广场。 \subsection{Hello 蓝天} \paragraph{蓝天白云} in 五月。 \end{document}
在文档类 article/ctexart 中,定义了五个控制序列来调整行文组织结构。他们分别是:
- \section{·}
- \subsection{·}
- \subsubsection{·}
- \paragraph{·}
- \subparagraph{·}
在report/ctexrep中,还有\chapter{·}
;在文档类book/ctexbook中,还定义了\part{·}
。
插入目录
在上一节的文档中,找到 \maketitle
,在它的下面插入控制序列 \tableofcontents
,保存并用 XeLaTeX 编译两次,观察效果: