一、前言
最近参加美赛需要写论文,听说了所谓的“论文排版神器”—— LaTeX(正确读音:[ˈlɑːtɛx; ˈleitɛx],音译:拉泰赫或雷泰赫),遂决定试试。然而 LaTeX 只是一个排版格式,还需要选择软件,深入研究发现可供选择的软件有很多,经过比对,最终选择了 TeX Live + VS Code + LaTeX Workshop + Sumatra PDF + Git 的方案。
二、软件安装和配置
依次安装如下软件并进行配置,其中步骤2.1~2.3是必须的,步骤2.4可以视情况选择安装。
本文中提到的所有文件均已上传至网盘,若官网下载缓慢,可在网盘里下载。另外,博主在 VMware 16 虚拟机中已经配置好 LaTeX 相关环境(基于 TeX Live 2020)并将虚拟机磁盘文件打包压缩后上传至网盘,有基础的朋友可以下载后直接使用,免去以下安装步骤。
2.1 TeX Live
TeX Live 是由国际 TeX 用户组织 TUG 开发的 TeX 系统,支持不同的操作系统平台,这也是本方案的核心,配置所有的编译环境和各种宏包,还附带了一个编辑器,不过不是很好用,所以编辑器选择 VS Code + LaTeX Workshop 的方案。
2.1.1 下载
TeX Live 的最新版本是 TeX Live 2020。
由于 TeX Live 常规安装需要一边下载一边安装,速度较慢,所以推荐直接下载 ISO 文件,可一次性获取完整的安装文件,使安装过程更为顺畅。
镜像站下载链接:http://mirror.ctan.org/systems/texlive/Images/
此链接会自动跳转到距离你最近的镜像服务器,若下载缓慢,可以通过以下的开源软件镜像站下载。
清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/
上海交大开源软件镜像站:https://mirrors.sjtug.sjtu.edu.cn/ctan/systems/texlive/Images/
中科大开源软件镜像站:http://mirrors.ustc.edu.cn/CTAN/systems/texlive/Images/
三个 ISO 文件选择其一下载即可,如图所示:
2.1.2 安装
1.将下载得到的 ISO 光盘镜像文件直接解压。
2.在解压出来的主目录中找到install-tl-windows.bat
文件,以管理员身份运行。
3.取消勾选安装 TeXworks 前端
,其它均为默认配置,安装即可。
2.2 VS Code
VS Code 全称 Visual Studio Code,是由微软推出的一款轻量级代码编辑器,免费、开源而且功能强大。它支持几乎所有主流的程序语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、Git 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化,且软件跨平台支持 Win、Mac 以及 Linux。
官网链接:https://code.visualstudio.com/,下载完成后按默认配置安装即可。
2.2.1 Chinese (Simplified) Language Pack 插件
在 VS Code 的扩展管理中,搜索Chinese
即可找到Chinese (Simplified) Language Pack
插件,下载并安装此插件。此插件为 VS Code 提供简体中文语言支持。
2.2.2 LaTeX Workshop 插件
LaTeX Workshop 是 VS Code 的插件,这个插件为 VS Code 提供了 LaTeX 语言支持。
2.2.2.1 插件安装
在 VSCode 的扩展管理中,搜索LaTeX Workshop
,安装即可。
2.2.2.2 基本配置
1.在 VS Code 里面按下快捷键Ctrl+Shift+P
,输入set
,选择打开设置(json)
或打开用户设置(JSON)
,如图所示,打开settings.json
。
2.一般情况下settings.json
文件中只有{}
。
删除原有的{}
,添加下面的代码,或者点击此处下载压缩包,用解压后得到的settings.json
覆盖C:\Users\[用户名]\AppData\Roaming\Code\User
下的同名文件。
settings.json
中可能会有其它内容,这种情况下请勿改变原有代码,只需要将下面的代码去除首尾的{}
后添加至原有代码的下面即可。
settings.json
中相关文件的路径(尤其是用户名部分)!请仔细阅读注释!
{
// ======================== LaTeX 设置 BEGIN ========================
// 参数的详细配置见:https://github.com/James-Yu/LaTeX-Workshop/wiki/Compile
// BibTeX 格式
"latex-workshop.bibtex-format.tab": "tab",
// 自动编译,全部关闭,当且仅当你认为有需要的时候才会去做编译
"latex-workshop.latex.autoBuild.run": "never",
"latex-workshop.latex.autoBuild.cleanAndRetry.enabled": false,
// 设置 LaTeX-Workshop 的 PDF 预览程序,external 指的是外部程序
// 注意核实 SumatraPDF.exe 的路径
"latex-workshop.view.pdf.viewer": "external",
"latex-workshop.view.pdf.ref.viewer": "external",
"latex-workshop.view.pdf.external.viewer.command": "C:/Users/[用户名]/AppData/Local/SumatraPDF/SumatraPDF.exe",
"latex-workshop.view.pdf.external.viewer.args": [
"%PDF%"
],
// 配置正向、反向搜索:.tex -> .pdf
// 注意核实 SumatraPDF.exe 的路径
"latex-workshop.view.pdf.external.synctex.command": "C:/Users/[用户名]/AppData/Local/SumatraPDF/SumatraPDF.exe",
"latex-workshop.view.pdf.external.synctex.args": [
// 正向搜索
"-forward-search",
"%TEX%",
"%LINE%",
"-reuse-instance",
// 反向搜索
// 注意核实 Code.exe 以及 cli.js 的路径
"-inverse-search",
"\"C:/Users/[用户名]/AppData/Local/Programs/Microsoft VS Code/Code.exe\" \"C:/Users/[用户名]/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli.js\" --ms-enable-electron-run-as-node -r -g %f:%l",
"%PDF%"
],
// 这是一些独立的编译选项,可以作为工具被编译方案调用
"latex-workshop.latex.tools": [
{
// Windows 系统的 XeLaTeX 编译
"name": "Windows XeLaTeX",
"command": "xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"%DOCFILE%"
]
},
{
// Windows 系统的 BibTeX 编译
"name": "Windows BibTeX",
"command": "bibtex",
"args": [
"%DOCFILE%"
]
},
{
// 适用于 Linux 的 Windows 子系统(即 WSL)的 XeLaTeX 编译
// 若使用 WSL 系统,注意核实 xelatex 的路径
"name": "WSL XeLaTeX",
"command": "wsl",
"args": [
"/usr/local/texlive/2020/bin/x86_64-linux/xelatex",
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
//"-output-directory=%OUTDIR%",
//"-aux-directory=%OUTDIR%",
"%DOCFILE%"
]
},
{
// 适用于 Linux 的 Windows 子系统(即 WSL)的 BibTeX 编译
// 若使用 WSL 系统,注意核实 bibtex 的路径
"name": "WSL BibTeX",
"command": "wsl",
"args": [
"/usr/local/texlive/2020/bin/x86_64-linux/bibtex",
"%DOCFILE%"
]
},
{
// macOS 或者 Linux 系统的 XeLaTeX 编译
// 两种操作系统的操作方式相同
"name": "macOS / Linux XeLaTeX",
"command": "xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"%DOCFILE%"
]
},
{
// macOS 或者 Linux 系统的 BibTeX 编译
// 两种操作系统的操作方式相同
"name": "macOS / Linux BibTeX",
"command": "bibtex",
"args": [
"%DOCFILE%"
]
}
],
// 这是一些编译方案,会出现在 GUI 菜单里
"latex-workshop.latex.recipes": [
{
// 1.1 Windows 系统编译无交叉引用的文档
//一般指简单的小文档
//这个选项不太常用,因为绝大多数文章都需要有类似于“如图 x-x 所示”的交叉引用或者参考文献索引
"name": "1.1 Windows 系统 XeLaTeX 简单编译",
"tools": [
"Windows XeLaTeX"
]
},
{
// 1.2 Windows 系统编译带有带有交叉引用的文档,最多需要进行四次编译
"name": "1.2 Windows 系统 Xe->Bib->Xe->Xe 复杂编译",
"tools": [
"Windows XeLaTeX",
"Windows BibTeX",
"Windows XeLaTeX",
"Windows XeLaTeX"
]
},
{
// 2.1 WSL 系统编译无交叉引用的文档
"name": "2.1 WSL 系统 XeLaTeX 简单编译",
"tools": [
"WSL XeLaTeX"
]
},
{
// 2.2 WSL 系统编译带有带有交叉引用的文档,最多需要进行四次编译
"name": "2.2 WSL 系统 Xe->Bib->Xe->Xe 复杂编译",
"tools": [
"WSL XeLaTeX",
"WSL BibTeX",
"WSL XeLaTeX",
"WSL XeLaTeX"
]
},
{
// 3.1 macOS / Linux 平台编译无交叉引用的文档
"name": "3.1 macOS / Linux 系统 XeLaTeX 简单编译",
"tools": [
"macOS / Linux XeLaTeX"
]
},
{
// 3.2 macOS / Linux 平台编译带有带有交叉引用的文档,最多需要进行四次编译
"name": "3.2 macOS / Linux 系统 Xe->Bib->Xe->Xe 复杂编译",
"tools": [
"macOS / Linux XeLaTeX",
"macOS / Linux BibTeX",
"macOS / Linux XeLaTeX",
"macOS / Linux XeLaTeX"
]
}
],
// 清空中间文件
"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",
"*.bcf",
"*.run.xml"
],
"[latex]": {
"editor.defaultFormatter": "James-Yu.latex-workshop"
}
// ======================== LaTeX 设置 END ========================
}
不出意外的话,你就应该安装、配置成功了。
以后直接在 LaTeX Workshop 面板里单击即可编译。
2.2.3 LaTeX Utilities 插件
插件功能:
- Formatted Pastes
- Unicode characters 🡒 LaTeX characters (e.g.
“is this… a test”
🡒 ``is this\ldots a test''
) - Paste table cells (from spreadsheet programs or similar) 🡒 tabular
- Paste images, customisable template
- Paste location of CSVs/images to have them included
- Unicode characters 🡒 LaTeX characters (e.g.
- Live Snippets (auto-activating, with regex) see here for documentation
- Count Words in a LaTeX Document
- TikZ Preview
- Zotero citation management
在 VSCode 的扩展管理中,搜索LaTeX Utilities
,安装即可。
2.3 Sumatra PDF
VSCode 内置的 PDF 查看器功能比较简单,而且不太方便,而 Adobe Reader 则相对体积大,打开速度慢。Sumatra PDF 小巧强大,启动速度快,作为本方案的 PDF 阅读器最合适不过,而且还可以和源码之间实现定位跳转,弥补 LaTeX「所见非所得」的劣势。
Sumatra PDF 是一款轻量级的 PDF 阅读器,有安装版和便携版两个版本。
2.3.1 下载安装
下载链接为:https://www.sumatrapdfreader.org/download-free-pdf-viewer.html
2.3.2 配置正向搜索(LaTeX -> PDF)
已在2.2.2中配置完成。使用时将光标定位至文本后按下 Ctrl+Alt+J
即可正向搜索。
2.3.3 配置反向搜索(PDF -> LaTeX)
打开 Sumatra PDF,进入设置 -> 选项对话框,在「设置反向搜索命令行」处填入如下内容:
"C:\Users\[用户名]\AppData\Local\Programs\Microsoft VS Code\code.exe" "C:\Users\[用户名]\AppData\Local\Programs\Microsoft VS Code\resources\app\out\cli.js" --ms-enable-electron-run-as-node -r -g "%f:%l"
配置完成后,双击 PDF 中的任意一处即可跳转到 VSCode 中所对应的内容的源代码处。
EnableTeXEnhancements
的参数改为True
2.4 Git
Git 是用于 Linux 内核开发的版本控制工具。经常写论文的人都知道,一篇论文需要修改很多遍才能满意,这个过程中就有许多论文版本,比如初稿,终稿,最终版,打死也不改最终版等等版本,版本一多,就需要管理了,不然太乱了。有的时候可能觉得最终版就是最后要交的版本了,可老师突然说上一个版本更好一点,可上一个版本你都删了,或者你也不知道上一个版本是哪一个了,这就很尴尬了。所以写论文时,一个好的版本控制工具就尤为重要了。
2.4.1 下载安装
官网链接:https://www.git-scm.com/download/win,下载完成后按默认配置安装即可。
2.4.2 基本教程
Git的教程很多,质量参差不齐,最适合新手入门的当属下面两份教程:
廖雪峰前辈的《Git教程》:
https://www.liaoxuefeng.com/wiki/896043488029600
黄盼前辈的《Git 学习笔记》:
http://www.huangpan.net/posts/ji-ke/2019-05-12-git-study-notes.html
2.4.3 VS Code 插件
VS Code 自带了终端,所以可以直接在终端里用命令进行 Git 操作。不过刚开始可能不习惯,需要一些图形按钮进行辅助,而且这些插件还加强了 Git 的操作,还是很有必要安装的。
- GitLens
- Git History
三、验证配置是否成功
点击此处下载压缩包,解压后打开gougu.tex
,由于附带有后缀为.bib
的参考文献,所以应使用1.2 Windows 平台 Xe->Bib->Xe->Xe 复杂编译
进行编译(请了解 LaTeX 编译过程),编译成功即表明配置成功。
四、一些好用的 LaTeX 辅助工具
- img2latex-mathpix:调用 MathpixOCR API,你可以每月免费进行 1000 次的公式图片 OCR 识别
- LaTeX 公式编辑器:由 B 站 UP 主妈咪说MommyTalk提供的在线 LaTeX 公式编辑器,包含公式图片 OCR 识别的功能
- Excel2LaTeX:将 Excel 表格转为 LaTeX 代码。安装教程可参考:http://www.huangpan.net/posts/ji-ke/2019-05-08-latex-auxiliary-tools.html
- Tables Generator:在线绘制表格并生成 LaTeX 代码。
五、总结
至此,你就完成 TeX Live + VS Code + LaTeX Workshop + Sumatra PDF + Git 的安装啦,现在你可以试试用 VS Code 编辑 LaTeX 文档并编译出 PDF 文件,再告诉你一些小技巧快捷键吧嘿嘿嘿,祝你写得开心(emmm写论文真的很痛苦…加油!)。
Ctrl+Alt+V
-> 打开 PDF 文件
Ctrl+Alt+J
-> 正向搜索(即 LaTeX -> PDF)
在 PDF 文件中双击 -> 反向搜索(即 PDF -> LaTeX)
P.S. 安装好 LaTeX 后,来看一下入门教程吧~
P.P.S. 推荐一个简单易用的上海交通大学论文模板,包括学士、硕士、博士学位论文以及普通课程论文,链接:https://github.com/sjtug/SJTUThesis。
P.P.P.S. 平时写课设报告或者小论文等不必大费周折地使用“上海交通大学论文模板”,使用下面这个模板就足够啦~
5 条评论
看的我热血沸腾啊
OωO厉害啊,这个网站是用html+php+js搭的吗
嘿嘿,是基于 Typecho — a PHP Blogging Platform 搭建的,主题是handsome
大佬牛比plus
谢谢我家狗子来捧场