2011-09-07 25 views
27

अभिव्यक्ति reftex-view-crossref-extrareftex-view-crossref फ़ंक्शन के लिए अतिरिक्त पैटर्न सेट करता है। इसमें मैक्रो रेगेक्सपी, सर्च रेगेक्सप और हाइलाइट ग्रुप (जैसा कि नीचे दिखाया गया है) शामिल है:Emacs में reftex-view-crossref-extra कैसे सेट अप करें?

(मैक्रो-आरई खोज-आरई हाइलाइट)।

मैक्रो-आरई मैक्रो के खिलाफ मेल खाता है। SEARCH-RE क्रॉस संदर्भों की खोज के लिए उपयोग किया गया regexp है। इस regexp में `% s 'को को बिंदु पर मैक्रो तर्क के साथ बदल दिया गया है। हाइलाइट एक पूर्णांक है जो दर्शाता है कि मैच के किस समूह को हाइलाइट किया जाना चाहिए।

मैं निम्नलिखित पैटर्न (ऑर्ग-मोड फ़ुटनोट्स) से मेल खाने का प्रयास कर रहा हूं:

[fn:author2000title:Optional text] 

author2000title बाइबिलटेक्स लेबल है जिसके लिए मैं एक मैच चाहता हूं। मैं MACRO-RE और SEARCH-RE कैसे लिख सकता हूं, जैसे reftex-view-crossref इस तरह के रिकॉर्ड पर काम करता है?

+2

क्या आप पूरे '[fn: author2000title: वैकल्पिक टेक्स्ट] 'या बस' author2000title' को पकड़ना चाहते हैं? –

उत्तर

2

हो सकता है कि यह आप अपने विशेष सेटअप के लिए एक समाधान खोजने में मदद मिलेगी।

(setq reftex-view-crossref-extra '(("\\\\oinc" "\\[fn:%s:[^]]*?\\]" 0))) 

को

* Heading 1 
    \oinc{mylabel} 
    stuff 
* Heading 2 
    otherstuff [fn:mylabel:Display text] 

reftex-view-crossref-extra स्थापना testfile एक छोटे से संगठन इस परीक्षण के लिए, मैं सेटअप अगर मैं \oinc{mylabel} पर बिंदु जगह, ब्रेसिज़ के अंदर, और C-c & दबाते हैं, तो [fn...] पर प्रकाश डाला और पहले के रूप में पहचान हो जाता है और केवल मैच

संपादित: एक regex लेबल मैक्रो आप का उपयोग करें, उदा परिभाषित करने पकड़े साथ "\\\\oinc" बदलें "\\\\mylabel\\|\\\\oinc"। आप मानक कमांड \label इत्यादि के संदर्भ संदर्भ परिभाषित नहीं कर सकते हैं; उनकी हैंडलिंग हार्डकोडेड है; लेकिन आप standard¹ को अलियासिंग करने के लिए एक नया कमांड परिभाषित कर सकते हैं, और अपने लेबल को परिभाषित करने के लिए इसका उपयोग कर reftex-view-crossref अपने कस्टम संदर्भों को खोजने के लिए यहां दिखाए गए तरीके का उपयोग कर सकते हैं।

संक्षेप में: MACRO-RE मापदंडों आप में रुचि रखते हैं के बिना मैक्रो मिलान एक regexp है, SEARCH-RE एक regexp जो आपके इच्छित संदर्भ प्रारूप से मेल खाता है, और जिसमें आप एक %s कि मैक्रो को तर्क से बदल दिया जाएगा रखना चाहिए MATCH-RE के साथ मेल खाता है। यदि आपके SEARCH-RE में कैप्चरिंग ब्रांड्स शामिल हैं, तो आप केवल कैप्चरिंग मैचों के भाग को हाइलाइट कर सकते हैं, तीसरे सूची तत्व HIGHLIGHT को पूर्णांक के रूप में कैप्चरिंग पैरों को संदर्भित करने के लिए संदर्भित करते हैं, यानी पूरे कैप्चर के लिए 1 पूरे मैच के लिए , दूसरे इत्यादि के लिए 2, जहां माता-पिता खोलने का आदेश कैप्चर किए गए मैचों की संख्या को परिभाषित करता है।

तरह सादर, टॉम

1: \newcommand{\mylabel}[1]{\label{#1}}

नोटा बेने: यदि आप चाहते हैं केवल mylabel खोज/मिलान पर प्रकाश डाला जा सकता है, के लिए

(setq reftex-view-crossref-extra '(("\\oinc" "\\[fn:\\(%s\\):[^]]*?\\]" 1))) 

नोटिस मिलान कोष्ठक कि बदलाव SEARCH-RE में, सूची में दूसरा तत्व।

संबंधित मुद्दे