मैं सब्लिम टेक्स्ट 2 में pdflatex और xelatex रूपांतरण के बीच कैसे बदल सकता हूँ?


9

मैं अक्सर "क्लासिक" 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 किसी तरह करता है, और मैं एक सरल के साथ दोनों LaTeX दस्तावेज़ों और XeTeX दस्तावेजों को संकलित कर सकता हूं CmdR, हालांकि TextMate कॉन्फ़िगरेशन के लिए सेट है pdflatex। शायद यह कुछ है latexmk.pl, मुझे नहीं पता।

  • ... एक साधारण कीबोर्ड शॉर्टकट या सेटिंग के साथ - हो सकता है कि दबाने CmdL, CmdXया इसी तरह की। इसके बाद निर्माण pdflatexऔर xelatexनिर्माण के बीच टॉगल किया जाएगा ।

मैं इसे कैसे सेट कर सकता हूं?

जवाबों:


12

नोट: उदात्त पाठ के लिए LaTeXTools अब स्वचालित इंजन का पता लगाने का समर्थन करता है यदि आपकी फ़ाइल के साथ शुरू होता है %!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लिए लाटेक्स और xelatexइंजनों के उपयोग के लिए फाइलें बदलें (जैसा कि प्रश्न में देखा गया है)।

फिर, टूल्स »न्यू प्लगइन ... के माध्यम से एक नया प्लगइन बनाएं (इसे 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 के लिए आवश्यक बिल्ड सेटिंग्स के साथ वर्तमान में सक्रिय बिल्ड फ़ाइल की तुलना करेगा और यदि आवश्यक हो तो उन्हें स्विच कर सकता है।

यह निश्चित रूप से कुछ सुधार का उपयोग कर सकता है, लेकिन यह फिलहाल काम करता है।


एक आकर्षण की तरह काम करता है, सिवाय इसके कि LaTeXTools LaTeX.sublime-buildमेरे उपयोगकर्ता संकुल फ़ोल्डर में पूर्वता नहीं देता है । काफी अजीब ...
fgb

क्या आप डिफ़ॉल्ट की एक पूरी प्रतिलिपि बनाते हैं LaTeX.sublime-build, जिसे आप तब संशोधित करते हैं, या बस संबंधित osxहिस्से को शामिल करते हैं ?
fgb

1
सबसे पहले संपादन के लिए धन्यवाद। मैंने डिफ़ॉल्ट फ़ाइल की पूरी प्रतिलिपि बनाई और उनके अनुसार उन्हें संशोधित किया। हालांकि मुझे पता चला कि XeLaTeX सभी LaTeX स्रोतों को ठीक से संकलित करता है, कम से कम उन सभी फाइलों पर जो उन्होंने परीक्षण की हैं। हो सकता है कि बैकग्राउंड में कहीं कमबैक हुआ हो?
slhck

पूर्ण डिफ़ॉल्ट फ़ाइल को कॉपी और संशोधित करने से मेरी समस्या हल हो गई। दिलचस्प है कि सिर्फ XeLaTeX का उपयोग करना दोनों के लिए पर्याप्त है। मैं इसे भविष्य में देखूंगा क्योंकि यह निश्चित रूप से कंपाइलरों को स्विच करने से बेहतर होगा। त्वरित उत्तर के लिए धन्यवाद!
fgb
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.