0为什么选择安装TinyTeX而不要TeXLive
TinyTeX 是一个瘦身版的 TeX Live。TeX Live 的庞大体型问题困扰我多年,其实方案很简单:把对普通用户毫无用处的源代码和文档去掉即可。最终精简安装TinyTeX体积不到200M,完全安装大约1.8G。
如果你安装了R语言的话,安装TinyTeX仅仅需要两行代码。
1 R语言的安装
下载网址:https://cran.r-project.org/ 选择base,下载完成后,单击文件以开始安装,科研修改了安装位置,建议在整个安装过程中保持所有默认设置。
2 RStudio编译器的安装
选择Desktop桌面版,下载完成后,单击文件以开始安装,建议在整个安装过程中保持所有默认设置。
注意:安装路径中不能出现中文,并且和r语言在同一个父路径下。
RStudio更换默认下载镜像
graph LR A(菜单栏Tools) --> B(Global Options) --> C(Package) -->D(CRAN Mirror)--> E(Change)
在跳出来的选项里, 选择你想选择的, 一般选择带有China 的会好一点. 选完之后不要忘了点击Apply 再点OK.
3 RMarkdown库的安装
RMarkdown库安装命令流
打开RStudio,在可见的页面文本编辑框Console中输入R语言库的安装命令流:
1 | install.packages('rmarkdown') |
设置字体引擎与编码
graph LR A(菜单栏Tools) --> D(Global Options) --> A(Sweave) --> A(Weave Rnw files using选择 knitr) --> A(Typeset LaTeX into PDF using 选择 XeLaTex)
XeLaTeX是使用LaTeX的排版引擎,也有上述XeTeX的优点,命令下直接使用xelatex(“xxxxxx.tex”)就会产生对应的PDF文件。
4 安装最后一步,也是主要的一步:TinyTeX的库的安装
通过RStudio安装,我们已经有了一个完整的R语言开发环境,有了这个环境,我们可以使用两句R语言命令实现Tinytex开发环境的安装。b
1 | # requires a version tinytex >= 0.40 |
如果有问题请查看官网详细帮助文档:https://yihui.org/tinytex/
以及The binary packages of TinyTeX are released on the monthly basis to the Github repo https://github.com/rstudio/tinytex-releases
5 TinyTeX的基本使用
由于使用时,肯定需要下载LaTeX宏包,所以先修改为国内镜像源,比如改为中科大大学的镜像源:
在RStudio中输入命令流:
tlmgr_repo(url = "http://mirrors.tuna.ustc.edu.cn/CTAN/")
或者tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet
5.1使用RStudio 的IDE新建tex hello world
1 | \documentclass{ctexart} |
点保存,后缀名用 .tex,即保存为 Latex 文件。点 Compile PDF 按钮运行,正常会生成pdf文件。
5.2编译报错处理
如果报错缺少格式文件,也可能会缺少宏包、字体等,毕竟轻量级嘛。
打开windows cmd窗口或者rstudio的console窗口,运行:
1 | tlmgr --file --global "/xxxx.sty" # search for windows CMD |
这表明缺少 ctex 宏包(这里的ctex仅为举例),那就安装该宏包,windows 命令窗口输入:
1 | tlmgr install ctex |
如果还不行更新系统
1 | tlmgr update --self --all |
如果是R语言用户在console中运行:
1 | tlmgr_install("ctex") |
仍有问题试着运行:
1 | library(tinytex) |
5.3设置自动安装缺少宏包的全局选项
如果缺少很多宏包,逐个测试、安装会很麻烦。可设置自动安装缺少宏包的全局选项:
1 | options(tinytex.install_packages = TRUE) |
6 VSCode+TinyTeX搭建LaTeX写作环境
如果你完全不需要R语言,也可以略去前面的安装步骤,直接下载下载TinyTeX(注意,需要下载TinyTeX-2完全版本,否则可能会因为丢失一些包无法编译),然后直接解压,把”TinyTeX-2\TinyTeX\bin\win32”加入到环境变量中。这样,就完成了TinyTeX的安装。
6.1使用VS code 编辑并编译hello world.tex
系统安装好Texlive或Tinytex后,可以使用流行的vscode编辑器完成tex文档的编辑和编译工作,用于代替默认的tex编辑器或者RStudio环境。网上配置vscode+latex的教程很多。打开vscode,安装完LaTeX Workshop插件后,关键在于setting.json的修改。在vscode中打开setting.json。
将相应的部分该为下面的代码:
1 | "latex-workshop.latex.recipes": [ |
latex-workshop.latex.recipes默认使用第一个。
latex-workshop.latex.recipes: 编译的方案,就是不同tools的组合,把 latex-workshop.latex.tools串起来。
latex-workshop.latex.tools: 编译的命令及参数
latex-workshop.latex.magic.args: 魔法注释命令的参数,用来定义编译引擎(pdflatex, xelatex 等)以及根文件 (Root file)。
当前版本,不建议使用魔法注释定义引擎。以前魔法注释定义的引擎相当于现在的tools,而现在定义的是只包含一步的recipes且优先级更高。所以,现在的魔法引擎使用情景非常有限,等待作者转换下思路。
至此,一个基于vscode简单可用的LaTeX环境就搭建好了, 这时可以脱离RStudio编译tex文件了。
6.1 在VSCode中使用Sumatra PDF预览PDF并与tex文件进行双向搜索交互
vscode自带的pdf预览功能在使用上有诸多不便,推荐使用 SumatraPDF 阅读器,下载地址。转换为外置浏览器,需要在settings json 中完成相应的设置,除此之外,在用Latex写论文过程中,往往需要PDF与tex文件进行双向搜索交互,便于修改文章。这里需要做三个方面的设置。
- vscode 中修改settings json ,完成从tex到pdf的正向搜索设置,settings json设置如下:
1
2
3
4
5
6
7
8
9
10
11
12
13//"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.view.pdf.viewer": "external",
"latex-workshop.view.pdf.external.viewer.command":"D:/Program Files/SumatraPDF/SumatraPDF.exe",
"latex-workshop.view.pdf.external.viewer.args": [
"%PDF%"
],
"latex-workshop.view.pdf.external.synctex.command": "D:/Program Files/SumatraPDF/SumatraPDF.exe", //注意修改路径
"latex-workshop.view.pdf.external.synctex.args": [
"-forward-search",
"%TEX%",
"%LINE%",
"%PDF%",
], //保存后点击"SyncTeX from cursor"就可以进行正向搜索了,快捷键是“Ctr + Alt + J”. - SumatraPDF 阅读器的“设置”->”高级选项”中,加入一下代码,完成双击pdf反向定位tex代码功能
1
2InverseSearchCmdLine = "D:\Program files\Microsoft VS Code\Code.exe" "D:\Program files\Microsoft VS Code\resources\app\out\cli.js" --ms-enable-electron-run-as-node -r -g "%f:%l"
EnableTeXEnhancements = true - 在tex源文件中添加”\usepackage{pdfsync}”这个宏包。
到此所有配置的东西就全部完成了. 现在可以愉快的在VSCode中用$ \LaTeX $ 进行论文写作了。