Первоначальный вопрос касался экспорта org-файлов, в то время как большинство приведенных выше ответов на самом деле связано с публикацией , что является другой концепцией.
IПолагаю, что лучший способ решить проблему, поставленную OP, - добавить в файл инициализации 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))))
PS:
Я понимаю, что пятилетний вопрос может больше не относиться к ФП, но, надеюсь, люди, ищущие похожие вещи, получат пользу от этого ответа.
Это небольшая модификация фрагмента коданайдено в http://rwx.io/blog/2016/03/11/Org-Export-Configurations/
Исходное решение, найденное в приведенном выше блоге, позволяет настраивать различные каталоги для каждого экспортируемого формата.Однако, если цель состоит в том, чтобы избежать того, чтобы каталог был «завален файлами PDF, Tex и HTML», я думаю, что лучше всего иметь только один каталог, содержащий экспортированные файлы всех форматов, что является сущностью модификации, предложенной мной выше..
Редактировать: Руководство emacs (https://www.gnu.org/software/emacs/manual/html_node/elisp/Porting-old-advice.html#Porting-old-advice) гласит, что механизм defadvice
устарел из-за нового advice-add
. Итак, вот кодсниппет с тем же эффектом, используя рекомендованный 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.