Примечание: LaTeXTools для Sublime Text теперь поддерживает автоматическое определение движка, если ваш файл начинается с
%!TEX program = <program>
, где<program>
находится любой изpdflatex
,xelatex
илиlualatex
. Приведенные ниже инструкции необходимы только в том случае, если по каким-либо причинам вам нужно вручную переключать двигатели.
Возьмите LaTeX.sublime-build
файл в LaTeXTools
папке ~/Library/Application Support/Sublime Text 2/Packages
и скопируйте его ~/Library/Application Support/Sublime Text 2/Packages/User/
, но сделайте это дважды и дайте этим файлам следующее имя:
LaTeX.sublime-build.latex
LaTeX.sublime-build.xetex
Измените файлы, чтобы использовать pdflatex
для LaTeX и xelatex
движки для XeTeX, соответственно (как видно в вопросе).
Затем создайте новый плагин через Инструменты »Новый плагин… (сохраняя его в switch.py
указанном выше месте):
import sublime, sublime_plugin, os, shutil, filecmp class SwitchCommand(sublime_plugin.ApplicationCommand): def run(self): folder = os.path.expanduser( \ '~/Library/Application Support/Sublime Text 2/Packages/User/') latex_src = folder + 'LaTeX.sublime-build.latex' xetex_src = folder + 'LaTeX.sublime-build.xetex' dest = folder + 'LaTeX.sublime-build' if filecmp.cmp(dest, latex_src): sublime.status_message("Switching to XeTeX") shutil.copy(xetex_src, dest) else: sublime.status_message("Switching to LaTeX") shutil.copy(latex_src, dest)
И создайте для него сочетание клавиш в « Предпочтениях» - «Привязки клавиш» - «Пользователь» :
[ { "keys": ["super+shift+x"], "command": "switch" } ]
Вы также можете добавить это в ваше меню, добавив Main.sublime-menu
файл в ваш User
пакет:
[ { "id":"tools", "children": [ { "command": "switch", "caption": "Switch between LaTeX/XeTeX" } ] } ]
Теперь он сравнит текущий активный файл сборки с настройками сборки, необходимыми для XeTeX и LaTeX, и переключит их при необходимости.
Это, безусловно, может использовать некоторые улучшения, но это работает на данный момент.