作者:brucegogo03 | 来源:互联网 | 2023-08-26 16:42
一直在用SublimeText+ctex集成环境编写Latex文档,最近发现ctex套件内嵌的MiKTeX包管理器功能太弱了,遂将目标转向了功能更加强大的TexLive环境。首先安装Tex
一直在用Sublime Text + ctex集成环境编写Latex文档,最近发现ctex套件内嵌的MiKTeX包管理器功能太弱了,遂将目标转向了功能更加强大的Tex Live环境。
首先安装Tex Live环境,可以选择在线安装或者下载iso文件安装。可以参考官方网站的安装教程http://www.tug.org/texlive/,也可以参考这篇博文http://exciton.eo.yzu.edu.tw/~lab/latex/install_latex_cjk_ms_windows.html。
安装完成后,将Tex Live安装目录中的可执行文件目录添加进系统PATH路径,目录一般是这种形式的D:\texlive\2014\bin\win32。
Sublime Text中安装LaTeXTools插件,然后依次点击:Preferences -->> Package Settings -->> LaTeXTools --> Reconfigure LaTeXTools and migrate settings,插件会在User目录下生成LaTeXTools的配置文件。如果系统安装的是MiKTeX集成环境的话,配置文件不需要修改直接ctrl+b就可以编译Latex文件。现在我们想要LaTeXTools调用Tex Live编译Latex文件,只需要修改配置文件中的Platform settings部分。
"windows": {
// Path used when invoking tex & friends; "" is fine for MiKTeX
// For TeXlive 2011 (or other years) use
// "texpath" : "C:\\texlive\\2011\\bin\\win32;$PATH",
"texpath" : "",
// TeX distro: "miktex" or "texlive"
"distro" : "texlive"
},
将"distro"属性修改成"texlive",LaTeXTools插件就可以默然调用Tex Live编译Latex文件了。在这种情况下,如果Build engine settings里设置成"traditional",那么ctrl+b编译的时候,实际上调用的是Tex Live中的latexmk命令。
// ------------------------------------------------------------------
// Build engine settings
// ------------------------------------------------------------------
// OPTION: "builder"
// Specifies a build engine
// Possible values:
//
// "default" or "" the default built-in build engine; currently
// this is the same as "traditional"
//
// "simple" invokes pdflatex 1x or 2x as needed, then
// bibtex and pdflatex again if needed;
// intended mainly as a simple example for
// peoeple writing their own build engines.
//
// "traditional" replicates the 'old' system based on
// latexmk (TeXLive) / texify (MiKTeX)
//
// "script" external script: just invokes the script
// specified in "builder_settings"
//
// custom name you can also use third-party build engines;
// if so, set the "builder_path" option below
//
// NOTE: custom builders CANNOT have the same name as an existing
// built-in build engine (including "default")
"builder": "traditional",
插一句题外话,latexmk命令还有一个强大的功能,它可以通过读取Latex文件首行的Tex引擎设置参数来调用不同编译引擎编译文件。其Tex引擎设置命令格式为:%!TEX program = 。在这里program可以是pdflatex(默认),luaoatex或xelatex。如果首行没有Tex引擎选择指令,latexmk将默认调用pdflatex引擎。例如,在Latex文件的第一行的内容是:%!TEX program = xelatex。那么在用latexmk命令编译文件的时候,实际上调用的是xelatex编译引擎。这个功能使得我们可以在不修改编译命令的情况下,修改编译引擎,只需要在Latex文件的首行加一条配置命令即可实现编译引擎的选择,可以大大方提高Latex文件编译的灵活度。目前,MiKTeX的texify并不支持。