LaTeX 安装与配置

Tutorial: How to set up LaTeX on Windows

Posted by J Leaves on November 15, 2018 Last updated on October 8, 2019

储备知识

简介

LATEX(/ˈlɑːtɛx/,常被读作/ˈlɑːtɛk/或/ˈleɪtɛk/),文字形式写作LaTeX,是一种基于TEX的排版系统,由美国计算机科学家莱斯利·兰伯特在20世纪80年代初期开发,利用这种格式系统的处理,即使用户没有排版和程序设计的知识也可以充分发挥由TEX所提供的强大功能,不必一一亲自去设计或校对,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学、物理文档。这个系统同样适用于生成从简单的信件到完整书籍的所有其他种类的文档。(摘自维基百科

简单来说,可以理解为 LATEX 是一种类似于编程语言的排版语言,可以通过类代码的形式进行复杂的排版操作。更多信息,参见官方网站 LaTeX - A document preparation system

术语

LATEX 拥有 编辑编译 两个阶段。通俗来说,可以理解为第一个阶段是编写命令,第二个阶段即根据命令生成可见的文档。

软件

在此教程中,我们利用 VS CodeCTEX 套装 来实现 Windows 系统上的 LaTeX 编辑编译

VS Code 是 Microsoft 开发的跨平台文本编辑器,不仅免费,而且在类似产品中最为稳定。

CTEX 套装 是支持中文的 TEX 排版系统,基于 MiTeX 打包而成。

步骤

下载 VS Code

  1. 打开 Visual Studio Code 官网

  2. 点击 Download for Windows
  3. 运行下载的 exe 文件,一路点击 next,直到安装完成。

下载 CTEX 套装

  1. 打开 CTEX 下载中心
  2. 注意选择稳定版本,并选择下方一个站点下载链接。比如选择 清华 Tuna 镜像,并选择 CTeX_2.9.2.164.exe下载。
  3. 注意,CTEX 已知存在一个 bug,可能会在安装过程中覆盖环境变量。故在安装前先备份环境变量。

    • 桌面上找到此电脑/我的电脑-(右键)- 属性 -(左侧点击)- 高级系统设置 -(上方选项卡)- 高级 -(点击)- 环境变量,在系统变量中找到Path,点击编辑,右键选择编辑文本,将变量值部分全部复制保存起来。
  4. 运行下载的 exe 文件,安装 CTEX。

  5. 重复第三步中的步骤,在变量值空格的最前端加入刚复制下来的内容(注意不要覆盖掉CTEX已写入的部分)。

    附 Windows 10 系统变量 Path 的初始值:

1
2
3
4
%SystemRoot%\System32;
%SystemRoot%;
%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0;

配置 VS Code

  1. 打开 VS Code,点击左侧第5个按钮进入扩展中心,搜索并安装以下扩展:
    • Chinese (Simplified) Language Pack for Visual Studio Code : (可选)用于安装 VS Code 中文界面,安装完成后已是中文界面的可以忽略该扩展。
    • LaTeX : (必选)by James Yu, 以前名叫 LaTeX-Workshop,用于在 VS Code 中支持 LATEX 语言。
    • LaTeX language support : (可选)更好的代码高亮功能。
  2. 调整 LaTeX 插件的设置。按下 Ctrl+,,进入偏好设置,
    按照不同的VS Code版本,以下两种方式之一来打开配置文件,
    • 点击右上角三点 ···,打开 settings.json
    • 点击右上角“文件”图标“ - 打开设置(json)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
{
    "latex-workshop.latex.recipes": [
        {
            "name": "xelatex",
            "tools": [
                "xelatex"
            ]
        },
        {
            "name": "xelatex -> bibtex -> xelatex*2",
            "tools": [
                "xelatex",
                "bibtex",
                "xelatex",
                "xelatex"
            ]
        }
    ],
    "latex-workshop.latex.tools": [
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "%DOC%"
            ]
        },
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOC%"
            ]
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOC%"
            ]
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ]
        }
    ],
    "latex-workshop.latex.autoClean.run": "onBuilt",
    "latex-workshop.latex.clean.fileTypes": [
        "*.aux",
        "*.bbl",
        "*.blg",
        "*.idx",
        "*.ind",
        "*.lof",
        "*.lot",
        "*.out",
        "*.toc",
        "*.acn",
        "*.acr",
        "*.alg",
        "*.glg",
        "*.glo",
        "*.gls",
        "*.ist",
        "*.fls",
        "*.log",
        "*.fdb_latexmk",
        "*.gz"
    ],
    "latex-workshop.view.pdf.viewer": "tab"
}

注意:最新版本的 LaTeX 插件改变了 .json 配置文件中的定义方式。老版本中的 latex-workshop.latex.magic.argslatex-workshop.latex.toolchain 已不再有效,latex-workshop.latex.recipeslatex-workshop.latex.tools 取而代之。

有关编译参数的更多设置,见 LaTeX 插件的 官方支持界面

开始 LaTeX 之旅

随意打开一个 .tex 文件,VS Code 左侧出现 TeX 按钮,点击 Build LaTeX Project 以进行编译,点击 View LaTeX PDF 以查看编译后生成的 pdf 文件。(pdf 文件会生成在 .tex 文件的同一个目录下)

####

用 LaTeX 写作

LaTeX 文件的基本结构

1
2
3
4
5
\documentclass[options]{class}
% 这是前言
\begin{document}
    % 这是正文
\end{document}
文档类型说明

上例中第一行所示 \documentclass[options]{class}。此语句一般位于第一行,用于说明文档类型等信息。

options参数: 选项参数(options parameter)。些参数为可选参数,主要用于定义文档的主字体大小、文档排版、文档纸张等信息。可添加多个参数,参数之间使用逗号(,)隔开。如: \documentclass[12pt, a4paper]{article} 表示文档主字体大小为12pt,纸张为A4纸。

class参数: 文档类型。用以定义文档的类型,主要包括article,report,letter,book等类型。

前言(Preamble)部分

位于 \documentclass[options]{class}\begin {document} 之间,主要用于添加宏包(使用 \usepackage 语句)、预定义标题(title)、目录等信息。

正文部分

此部分被包含于 \begin {document}\end {document} 之间,为文档的主体内容。在其中,可以使用 \begin {...}\end {...} 语句的组合嵌套来组织文档内容。

注释

单行注释: 在LaTeX中,使用%进行单行注释,同一行中%后的内容会被忽略。

多行注释: 在LaTeX中多行注释有两种方式:

  • 使用 \begin {comment}\end {comment} 将所要注释的内容包含。但此方法需在前言区添加 verbatim 宏包,即 \usepackage{verbatim}
  • 使用 \iffalse\fi 将所要注释的内容包含。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
\documentclass{article}
    \usepackage{verbatim}
    \begin{document}
        displayed text.
        % comment 1
        % comment 2
        \begin{comment}
            comment 3
            comment 4
        \end{comment}
        \iffalse
            comment 5
            comment 6
        \fi
    \end{document}

最基础 LaTeX 模板

英文模板

已加载最常用的数学宏包

输入中文会报错

1
2
3
4
5
6
7
8
9
10
11
\documentclass{article}

\usepackage{amssymb,amsfonts,amsmath,amsthm}
\title{\LaTeX Practice}
\author{XXX}
\date{\today}

\begin{document}
\maketitle
Hello World
\end{document}
中文模板

已加载最常用的数学宏包

需要 ctex 包的支持,推荐使用 xelatex 编译(pdalatex 对中文等 UTF-8 编码支持不佳)

1
2
3
4
5
6
7
8
9
10
11
12
\documentclass[UTF8]{ctexart}

\usepackage{CJK}
\usepackage{amssymb,amsfonts,amsmath,amsthm}
\title{\LaTeX 练习}
\author{XXX}
\date{\today}

\begin{document}
\maketitle
你好
\end{document}