मैं लाईटेक्स सेक्शन को कैसे छिपा / प्रदर्शित कर सकता हूं, जैसे ऑर्ग-मोड सुर्खियों में रहता है?


29

जब ओआरजी फाइलों का संपादन किया जाता है, तो मुझे यह बहुत सुविधाजनक लगता है कि आप हेडलाइन TABपर बस मारकर हेडलाइन और उनकी सामग्री को कैसे छिपा और प्रदर्शित कर सकते हैं ।

उदाहरण के लिए, निम्नलिखित बफर पर विचार करें

* Headline 1
Some text here.

* Headline 2
Some more text here.

अगर मैं बिंदु को पहले स्थान पर *रखता TABहूं , और हिट करता हूं, तो मुझे निम्नलिखित मिलेगा:

* Headline 1...
* Headline 2
Some more text here.

वहाँ एक तरीका है कि LaTeX वर्गों के साथ प्राप्त करने के लिए है?
यानी, शीर्षक को दृष्टिगत रखते हुए, मैं लाटेक्स खंड / अध्याय / आदि की सामग्री को कैसे छिपा और प्रदर्शित कर सकता हूं? मैं LaTeX- मोड के लिए AucTeX का उपयोग कर रहा हूं, लेकिन मुझे ऐसा कुछ नहीं मिला है जो इस भूमिका को पूरा करता हो।


Org के बाहर Org देखें: orgmode.org/worg/org-tutorials/org-outside-org.html और outshine mode: github.com/tj64/outshine
mankoff

जवाबों:


13

NB: इस पाठ का अधिकांश भाग एक प्रश्न के उत्तर से आया है जो इस प्रश्न का दोहराव है । कुछ सामग्री पर्याप्त रूप से भिन्न है कि इसे इस प्रश्न में जोड़ना सार्थक लग रहा था।

रूपरेखा मोड और AUCTeX तह सुविधाएं दो अलग-अलग जानवर हैं जो मोटे तौर पर एक ही काम करने के लिए हैं: बफर के चयनित भागों को छिपाएं और दिखाएं।

outline-minor-mode

उपयोग करते समय पहचानने के लिए एक प्रमुख तत्व outline-minor-modeयह है कि इसे outline-mode(यानी प्रमुख मोड ) की तुलना में एक अलग उपसर्ग कुंजी मिल गई है - गति कुंजियों के साथ महत्वपूर्ण संघर्षों से बचने के लिए ठीक है, आदि जो कि अजीब-से-प्रकार के लिए उपसर्ग चूक C-c @(हालांकि आप कर सकते हैं) बदलकर अनुकूलित करें outline-minor-mode-prefix)। मैनुअल के इस नोड पर सूचीबद्ध सभी कीबाइंडिंग को अभी भी काम करना चाहिए, लेकिन इस मोड़ के साथ कि आप प्रमुख मोड के उपसर्ग C-cको मामूली मोड के साथ उपसर्ग से प्रतिस्थापित करते हैं C-c @। इसलिए, C-c @ C-cरन hide-entry, C-c @ C-eरन show-entry, और इसी तरह।

इन सुविधाओं का उपयोग करने के लिए, आपको सक्षम करने की आवश्यकता है outline-minor-mode। सबसे आसान तरीका एक मोड हुक के साथ है:

(add-hook 'LaTeX-mode-hook #'outline-minor-mode)

बदलना outline-minor-mode-prefix

यह चाहिए परिवर्तन के लिए एक सरल बात हो outline-minor-mode-prefix(यह हुआ करता था दिन में वापस)। लेकिन ऐसा नहीं है। क्या मजाक है!

डॉकस्ट्रिंग अब एक गुप्त नोट देता है:

आउटलाइन माइनर मोड में आउटलाइन कमांड के लिए उपयोग करने के लिए उपसर्ग कुंजी। इस चर के मूल्य को लोडिंग आउटलाइन मोड के भाग के रूप में जांचा जाता है। उसके बाद, उपसर्ग कुंजी को बदलने के लिए keymaps में हेरफेर की आवश्यकता होती है।

हाँ, बहुत मददगार। अजीब तरह से पर्याप्त है, यहां तक ​​कि customizeइस चर को "मैनिपुलेटिंग कीमैप्स" से बचने के लिए समय पर सेट नहीं किया गया है (इसके बावजूद कि इसे defcustomस्रोत कोड में परिभाषित किया गया है)। प्रैक्टिकल वर्क-अराउंड: इस वैरिएबल को अपनी init फाइल में सेट करने से पहले आप इसे लोड करें outlineया कुछ और बनाएं (जैसे, org-mode)।

उदाहरण के लिए, आप उपसर्ग चाहते हैं C-o(जिसका अर्थ है कि आप हार रहे हैं open-line, लेकिन आप यह सोच सकते हैं कि यदि आप वास्तव में चाहते हैं)। निम्नलिखित को अपनी इनिट फ़ाइल में जल्दी डालने से यह काम पूरा हो जाएगा:

(global-unset-key "\C-o")
(setq outline-minor-mode-prefix "\C-o")

अब, आप रूपरेखा मोड कार्यक्षमता के सभी का उपयोग कर उपयोग करने में सक्षम होना चाहिए C-o- उपसर्ग C-o C-cकॉल करने के लिए hide-entry, C-o C-eकॉल करने के लिए show-entryइतने पर है, और।

नई रूपरेखा शीर्षक जोड़ना

एक अतिरिक्त बोनस के रूप में, आप यह भी कस्टमाइज़ कर सकते हैं कि कौन से आउटलाइन हेडर फोल्ड हो सकते हैं, और किस स्तर तक। उदाहरण के लिए, मैं "नकली" अनुभाग हेडर बनाने में सक्षम होना चाहता हूं ताकि पाठ को छिपाने के लिए एक सच्चा LaTeX हेडर न हो, लेकिन तार्किक रूप से दस्तावेज़ के समान स्तर पर रखा जाता है। निम्नलिखित कोड के साथ, आप उपयोग कर सकते हैं:

%section{a fake section}

Blah blah blah blah blah, LaTeX doesn't recognize me as a section...

\section{a real section}

Blah blah blah blah blah, LaTeX treats me as a real section

और आप किसी अन्य की तरह ही नकली अनुभाग में हेरफेर करने में सक्षम होंगे, लेकिन जब आप दस्तावेज़ को संकलित करते हैं, तो LaTeX इसे अनदेखा कर देगा:

;; extra outline headers 
(setq TeX-outline-extra
      '(("%chapter" 1)
        ("%section" 2)
        ("%subsection" 3)
        ("%subsubsection" 4)
        ("%paragraph" 5)))

;; add font locking to the headers
(font-lock-add-keywords
 'latex-mode
 '(("^%\\(chapter\\|\\(sub\\|subsub\\)?section\\|paragraph\\)"
    0 'font-lock-keyword-face t)
   ("^%chapter{\\(.*\\)}"       1 'font-latex-sectioning-1-face t)
   ("^%section{\\(.*\\)}"       1 'font-latex-sectioning-2-face t)
   ("^%subsection{\\(.*\\)}"    1 'font-latex-sectioning-3-face t)
   ("^%subsubsection{\\(.*\\)}" 1 'font-latex-sectioning-4-face t)
   ("^%paragraph{\\(.*\\)}"     1 'font-latex-sectioning-5-face t)))

outline-magic

outline-magicorg-modeजादू टैब कुंजी के साथ छुपाने / दिखाने के लिए उपयोग करने के लिए रूपरेखा मोड का विस्तार करता है । दूसरे शब्दों में, आप इसे अपने वर्कफ़्लो में जोड़ सकते हैं और अपने लाटेक्स दस्तावेजों को दस्तावेज़ों की तरह व्यवहार कर सकते हैं org। (मैं खुद इसका इस्तेमाल नहीं करता, इसलिए कार्यक्षमता पर टिप्पणी नहीं कर सकता।)

AUCTeX तह सुविधाएं

AUCTeX की तह सुविधाएं पर्यावरण पर काम करती हैं और वे (भ्रामक रूप से) मैक्रों को बुलाती हैं , बजाय वर्गों के। इस कार्यक्षमता का उपयोग करने के लिए, आपको इसे सक्षम करना होगा TeX-fold-mode

उदाहरण के लिए, सामने आया itemize वातावरण , जैसा दिख सकता है:

\begin{itemize}
  \item An item
  \item Another item
\end{itemize}

कॉलिंग TeX-fold-env(डिफ़ॉल्ट C-c C-o C-e:) वातावरण के अंदर इसे देखने के लिए फोल्ड करता है:

[itemize]

कर्सर को अंदर रखने से [itemize]आप इसे संपादित करते समय इसे फिर से अस्थायी रूप से विस्तारित कर देंगे, और फिर [itemize]कर्सर को पर्यावरण से बाहर ले जाने पर वापस नीचे कर देंगे।

एक "मैक्रो," द्वारा AUCTeX जैसी चीजों का मतलब है \footnote{...}। इसलिए, कॉलिंग TeX-fold-macro(डिफ़ॉल्ट :) C-c C-o C-mजब अंदर \footnote{This is a footnote}से इसे गुना होगा [f]; यह पर्यावरण के साथ क्या होता है के अनुरूप फैशन में विस्तार और अनुबंध करेगा।

आप outline-minor-modeएक ही दस्तावेज़ में एक साथ दोनों और AUCTeX की तह सुविधाओं का उपयोग कर सकते हैं : वे इसके अलग-अलग हिस्सों पर अलग-अलग काम करते हैं।


1
सिर्फ रिकॉर्ड के लिए, नाम "मैक्रो" एक AUCTeX विषमता नहीं है, यह इन "चीजों" के लिए * TeX में नाम है। यह किसी भी मैक्रो-विस्तार वाली भाषा में मैक्रोज़ के समान अवधारणा है, जिसमें एलीस्प मैक्रो भी शामिल है। आपके आखिरी वाक्य के बारे में, मैं यह कहना चाहूंगा कि यह मुख्य रूप से काम करता है क्योंकि वे अलग-अलग कीबाइंडिंग का उपयोग करते हैं। दोनों को एकजुट करने के प्रयास हैं ( github.com/mlf176f2/fold-dwim-org ) लेकिन वे अभी तक पूरी तरह कार्यात्मक नहीं हैं।
टी। वेरॉन

इसके अलावा ध्यान देने योग्य बात यह है कि LaTeX सेक्शन ऑर्ग हेडिंग की तरह हैं, और LaTeX वातावरण ऑर्ग ब्लॉक की तरह हैं। संगठन दोनों के साथ सिलवटों TAB, और यह शायद AUCTeX के लिए काम करने के लिए बनाया जा सकता है। तह मैक्रों के साथ TABमेरी राय में यह कष्टप्रद होगा (यह इनलाइन मार्कडाउन विनिर्देशों के तह के समान होगा ...)।
टी। वेरॉन

और अंतिम बिंदु, outline-minor-modeAUCTeX के साथ आउट-ऑफ-द-बॉक्स काम करना चाहिए: gnu.org/software/auctex/manual/auctex/Outline.html । यही है, जब तक आप LaTeX में नए शीर्षक मैक्रो को परिभाषित करना शुरू नहीं करते ...
टी। वेरॉन

26

आप जो चाहते हैं, उसे तह कहा जाता है, और 2 तरीके हैं जिनसे आप ऐसा कर सकते हैं।

रेखांकित-मामूली-मोड

यह एक बिल्ट-इन माइनर मोड है जो वास्तव में ऑर्ग-मोड का उपयोग करता है जो इसे सुर्खियों में छिपाने और प्रदर्शित करने के लिए उपयोग करता है। आप यह सुनिश्चित कर सकते हैं कि यह हमेशा चालू latex-modeरहे

(add-hook 'LaTeX-mode-hook #'outline-minor-mode)

इसे परिभाषित करने वाली कीबाइंड का उपयोग करना थोड़ा कठिन है, इसलिए आप उनमें से कुछ को बदलना चाह सकते हैं।

C-c @ C-a       show-all
C-c @ C-c       hide-entry
C-c @ C-d       hide-subtree
C-c @ C-e       show-entry
C-c @ TAB       show-children
C-c @ C-k       show-branches
C-c @ C-l       hide-leaves
C-c @ C-o       hide-other
C-c @ C-q       hide-sublevels
C-c @ C-s       show-subtree
C-c @ C-t       hide-body

लेटेक्स-अतिरिक्त

लेटेक्स-एक्स्ट्रा एक मामूली मोड है जो मेलपा और मेलपा-स्थिर पर उपलब्ध है। आप इसे स्थापित कर सकते हैं M-x package-install RET latex-extraऔर इसे चालू कर सकते हैं

(add-hook 'LaTeX-mode-hook #'latex-extra-mode)

यह latex-modeउनमें से एक के लिए उपयुक्तता की एक श्रृंखला जोड़ता है , उनमें से एक खंड तह है। पर्दे के पीछे latex-extraभी उपयोग करता है outline-minor-mode, लेकिन लाभ यह है कि यह ओआर-मोड के व्यवहार को अधिक बारीकी से पहचानता है (यद्यपि पहचान नहीं)।

इसकी रीडमी से :

यदि आप किसी अनुभाग हेडर लेटेक्स-अतिरिक्त पर TAB को हिट करते हैं, तो ओआरजी-मोड कैसे और उपप्रकारों के प्रदर्शन को छिपाता है, आपके लिए उस अनुभाग की सामग्री को छिपा देगा। दो बार टैब मारने से इसका फिर से विस्तार होगा। यह TAB के लिए आपके द्वारा निर्धारित अन्य कीबाइंड्स के साथ हस्तक्षेप नहीं करेगा , जैसे कि yasnippet या ऑटो-समापन।

शिफ्ट-टीएबी पूरे बफर के लिए एक ही करेगा।

बेशक, एक ही अध्याय, उपखंड, आदि के लिए जाता है।

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