TeX-सम्मिलन-मैक्रो को \ इनपुट पर गति दें


10

में latex-modeजब मैं का उपयोग TeX-insert-macroएक टाइप करने के लिए \input{...} मैक्रो, Auctex आसानी से फ़ाइल नाम पूरा होने के, जो बहुत अच्छा है प्रदान करता है। हालांकि, यह पूरी होने वाली सूची को संकलित करने के लिए बहुत सी जगहों की खोज करता है, क्योंकि ईमैक मेरे खराब छोटे लैपटॉप पर लगभग एक मिनट के लिए लटका हुआ है।

क्या TeX-insert-macroगूंगा फाइलनाम पूरा करने का प्रस्ताव है?
"गूंगा" से मेरा मतलब है कि आपको कॉल करते समय जो मिलता है find-file। अधिकांश समय मैं जिस फ़ाइल को इनपुट करना चाहता हूं, वह केवल एक डायरेक्टरी दूर है, इसलिए यह ठीक से अधिक होगा।

यदि यह संभव नहीं है, तो क्या इसे गति देने का एक और तरीका है?
मैंने देखा जब मैं \includeमैक्रो सम्मिलित करता हूं तो फ़ाइलनाम की सूची बहुत कम होती है, इसलिए शायद \input मैक्रो के लिए भी उस सूची का उपयोग करने का एक तरीका है ।


वहाँ भी है cdlatex-insert-filenameजो cdlatex पैकेज के साथ आता है। मुझे यह आंकड़ा वातावरण में ग्राफिक फ़ाइलों को सम्मिलित करने के लिए मददगार लगता है।
वामसी

जवाबों:


6

आपके पास कुछ उपाय हैं:

सबसे पहले, इस व्यवहार को अनुकूलित करने वाला एक चर है TeX-arg-input-file-search:।

अगर TeX-arg-input-fileफाइलों को खोजना चाहिए। यदि मान t है, तो TeX के खोज पथ की फ़ाइलों की खोज की जाती है और उन्हें पूरा करने के लिए प्रदान किया जाता है। फ़ाइल का नाम फिर निर्देशिका और एक्सटेंशन के बिना डाला जाता है। यदि मान शून्य है, तो फ़ाइल नाम को मैन्युअल रूप से निर्दिष्ट किया जा सकता है और वर्तमान बफ़र फ़ाइल की निर्देशिका के साथ और एक्सटेंशन के साथ एक पथ के साथ डाला जाता है। यदि मान है ask, तो आपको हर बार उपयोग की जाने वाली विधि के लिए TeX-arg-input-fileकहा जाता है।

प्रलेखन का यह टुकड़ा है, इमो, काफी स्पष्ट नहीं है, लेकिन यह nilकाम करने के लिए लगता है।

(setq TeX-arg-input-file-search nil)

यह चर उन सभी कार्यों को प्रभावित करता है जो कॉल TeX-arg-input-file, सहित input, includeऔर usepackage। उत्तरार्द्ध के लिए, यह व्यवहार अप्रत्याशित हो सकता है।

तो फिर वहाँ एक और अधिक hacky समाधान जो सभी कार्यों के लिए काम करना चाहिए है: TeX-arg-input-fileएक सुविधा है local(इस ध्वज को उदाहरण के सेट के लिए है इस व्यवहार के लिए ध्वज tके लिए include)।

जाहिर है, आप केवल कमांड के लिए एक और प्रविष्टि जोड़कर किसी भी अन्य सेटिंग को ओवरराइड कर सकते हैं, इसलिए:

(add-hook 'LaTeX-mode-hook 
  (lambda nil 
     (TeX-add-symbols '("input" (TeX-arg-input-file "File" t)))))

एक अंतिम समाधान, यदि आपके पास लंबे समय तक चलने वाले ईमैक्स सत्र हैं, तो बस इसे जाने दें। ऐसा लगता है कि "खोज फ़ाइलें" चरण इसके परिणामों को कैश करता है, इसलिए इसे प्रति सत्र केवल एक बार बुलाया जाना चाहिए।


बहुत बढ़िया! मैं एक हैक के बारे में उम्मीद कर रहा था, मुझे लगता है कि मैंने अंडरटेक्स को कम करके आंका था।
मालाबार

1
Hmpf, ऐसा लगता है कि हैक वास्तव में जाने का तरीका था, मेरा संपादन देखें। अगर हैकी समाधान आपकी आवश्यकताओं के अनुरूप है, तो कृपया मुझे बताएं ताकि मैं उत्तर को पुनर्व्यवस्थित कर सकूं।
टी। वेरॉन

1
तुम ठीक कह रहे हो, हमारे लिए जो अवांछनीय होगा। अद्यतन के लिए धन्यवाद। यह वास्तव में परिणामों को कैश करता है, लेकिन ~ 1 मिनट की देरी मुझे परेशान करने के लिए पर्याप्त है, भले ही यह केवल एक बार प्रति बफर हो।
मालाबार

1
मैंने सामग्री को फिर से व्यवस्थित किया। फिर से कोड को देखते हुए, मैं गलत था, TeX-global-input-files(खोज के परिणाम वाला चर) बफर-स्थानीय नहीं है, इसलिए खोज केवल एक बार ईमैक्स सत्र के अनुसार होनी चाहिए । शायद यह अधिक दिलचस्प होगा यदि यह asyncronously हो सकता है, हालांकि, ~ 1min का फ्रीज वास्तव में बहुत लंबा है।
टी। वेरॉन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.