cgn*_*gnx 4 latex xelatex sublimetext3
我按照此处提供的说明(如何在Sublime Text中为用户的构建系统创建快捷方式?)来在xelatex中编译乳胶文档,最重要的是,我还希望它像latexmk一样在编译后自动打开pdf,我实现了吗?该文档构建良好,但每次都必须手动打开它。
这是CompileWithXelatexCommand在我的默认PDF查看器中成功打开PDF 的实现的扩展。
import sublime, sublime_plugin
import os
import time
class CompileWithXelatexCommand(sublime_plugin.TextCommand):
def run(self, edit):
if '/usr/texbin' not in os.environ['PATH']:
os.environ['PATH'] += ':/usr/texbin'
base_fname = self.view.file_name()[:-4]
pdf_fname = base_fname + ".pdf"
self.view.window().run_command('exec',{'cmd': ['xelatex','-synctex=1','-interaction=nonstopmode',base_fname]})
tries = 5
seconds_to_wait = 1
while tries > 0:
if os.path.isfile(pdf_fname):
break
time.sleep(seconds_to_wait)
seconds_to_wait *= 2
tries -= 1
os.system("open " + pdf_fname)
Run Code Online (Sandbox Code Playgroud)
需要轮询循环;否则,打开调用可能会在生成PDF之前发生。也许有一种更干净的方法可以通过同步执行一系列命令run_command。
我现在无法使用Windows,但是从这篇文章中,您可能只需要更改"open "为即可"start "。PATH初始化逻辑将需要消除或调整。