此前会议论文写作,由于需要即时协作,所以对overleaf依赖比较高。而近期要开始写毕业论文,学院要求中文,组内要求60页,考虑到大文件用overleaf编译会比较慢,而在写作过程中也不需要协作,所以打算迁移到本地VSC,我目前使用的是双屏双系统,所以都弄一下,做个简易教程吧。此外,我增加了github和gitee云端版本管理,方便后续。
本文以Mac Visual Studio Code配置为主线,如果windows上有其他特殊事项,则会单独注明。
使用设备说明:
- Mac: macOS 12.2.1 (mac mini M1 2020)
- Windows: Windows 11 (i7-9700KF)
一、 安装 TeX 语言编译器
TeX是一门具有优良格式的语言,其自带一套语法,需要对应的编译器进行编译。正如C语言需要gcc。
- Mac:推荐安装 MacTeX,选择MacTeX Download即可。
- Windows:推荐通过中科大源安装TeX Live,texlive.iso文件即可。
二、 安装 Visual Studio Code(VSC)及插件
作为一款轻便的编辑器,功能全面,加上良好的插件库,可以高度定制化个人的开发环境。推荐
-
VSC下载链接:https://code.visualstudio.com/
-
插件:
- latex-workshop: 本文主角,latex万花筒
- chinese language pack:中文语言包
- vim(可选):vsc的vim模拟器
三、 VSC配置LaTeX Workshop插件
打开设置的文本界面: 快捷键(Command/Ctrl + shift + P) ==> 输入 open settings(json)
vsc的配置文件是一个json文件,只需要在最外层的花括号内,增加键值。
latex 一般会使用.bib文件,所以需要四次编译,即latex -> bibtex -> latex -> latex。这里latex可以是pdfLaTeX、XeLaTeX等,区别是pdf只支持英文,而XeLaTeX支持中文编码。latex-workshop默认采用pdflatex,所以若要使用xelatex,则需要单独在tools中添加xelatex的指令,然后在recipes中,添加新的一组指令。
在配置文件中,我给pdflatex和xelatex都设置了tools,然后采用组合命令recipes进行一键编译。
VSC添加配置: (添加键值时,注意逗号!json文件采用键值和逗号区分,缩进不影响。)
{
"*": "*", // 这里指代其他已有的字典键值,保留,在其下增加新键值
"latex-workshop.latex.recipe.default": "xelatex -> bibtex -> xelatex*2",
// 设置默认编译指令,根据name在下方recipes取具体的先后执行命令
"latex-workshop.latex.recipes": [
{"name": "pdflatex -> bibtex -> pdflatex*2",
"tools": ["pdflatex", "bibtex", "pdflatex", "pdflatex",],},
// 对应具体的执行命令集合,这些命令pdflatex/bibtex从下方tools取
{"name": "xelatex -> bibtex -> xelatex*2",
"tools": ["xelatex", "bibtex", "xelatex", "xelatex",],},
],
"latex-workshop.latex.tools": [
{"name": "pdflatex", "command": "pdflatex",
"args": ["-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOCFILE%",],},
{"name": "bibtex", "command": "bibtex",
"args": ["%DOCFILE%",],},
{"name": "xelatex", "command": "xelatex",
"args": ["-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOCFILE%",],},
],
"latex-workshop.view.pdf.viewer": "tab", // 标签模式打开pdf
"latex-workshop.synctex.afterBuild.enabled": true, // 启用反向搜索
"latex-workshop.view.pdf.internal.synctex.keybinding": "double-click", // 双击反向搜索(反向搜索见下文解释)
// 以下是其他配置,推荐但非必须
"editor.formatOnPaste": true, // 粘贴到VSC,立即格式化粘帖内容;为了bibtex格式化
"editor.formatOnSave": true, //文件保存时,自动格式化,配合bib按bibkey排序使用,很方便,以及latex 公式模块缩进;
"editor.wordWrap": "on", // 行视距内自动换行(防止长行出现)
"latex-workshop.bibtex-fields.sort.enabled": true, // .bib每个item按field自定义排序
"latex-workshop.bibtex-fields.order": ["title", "author", "booktitle", "journal", "year", "volume", "page"],
"latex-workshop.bibtex-format.sort.enabled": true, // 对.bib所有item排序
"latex-workshop.bibtex-format.sortby": ["booktitle", "journal", "year"],
"latex-workshop.intellisense.package.enabled": true,
"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"
],
}
本人MAC VSC完整版配置。,仅供参考。(如果觉得有用,请赐star)
以上,完成以上配置后,即可正常编译了。
注操作快捷键:
- 编译: Command/Ctrl + Option/Alt + B
- 显示PDF:Command/Ctrl + Option/Alt + V
- 正向搜索(tex位置->pdf位置):Command/Ctrl + Option/Alt + J
- 反向搜索(pdf位置->tex位置):Command/Ctrl + Option/Alt + 点击 (或者直接双击pdf位置)
四、 配置Git
和一般的仓库初始化git一样,具体操作可查看我的另一篇文章Git 基本操作
这里贴一下.gitignore
__*
*.aux
*.gz
.vscode/
*.aux
*.bbl
*.blg
*.idx
*.ind
*.lof
*.lot
*.out
*.toc
*.acn
*.acr
*.alg
*.glg
*.glo
*.gls
*.ist
*.fls
*.log
*.fdb_latexmk
*.log
.DS_Store
.directory
以上都完成了! Enjoy your Writing!Ahhhhh!