मेरी org फ़ाइलों के शीर्ष पर LATEX_HEADER अव्यवस्था को कम करना


13

मैं अक्सर ओआरजी मोड में नोट्स लिखता हूं और उन्हें लेटेक्स को निर्यात करता हूं। हालाँकि, क्योंकि कुछ दस्तावेज जटिल हैं, मुझे शीर्ष पर कई लेटेक्स पैकेज शामिल करने की आवश्यकता है जैसे:

#+LATEX_HEADER: \usepackage[margin=1.15in]{geometry}
#+LATEX_HEADER: \usepackage{parskip}
#+LATEX_HEADER_EXTRA: \usepackage{graphicx}
#+LATEX_HEADER_EXTRA: \usepackage{mdframed}
#+LATEX_HEADER_EXTRA: \usepackage{needspace}
#+LATEX_HEADER_EXTRA: \usepackage{hyperref}         
#+LATEX_HEADER_EXTRA: \usepackage{titling}
#+LATEX_HEADER_EXTRA: \usepackage{enumitem}
#+LATEX_HEADER_EXTRA: \usepackage{etoolbox}                             
#+LATEX_HEADER_EXTRA: \usepackage{color}                             
#+LATEX_HEADER_EXTRA: \usepackage{underscore}...

क्या सभी लेटेक्स हेडर कमांड (\ usepackage, macros परिभाषाओं आदि) को एक अलग टेक्स फाइल में स्टोर करना संभव है ताकि मैं ऑर्ग फाइल के शीर्ष पर एक सिंगल लाइन शामिल कर सकूं? इससे बहुत सी अव्यवस्था कम हो जाएगी और पैकेज जोड़ना मेरे लिए आसान हो जाएगा।

जवाबों:


14

आप एक का उपयोग कर सकते हैं #+SETUPFILE:

इन सभी सेटिंग्स को एक फ़ाइल में रखें, उदाहरण के लिए ./setup/setupfile.org, और फिर उन्हें अपने दस्तावेज़ में शामिल करें

#+SETUPFILE: ./setup/setupfile.org

इस फाइल में, आप भी शामिल हो सकते हैं #+OPTIONS:, #+AUTHOR, और इसी तरह की सेटिंग में-बफ़र। इससे भी अधिक उपयोगी, यह है कि यदि आप #+SETUPFILE:पहले लोड करते हैं , तो आप स्थानीय सेटिंग्स के साथ इनमें से कुछ कॉन्फ़िगरेशन को ओवरराइड कर सकते हैं।

निर्यात पर org मैनुअल भी देखें ।

एक अन्य उपाय है कि #+INCLUDE: "./setup/more-settings.org" src org(नोट ") का उपयोग किया जाए, जिसमें फ़ाइल सामग्री को ऑर्गन स्रोत के रूप में शामिल किया जाए। यह थोड़ा अधिक बहुमुखी है, क्योंकि वहाँ एक से अधिक #+INCLUDEजहाँ (afaik) केवल एक ही हो सकता है #+SETUPFILE

अंत में, नेत्रहीन रूप से अव्यवस्था को छिपाने के लिए, आप इन सभी स्थानीय सेटिंग्स को एक दराज (यानी, एक पंक्ति के साथ :DRAWER:और एक रेखा के बीच :END:) में रख सकते हैं , और बस उन्हें छिपा सकते हैं tab


3
मेरे व्यावहारिक अनुभव में ड्रॉअर समाधान हेडर के साथ काम करने का सबसे सुविधाजनक और सबसे तेज़ तरीका है।
डाइटर। विल्हेम

4

एक वैकल्पिक समाधान चर को जांचना / अनुकूलित करना है org-latex-packages-alist- अपनी सभी आवश्यक चीजों को उसमें जोड़ें \usepackage{...}

इस चर को घोषित किया जाता है और इसके द्वारा उपयोग किया जाता है ox-latex, इसलिए आपके मूल विन्यास में एक घोषणा होनी चाहिए (require 'os-latex)। इस तरह ओआरजी दस्तावेजों को जोड़ने के लिए कोई रेखा नहीं है, शीर्षक को छोड़कर।

मैक्रोज़ के रूप में, स्टोर करने के लिए एक सामान्य स्थान यस्नीपेट पैकेज है, यदि आप इसका उपयोग करते हैं।


3

एक वैकल्पिक समाधान कॉन्फ़िगरेशन को लपेटने के लिए एक गैर-निर्यातित हेडलाइन का उपयोग करना है:

* Configuration :ignoreheading:
#+AUTHOR:   
#+STARTUP: showall
...

इस समाधान बनाम दराज का लाभ यह है कि आप आसानी से परिष्कृत कॉन्फ़िगरेशन को शामिल कर सकते हैं, जैसे कि एलईटीएक्स ब्लॉक

#+BEGIN_EXPORT LATEX
...
#+END_EXPORT

जो कि दराज में होने पर (डिफ़ॉल्ट रूप से) नहीं पढ़े जाते हैं।

इस समाधान बनाम कॉन्फ़िगरेशन फ़ाइलों (setupfile या शामिल) का लाभ यह है कि आप आसानी से कॉन्फ़िगरेशन बदल सकते हैं क्योंकि यह वर्तमान फ़ाइल में शामिल है।

अंत में, यदि आप चाहते हैं कि यह हेडलाइन आपको ओआरजी फ़ाइल खोलते समय डिफ़ॉल्ट रूप से बंद रहे, तो आप निम्न सिंटैक्स का उपयोग कर सकते हैं:

* Configuration :ignoreheading:
  :PROPERTIES:
  :VISIBILITY: folded
  :END:

मेरे पास देने के लिए एक अपवोट है - लेकिन यह सिर्फ मेरा नया डिफ़ॉल्ट बन गया है! इन सभी उत्तरों को लेटेक्स निर्यात के लिए सर्वोत्तम अभ्यास के रूप में सुझाए गए ओआरजी-मैनुअल में जाना चाहिए, क्योंकि दस्तावेज़-केंद्रित सेटअप बनाम अधिकांश सेटअप को emacs config में डालते हैं।
glallen

1

#+SETUPFILE:स्वीकार किए गए उत्तर के अनुसार उपयोग करने के बजाय , यदि आप सिर्फ लाटेक उत्पादन में रुचि रखते हैं, तो आप इसके बजाय निम्नलिखित जोड़ सकते हैं:

#+LATEX_HEADER: \input{header.tex}

में header.tex(या जो भी आप इसे कॉल करना चाहते हैं), आप उसके बाद अपने सभी लाटेक्स प्रस्तावनाओं की एक पूरी गुच्छा की आवश्यकता के बिना डाल सकते हैं #+LATEX_HEADER:। सुपर मेटा होने के लिए, आपके पास यह #+LATEX_HEADERविकल्प भी हो सकता है #+SETUPFILE


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