我按照此处提供的说明(如何在 Sublime Text 中为用户的构建系统创建快捷方式?)在 xelatex 中编译乳胶文档,除此之外,我还希望它像使用 latexmk 一样在编译后自动打开 pdf,怎么能我做到了吗?该文档构建得很好,但我每次都必须手动打开它。
问问题
3248 次
1 回答
5
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)
需要轮询循环;否则,打开调用可能会在 PDF 生成之前发生。可能有一种更简洁的方法可以通过run_command
.
我现在无法访问 Windows,但是从这篇文章中您可能只需要更改"open "
为"start "
. PATH 初始化逻辑要么需要被消除,要么需要调整。
于 2014-05-17T07:22:10.997 回答