AUCTeX द्वारा उपलब्ध कीबाइंडिंग को धीरे-धीरे सीखना


11

अगर मैं करता हूं M-x forward-char, तो Emacs बहुत उपयोगी संदेश देता है

You can run the command "forward-char" with C-f.

तथ्य यह है कि Emacs फ़ाइल में सभी LaTeX कीबाइंडिंग पा सकते हैं को ध्यान में रखते latex.elतहत LaTeX-math-defaultAUCTeX द्वारा प्रदान की, यह है कि LaTeX मोड में (AUCTeX) Emacs मुझे keybindings याद करते हैं हो सकता है? उदाहरण के लिए \sigmaEmacs टाइप करने के बाद एक संदेश दिखाई देता है

You can insert "\sigma" by `s .

यह बहुत उपयोगी होगा क्योंकि यह धीरे-धीरे LaTeX मोड में कीबाइंडिंग सीखने की अनुमति देता है।


2
आपके प्रश्न का उत्तर नहीं है, लेकिन यदि वे परिभाषित हैं तो मेनूबार को कीबोर्ड शॉर्टकट दिखाना चाहिए। और, एक ही चीज़ पॉपअप-मेनू (जो शॉर्टकट दिखाता है) के साथ उपलब्ध है - जैसे (global-set-key [C-down-mouse-3] 'mouse-popup-menubar),। इस तरह, आपके पास संदेश विज्ञापन नहीं है।
कानून व्यवस्था

@lawlist मैं टिप्पणी करने जा रहा था कि गणित मोड प्रतीक मेनू में नहीं हैं, लेकिन उनके पास वास्तव में अपना स्वयं का एक पूरा मेनू है! यहां तक ​​कि जिन लोगों के पास परिभाषित शॉर्ट कट नहीं है, उन्हें उत्पादन करने के लिए आवश्यक कोड के साथ दिखाया गया है। बेहद सुविधाजनक!
टायलर

जवाबों:


9

मेरे उत्तर को यहाँ से संशोधित करके हम केवल इस डेटा को खींच सकते हैं LaTeX-math-default, जो 4-ट्यूपल्स की सूची है

(CHARACTER MACRO MENU UNICODE)

CHARACTERचरित्र को कहां बांधने के लिए उपयोग किया जाता है (मुझे पता है कि यह पूर्णांक की तरह दिखता है, लेकिन यह एक चरित्र है, (string CHARACTER)देखने के लिए उपयोग करें), MACROस्लैश के बिना लेटेक्स मैक्रो है, MENUमेनू का नाम है और UNICODEएक यूनिकोड चरित्र है जो प्रदर्शन में उपयोग किया जाता है मेनू। हम पहले और दूसरे तत्वों की जाँच करना चाहते हैं:

(defun show-latex-symbol-at-point ()
  (interactive)
  (let* ((sym (symbol-at-point))
         (latex-symbol (TeX-member sym LaTeX-math-default
                                   (lambda (a b)
                                     (string= a (nth 1 b)))))
         (shortcut (nth 0 latex-symbol))
         )
    (if (and latex-symbol shortcut)
        (message "You can insert \\%s with `%s"
                 (nth 1 latex-symbol)
                 (key-description (string shortcut))))))

संभवतः आउटपुट को लगातार दिखाने के लिए बेहतर तरीके हैं, लेकिन post-command-hookप्रत्येक कमांड के बाद उपरोक्त फ़ंक्शन को चलाने के लिए उपयोग करने का एक तरीका है । हम यह सुनिश्चित करने के लिए उपयोग करेंगे कि यह केवल अंदर चलता हैlatex-mode

(add-hook 'post-command-hook
          (lambda ()
            (if (bound-and-true-p LaTeX-math-mode)
                (show-latex-symbol-at-point)
              )
            ))

इस उत्तर के लिए बहुत धन्यवाद। आपका कोड काम करता है। $ $ Sigma $ टाइप करने के बाद, एक संदेश बताता है You can insert \sigma with s। अगर मैं $ \ oplus $ m टाइप करता हूं तो मुझे एक संभावित बग की सूचना दें, एक त्रुटि बता रहा है Error in post-command-hook ((lambda nil (if (eq major-mode (quote latex-mode)) (show-latex-symbol-at-point)))): (wrong-type-argument characterp nil)। मुझे लगता है कि यह इस तथ्य के कारण है कि auctexइसके लिए एक शॉर्टकट सेट नहीं किया गया है oplus( oplusनीचे पाया जा सकता है LaTeX-math-default)। और इस त्रुटि पर, कोड काम नहीं कर रहा है, जैसे $ \ सिग्मा $ टाइप करने से कुछ नहीं होता है।
नाम

@ मुझे यह तय है कि यह प्रिंट करने की कोशिश न करें कि कब CHARACTERहैnil
erikstokes 19

उत्तम। कुछ मामूली सुझाव: (1) मुझे लगता है कि संदेश You can insert \sigma with `sसे बेहतर है You can insert sigma with s। (2) वर्तमान \rightarrowमें मैसेज टाइप करने के बाद You can insert rightarrow with ^Fदिखाई देता है। मुझे लगता है कि संदेश You can insert \rightarrow with `C-fशायद बेहतर है।
नाम

और, फिर से तय किया।
erikstokes
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.