Sublime Text 2에서 pdflatex와 xelatex 변환간에 전환하려면 어떻게해야합니까? //”-e”, “\\$pdflatex = ‘pdflatex %O

필자는 종종 “클래식”LaTeX 및 XeTeX 문서 컴파일간에 전환합니다.

Sublime Text 2에는 LaTeXTools 라는 패키지가 있으며이를 통해 LaTeX 문서를 간단한 방법으로 작성할 수 있습니다 CmdB. 산뜻한.

빌드 파일은 LaTeX.sublime-build분명히 표준 패키지 폴더에 있으며이를 User폴더에 복사하여 사용자 정의 할 수 있습니다. 여기서, 주어진 인수를 변경할 수 있습니다 latexmk, 즉 전환하기 pdflatex에이 xelatex같은 예를 들어, :

"cmd": ["latexmk", "-cd",
  //"-e", "\\$pdflatex = 'pdflatex %O -interaction=nonstopmode -synctex=1 %S'",
  "-e", "\\$pdflatex = 'xelatex %O -interaction=nonstopmode -synctex=1 %S'",
  //"-silent",
  "-f", "-pdf"],

이제 다른 문서를 열 때마다 빌드 환경 설정을 열고 한 줄을 주석 처리하고 저장하는 등의 작업을 수행하는 것이 매우 지루합니다.

이상적으로, 나는 엔진을 바꿀 수 있기를 원합니다

  • … 자동으로 – TextMate는 예를 들어 CmdR그렇게합니다. TextMate 구성이로 설정되어 있어도 간단하게 LaTeX 문서와 XeTeX 문서를 모두 컴파일 할 수 있습니다 pdflatex. 어쩌면 그것은 약간의 latexmk.pl부일 지도 모른다.

  • … 간단한 키보드 단축키 또는 설정에 – 어쩌면 누르면 CmdL, CmdX또는 유사한. 그러면 건물 pdflatexxelatex건물 사이를 전환 합니다.

어떻게 설정할 수 있습니까?



답변

참고 : 파일로 시작하는 경우 숭고한 텍스트에 대한 LaTeXTools 이제 자동 엔진 감지 기능을 지원하는 %!TEX program = <program>경우, <program>어떤이다 pdflatex, xelatex또는 lualatex. 아래 지침은 어떤 이유로 든 엔진을 수동으로 전환해야하는 경우에만 필요합니다.


아래 LaTeX.sublime-buildLaTeXTools폴더에 있는 파일을 가져 와서에 ~/Library/Application Support/Sublime Text 2/Packages복사 ~/Library/Application Support/Sublime Text 2/Packages/User/하되 두 번 수행하여 해당 파일에 다음 이름을 지정하십시오.

  • LaTeX.sublime-build.latex
  • LaTeX.sublime-build.xetex

pdflatexLaTeX 용 및 xelatexXeTeX 용 엔진을 각각 사용하도록 파일을 변경하십시오 (질문에서 볼 수 있음).

그런 다음 도구»새 플러그인…을 통해 새 플러그인을 만듭니다 ( 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)

그리고 Preferences»Key Bindings – User 에서 키보드 단축키를 만드십시오 .

[ {
  "keys": ["super+shift+x"], "command": "switch"
} ]

패키지에 Main.sublime-menu파일을 추가하여 메뉴에 추가 할 수도 있습니다 User.

[ {
    "id":"tools", "children":
    [ {
        "command": "switch",
        "caption": "Switch between LaTeX/XeTeX"
      }
    ]
} ]

이제 현재 활성화 된 빌드 파일을 XeTeX 및 LaTeX에 필요한 빌드 설정과 비교하고 필요한 경우 전환합니다.

이것은 확실히 약간의 개선을 사용할 수 있지만 현재로서는 효과가 있습니다.


답변