# LaTex on Linux配置指南 - TexLive

系统:Ubuntu 17.04
软件搭配:texLive2017 + VSCode

# 简述

导师要求我用英文写周报,而且强制要求用LaTex完成,于是乎就花了点时间配置了一下LaTex环境。目前有很多IDE形式的LaTex集成环境了,但是我喜欢用一个编辑器搞定所有事情,于是选用了TexLive + VSCode的配置,其他配置可以参考这个知乎答案 (opens new window)

2017-09-07 19-21-20

# 安装VSCode

VSCode是微软出的新一代编辑器,拥有很强大的插件市场支持,几乎可以胜任所有的开发工作。安装步骤如下:

  1. 官网 (opens new window)下载.deb安装包;
  2. 在命令行中,切换到安装包所在目录,执行dpkg -i 安装包名字.deb
  3. 安装安装包所需依赖,继续输入apt-get -f install

至此VSCode就安装完成了,打开VSCode,按下快捷键CTRL+SHIFT+X,搜索插件LaTex Workshop,安装并重启编辑器。

至此,编辑器就装好了。

# 安装TexLive

TexLive是一个tex发行版,其他的介绍就不啰嗦了,直接开始安装。

安装过程很简单,执行以下命令:

sudo apt-get install texlive-xetex texlive-latex-extra texlive-science

# 使用

打开VSCode,新建一个目录,然后在目录中新建一个.tex文件,即可使用tex进行写作了,如果要开启即时预览功能,需要先编译该tex文件,按下F1,输入命令build LaTex project并回车,你会发现目录下面生成了一堆乱七八糟的东西,不用管,再次按下F1,输入命令View PDF file in new tab,就可以开启即时预览了,每一次保存后,预览窗口就会自动刷新。

此外,为了支持中文,需要修改Latex Workshop的设置项,在VScode的设置文件中添加下面几行:

"latex-workshop.latex.recipes": [
    {
        "name": "xelatex",
        "tools": [
            "xelatex"
        ]
    },
    {
        "name": "bibtex->xelatex",
        "tools": [
            "xelatex",
            "bibtex",
            "xelatex",
            "xelatex"
        ]
    }
],
"latex-workshop.latex.tools": [
    {
        "name": "xelatex",
        "command": "xelatex",
        "args": [
            "%DOC%.tex"
        ]
    }, {
        "name": "bibtex",
        "command": "bibtex",
        "args": [
            "%DOCFILE%"
        ]
    }
]

这里笔者提供了两条编译命令流,一个是不需要引用的纯xelatex,一般用于课程设计报告的书写;另一个是包含了bibtex的命令流,一般用于会议论文的书写。

然后新建一个文件测试一下:

\documentclass[12pt]{article}
\usepackage{fontspec}
\setmainfont{宋体}
\title{镜中}
\author{张枣}
\date{}

\begin{document}
\begin{center}
    只要想起一生中后悔的事情\\
    梅花便落了下来\\
    比如看她游泳到河的另一岸\\
    比如登上一株松木梯子\\
    危险的事情固然美丽\\
    不如看她骑马归来\\
    面颊温暖,\\
    羞愧。低下头,回答着皇帝\\
    一面镜子永远等候她\\
    让她坐到镜中常坐的地方\\
    望着窗外,只要想起一生中后悔的事情\\
    梅花便落满了南山\\
\end{center}

\end{document}

_code_20171125165943

# 参考链接

  1. Linux下texLive的安装和配置 (opens new window)
  2. 使用xelatex生成中文pdf (opens new window)