2012-03-04 15 views
19

मुझे पता है कि यह मामूली है, लेकिन यह मुझे परेशान कर रहा है। मैं एक परियोजना के लिए संगठन मोड का उपयोग कर रहा हूं और मैं अक्सर पीडीएफ या एचटीएमएल को निर्यात करता हूं और यह मेरी निर्देशिका को पीडीएफ, टेक्स और एचटीएमएल फाइलों से अलग करता है। क्या ऑर्ग-मोड निर्यात को किसी अन्य स्थान पर रखने का कोई तरीका है, शायद एक उपनिर्देशिका जिसे ./exports कहा जाता है?Emacs संगठन मोड - किसी अन्य निर्देशिका में निर्यात करें?

+0

एक सबफ़ोल्डर को निर्यात करने वाले स्वच्छ समाधान के लिए http://emacs.stackexchange.com/a/7989/8541 देखें। – Mark

उत्तर

17

प्रकाशन के उपयोग के अलावा में और अधिक जानकारी देख सकते हैं @ user1248256 सुझाव के रूप में अपने org-publish-project-alist चर संशोधित करके, आप सीधे अपने फ़ाइल के भीतर org-export-publishing-directory चर निर्दिष्ट कर सकते हैं:

#+bind: org-export-publishing-directory "./exports" 

* This is a test headline 
Some text here. This should be exported to the "./exports" directory. 

निर्यात पर इसे "निर्यात" निर्देशिका में रखा जाएगा, लेकिन केवल तभी वह निर्देशिका मौजूद है। यदि यह अस्तित्व में नहीं है, तो आपको कंसोल में एक त्रुटि संदेश मिलेगा।

+3

धन्यवाद। यह मेरे सवाल का जवाब देता है, मुझे लगता है। हालांकि एक अजीब चीज है। अगर मैं एचटीएमएल या एएससीआईआईआई में निर्यात करता हूं, तो फ़ाइल ./exports पर जाती है, लेकिन अगर मैं टेक्स (या पीडीएफ) में निर्यात करता हूं तो यह वर्तमान डीआईआर में रहता है। शायद यह मेरी विन्यास में कुछ है? – tmilktoast

+1

असल में, मैंने आज देखा कि यह प्रश्न [ओआरजी-मोड मेलिंग सूची] पर था (http://lists.gnu.org/archive/html/emacs-orgmode/2012-03/msg00264.html) - जब तक कि क्या आप पोस्ट किया गया था? – cm2

+0

नहीं, मैं नहीं था। मैं उस धागे पर नजर रखूंगा। – tmilktoast

3

मेरा मानना ​​है कि आप इसे ऑर्ग-प्रकाशन के साथ प्राप्त कर सकते हैं। ऑर्ग मोड पर

(setq org-publish-project-alist 
    '(("html" 
    :base-directory "~/org/" 
    :base-extension "org" 
    :publishing-directory "~/org/exports" 
    :publishing-function org-publish-org-to-html) 
    ("pdf" 
    :base-directory "~/org/" 
    :base-extension "org" 
    :publishing-directory "~/org/exports" 
    :publishing-function org-publish-org-to-pdf) 
    ("all" :components ("html" "pdf")))) 

Eval इस अभिव्यक्ति (या Emacs पुनः आरंभ), प्रेस C-c C-e X, तो सूची में से एक परियोजना का चयन: ऐसा Emacs विन्यास फाइल कुछ आप में जोड़े।

आप http://orgmode.org/worg/org-tutorials/org-publish-html-tutorial.html और http://orgmode.org/manual/Publishing.html#Publishing

+0

आप गुणों का उपयोग करके किसी ऑर्ग-मोड फ़ाइल के हिस्सों को निर्यात करने के लिए इस प्रकार के सेटअप का भी उपयोग कर सकते हैं: http://orgmode.org/worg/org-tutorials/org-latex-export.html#sec-9 – cm2

+0

धन्यवाद। मैं अंततः यह कोशिश करने जा रहा हूँ। मैंने ओजी-प्रकाशन का उपयोग करने की कोशिश करने के बारे में सोचा था, लेकिन यह सुनिश्चित नहीं था कि यह ठीक है या नहीं। मैं अभी भी सीख रहा हूँ। – tmilktoast

2

यह शायद संभव नहीं था जब सवाल पहले कहा गया था, लेकिन सरल समाधान :EXPORT_FILE_NAME: संपत्ति के लिए निर्देशिका जोड़ने के लिए होगा:

:PROPERTIES: 
:EXPORT_FILE_NAME: exports/<filename> 
:END: 
बस के रूप में स्वीकार किए जाते हैं जवाब में

, निर्देशिका मौजूद होनी चाहिए इसके लिए काम करने के लिए।

+0

क्या आपने यह कोशिश की है? यह मेरे लिए सही नहीं रहा। मैं एक स्तर पर एक विशिष्ट निर्देशिका में पीडीएफ निर्यात करने की कोशिश कर रहा हूँ। मैंने और पढ़ा था कि यह केवल उपट्री निर्यात के लिए है, न कि पूरी फाइल। क्या ये अब भी एक मामला है? – Jesse

1

मूल प्रश्न ऑर्ग-फ़ाइलों के निर्यात करने के लिए भेजा है, जबकि वास्तव में इसके बाद के संस्करण सबसे जवाब प्रकाशित करने है, जो एक अलग अवधारणा है के साथ क्या करना है।

मेरा मानना ​​है कि समस्या ओपी से उत्पन्न हल करने के लिए सबसे अच्छा तरीका है अपने Emacs आरंभीकरण फ़ाइल में निम्नलिखित जोड़ना है (.emacs):

(defadvice org-export-output-file-name (before org-add-export-dir activate) 
    "Modifies org-export to place exported files in a different directory" 
    (when (not pub-dir) 
     (setq pub-dir "exported-org-files") 
     (when (not (file-directory-p pub-dir)) 
     (make-directory pub-dir)))) 

पुनश्च:

  1. मुझे पता है एक 5 साल पुराना सवाल अब ओपी के लिए प्रासंगिक नहीं हो सकता है, लेकिन उम्मीद है कि इसी तरह की चीजों की खोज करने वाले लोग इस जवाब से लाभान्वित होंगे।

  2. यह एक कोड स्निपेट के एक मामूली संशोधन http://rwx.io/blog/2016/03/11/Org-Export-Configurations/

  3. मूल समाधान ऊपर ब्लॉग में पाया में पाया प्रत्येक निर्यात प्रारूप के लिए अलग निर्देशिका स्थापित करने के लिए अनुमति देता है है। हालांकि, यदि लक्ष्य किसी की निर्देशिका "पीडीएफ, टेक्स और एचटीएमएल फाइलों से भरे" से बचने के लिए है, तो मुझे लगता है कि सभी प्रारूपों की निर्यात की गई फाइलों वाली केवल एक निर्देशिका है, जो कि मैंने संशोधित संशोधन का सार है ऊपर।


संपादित करें: Emacs पुस्तिका (https://www.gnu.org/software/emacs/manual/html_node/elisp/Porting-old-advice.html#Porting-old-advice) कहा गया है कि defadvice तंत्र नई advice-add द्वारा अप्रचलित बनाया गया था।तो यहाँ, एक ही प्रभाव के साथ एक कोड snipet है की सिफारिश की advice-add का उपयोग कर:

(defun org-export-output-file-name-modified (orig-fun extension &optional subtreep pub-dir) 
    (unless pub-dir 
    (setq pub-dir "exported-org-files") 
    (unless (file-directory-p pub-dir) 
     (make-directory pub-dir))) 
    (apply orig-fun extension subtreep pub-dir nil)) 
(advice-add 'org-export-output-file-name :around #'org-export-output-file-name-modified) 
जैसा कि पहले

, यह आपके .emacs फाइल में रखा जाना चाहिए।

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