论文写作利器 LaTex 系列之推荐套装

2019 年 5 月 10 日 CVer

点击上方“CVer”,选择加"星标"或“置顶”

重磅干货,第一时间送达

作者:黄盼

https://zhuanlan.zhihu.com/p/64820362

本文已授权,未经允许,不得二次转载

前言

博主最开始采用的 LaTex 套装是 CTeX 中文套装,下面是官网的介绍:

CTeX 中文套装是基于 Windows 下的 MiKTeX 系统,集成了编辑器 WinEdt 和 PostScript 处理软件 Ghostscript 和 GSview 等主要工具。 CTeX 中文套装在 MiKTeX 的基础上增加了对中文的完整支持。 CTeX 中文套装支持 CCT 和 CJK 两种中文 TeX 处理方式。

博主问了身边使用 LaTex 写论文的小伙伴,很多人现在仍然或者曾经采用过这种方案进行写作。因为大多数刚开始接触 LaTex 的人都会阅读刘海洋写的《LaTex入门》这本书,这是一本非常经典且内容详细的入门书籍,非常适合初学者阅读和作为工具书随时翻阅,里面就推荐了 CTeX 套装。作者推荐 CTeX 套装的理由主要是它是由中科院维护,面向中文用户发布的套装,而且里面包含了写作需要的各种工具,全部打包在一起,这些特征非常吸引初学者和那些不想折腾的人。 虽然 CTeX 有那么多的优点,吸引了很多人去使用,但随着对 LaTex 的熟悉和对套装的深入了解后,CTeX 的缺点就显露出来了。很多网友在用了套装后就吐槽,就列举了套装很多的缺点和坑,比如:

  1. CTeX 封装的 MikTeX 在实现 XeTeX 以及字体库的时候有一些问题,前者导致运行 XeLaTeX 异常缓慢,后者导致使用一些数学字体的时候会报错。

  2. CTeX 封装的默认编辑器 WinEdt 是闭源软件,实际上是在使用盗版软件。

  3. CTeX 封装的默认编辑器 WinEdt 修改了默认编码为 GBK, 这将在后续使用过程中产生很多问题,对初学者来说是不良的。

  4. CTeX 封装的默认编辑器 WinEdt 集成了太多的功能,并且修改了很多 LaTeX 的默认行为,对于初学者来说,这些未经通告的默认行为修改对于其对 LaTeX 的理解是不良的。

  5. CTeX 套装的 2.9.2.164 版本至今已经超过一年未更新,aloft 老大似乎也没有更新的愿望,事实上也没有必要再更新了。

  6. CTeX 由于封装 MikTeX 而只能运行于 Windows 平台。

  7. CTeX 是因为 CJK 包的字体配置复杂,为了免去入门用户的配置成本而推出的。而现在因为 XeTeX 引擎以及 xeCJK 宏包的出现,CJK 包已经成为过去。并且使用 zhm 可以与 CJK 结合方便地动态配置字体。因此 CTeX 曾经的优势实际上已经不成为优势,并且因其引起的各种国内期刊模板的老旧问题正不断成为阻碍中国 TeX 社区进步的恼人因素。

总结起来就是老旧、易出错、盗版、过度封装和不支持跨平台。作为一个追求上进的好青年,在熟悉了 LaTex 的基本用法后当然得寻找新的套装了。 目前博主采用的是 VSCode + Latex Workshop + TeX Live + Git + Sumatra PDF 方案。

方案优势

此方案的优势如下:

软件安装和配置

依次安装如下软件并进行配置,其中

TeX Live(必装)

TeX Live 是由国际 TeX 用户组织 TUG 开发的 TeX 系统,支持不同的操作系统平台。这也是本方案的核心,配置所有的编译环境和各种宏包,还附带了一个编辑器(不是很好用)。

下载

由于 TeX Live 2019 常规安装需要一边下载一边安装,速度较慢,所以博主推荐直接下载 ISO 文件,可一次性获取完整的安装文件,可以使安装过程更为顺畅。放上清华大学的镜像,点击链接下载。

安装

  1. 下载的文件是 ISO 光盘镜像文件,用虚拟光驱挂载或者直接用解压工具打开即可。

  2. 在解压出来的主目录中找到 install-tl-advanced.bat 文件,右击并以管理员身份运行注意:文件夹路径里面不能有中文,不然打不开。


  1. 选择安装目录。注意:安装后将会占用5G左右的磁盘空间,建议将安装目录切换到D盘或者其他空间较大的盘中。

  2. 其他默认即可。

VSCode(必装)

VSCode 全称 Visual Studio Code,是微软出的一款轻量级代码编辑器,免费、开源而且功能强大。它支持几乎所有主流的程序语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Win、Mac 以及 Linux。 更多关于 VSCode 的介绍,请点击链接查看本站文章。

下载

下载链接

安装

查看本站安装教程

LaTex Workshop(必装)

LaTex Workshop 是 VSCode 的插件,这个插件为 VS Code 提供了 LaTeX 语言支持。

下载安装

在 VSCode 的扩展管理中,搜索 latex,第一个结果就是我们要安装的插件。


基本配置

在 VSCode 里面按住快捷键,CTRL+SHIFT+P,然后输入 set,用 ENTER 选择第一个。

然后将下面的代码复制粘贴到你的 setting.json 文件最外面移对花括号里。

"latex-workshop.latex.recipes": [{
"name": "xelatex",
"tools": [
"xelatex"
]
},
{
"name": "xelatex ->bibtex -> xelatex*2",
"tools": [
"xelatex",
"bibtex",
"xelatex",
"xelatex"
]
},
{
"name": "pdflatex",
"tools": [
"pdflatex"
]
}
],
"latex-workshop.latex.tools": [{
"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%"
]
}
],

现在就可以用 VSCode 编辑 LaTex 文档并编译出 PDF 文件了,按 CTRL+ALT+B 编译,然后按 CTRL+ALT+V 打开 PDF 文件。

还有一些小细节

为了使用过程更舒服,博主还建议修改两个参数:

"latex-workshop.latex.autoClean.run": "onBuilt",
"latex-workshop.latex.autoBuild.run": "never",
]

由于 LaTex 编译过程会产生一些辅助文件,放在那没什么用,看着也糟心,所以第一个参数是指定在PDF文件生成后自动清除辅助文件。第二个参数是指保存是否自动编译 LaTex 文件,因为 VSCode 有自动保存功能,所以每次自动保存都会编译 LaTex 文件,这样就会导致电脑每隔一段时间就会自动编译文档,没有必要。

Sumatra PDF(推荐)

Sumatra Pdf 是一款轻量级的 PDF 阅读器,类型为开放软件,并且有安装版和便携版两个版本。 VSCode 内置的 PDF 查看器功能比较简单,而且不太方便,而 Adobe Reader 则相对体积大,打开速度慢。Sumatra PDF 小巧强大,启动速度快,作为本方案的 PDF 阅读器最合适不过,而且还可以和源码之间实现定位跳转,弥补 LaTex “所见非所得”的劣势。

下载安装

  • 安装版32位下载链接安装版64位下载链接

  • 便携版32位下载链接便携版64位下载链接

基本配置

要使用 Sumatra PDF 预览编译好的PDF文件,将下列代码复制粘贴至 setting.json 配置文件内。

"latex-workshop.view.pdf.viewer": "external",
"latex-workshop.view.pdf.external.command": {
"command": "C:/Programs/SumatraPDF/SumatraPDF.exe", //SumatraPDF.exe的实际路径
"args": [
"%PDF%"
]
},

配置正向搜索(LaTex->PDF)

"latex-workshop.view.pdf.external.synctex": {
"command": "C:/Programs/SumatraPDF/SumatraPDF.exe", //SumatraPDF.exe的实际路径
"args": [
"-forward-search",
"%TEX%",
"%LINE%",
"%PDF%"
]
},

右键文件空白处,单击 SyncTeX from cursor 或者 CTRl+-> 即可正向搜索。

配置反向搜索(PDF->LaTex)

打开 Sumatra PDF,进入设置->选项对话框,在“设置反向搜索命令行”处填入如下内容:

"C:\Program Files\Microsoft VS Code\Code.exe"  -g "%f:%l" %Code.exe的实际路径%

双击 PDF 中的任意一处即可跳转到 VSCode 中所对应的内容的源代码处。注意:由于从 VSCode 调用 Sumatra PDF 时是作为子进程的,为避免反向搜索失败,最好是先独立的运行SumatraPDF.exe后再进行正反向搜索。

Git(推荐)

Git 是用于 Linux 内核开发的版本控制工具。经常写论文的人都知道,一篇论文需要修改很多遍才能满意,这个过程中就有许多论文版本,比如初稿,终稿,最终版,打死也不改最终版等等版本,版本一多,就需要管理了,不然太乱了。有的时候可能觉得最终版就是最后要交的版本了,可老师突然说上一个版本更好一点,可上一个版本你都删了,或者你也不知道上一个版本是哪一个了,这就很尴尬了。所以写论文时,一个好的版本控制工具就尤为重要了。

下载安装

官网下载链接

基本教程

博主准备后面再写一篇关于 Git 的文章,先放上我的入门教程,廖雪峰老师的文章,点击查看

VSCode 插件

VSCode 自带了终端,所以可以直接在终端里用命令进行 Git 操作。不过刚开始可能不习惯,需要一些图形按钮进行辅助,而且这些插件还加强了 Git 的操作,还是很有必要安装的。

  • GitLens

  • Git History

其他配置

latex-formatter

这是一款 VSCode 的 LaTex 代码格式化插件,虽然 LaTex 最终显示效果和源码的排版没关系,但排版美观的 LaTex 源码可以让人更加沉浸在写作中,并且清晰的排版可以让初学者更容易找到源码中的错误。它的效果如下:

\chapter{balabalabala}
\section{balabalabala}
\subsection{balabalabala}
\par balabalabala
\subsection{balabalabala}
\par balabalabala
\section{balabalabala}
\subsection{balabalabala}
\par balabalabala

上面的缩进使我们一眼就可以看出他们之间的等级关系。

LaTex 辅助软件

挖一个坑,下篇文章再讲。

验证配置是否成功

新建一个文件夹(文件夹名字和文件夹的路径里面不能有中文),在文件夹里面新建一个 test.tex 文件。依次,文件夹上右键 -> open with Code,将下列代码复制粘贴进 test.tex 中。

%!Tex Program = xelatex
\documentclass{article}
\usepackage{zhfontcfg}
\begin{document}
\title{My \LaTeX{}}
\author{黄盼}
\maketitle
%\today
\par{配置成功。}
\end{document}

先单独启动 Sumatra PDF 阅读器,再按 CTRL+ALT+B,编译完后,再按 CRTL+ALT+V,调用 Sumatra PDF 阅读器查看编译好的 PDF 文件。在 PDF 适当位置双击,即可跳转至 VSCode 中的 LaTex 源码,在源码处,右键,单击 SyncTeX from cursor 即可查看对应 PDF 所对应位置。

总结

虽然上面的方案比本文开头讲的 CTeX 中文套装安装配置麻烦一点,但是,一旦配置好了之后,你就会知道为什么这么多人选择这个方案写 LaTex 了。

更多效率软件查看我的个人网站,huangpan.net


CVer学术交流群


扫码添加CVer助手,可申请加入CVer-目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、人群密度估计、姿态估计、强化学习和竞赛交流等群。一定要备注:研究方向+地点+学校/公司+昵称(如目标检测+上海+上交+卡卡),不根据格式申请,一律不通过。

▲长按加群


这么硬的论文分享,麻烦给我一个在在看


▲长按关注我们

麻烦给我一个在看

登录查看更多
2

相关内容

【2020新书】社交媒体挖掘,212pdf,Mining Social Media
专知会员服务
60+阅读 · 2020年7月30日
【2020新书】现代C++初学者指南,301页pdf
专知会员服务
159+阅读 · 2020年7月24日
【干货书】Python语音计算导论,408页pdf
专知会员服务
101+阅读 · 2020年7月12日
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
Python导论,476页pdf,现代Python计算
专知会员服务
259+阅读 · 2020年5月17日
【高能所】如何做好⼀份学术报告& 简单介绍LaTeX 的使用
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
179+阅读 · 2020年1月1日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
已删除
德先生
53+阅读 · 2019年4月28日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
刚开始学编程?这几款小工具能让你事半功倍
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
快乐的迁移到 Python3
Python程序员
5+阅读 · 2018年3月25日
用Python制作3D动画
Python程序员
30+阅读 · 2018年1月17日
码农日常工具推荐
架构文摘
4+阅读 · 2017年9月26日
Factor Graph Attention
Arxiv
6+阅读 · 2019年4月11日
Arxiv
7+阅读 · 2018年12月10日
Arxiv
31+阅读 · 2018年11月13日
Feature Selection Library (MATLAB Toolbox)
Arxiv
7+阅读 · 2018年8月6日
VIP会员
相关VIP内容
【2020新书】社交媒体挖掘,212pdf,Mining Social Media
专知会员服务
60+阅读 · 2020年7月30日
【2020新书】现代C++初学者指南,301页pdf
专知会员服务
159+阅读 · 2020年7月24日
【干货书】Python语音计算导论,408页pdf
专知会员服务
101+阅读 · 2020年7月12日
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
Python导论,476页pdf,现代Python计算
专知会员服务
259+阅读 · 2020年5月17日
【高能所】如何做好⼀份学术报告& 简单介绍LaTeX 的使用
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
179+阅读 · 2020年1月1日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
相关资讯
已删除
德先生
53+阅读 · 2019年4月28日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
刚开始学编程?这几款小工具能让你事半功倍
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
快乐的迁移到 Python3
Python程序员
5+阅读 · 2018年3月25日
用Python制作3D动画
Python程序员
30+阅读 · 2018年1月17日
码农日常工具推荐
架构文摘
4+阅读 · 2017年9月26日
Top
微信扫码咨询专知VIP会员