org mode - tutorial - Emacs Org-mode-¿Exportar a otro directorio?
org mode vim (4)
Creo que puedes conseguir eso con org-publish. Agregue a usted el archivo de configuración de Emacs algo así:
(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úe esta expresión (o reinicie emacs), presione Cc Ce X
en modo org, luego elija un proyecto de una lista.
Puede ver más información en http://orgmode.org/worg/org-tutorials/org-publish-html-tutorial.html y http://orgmode.org/manual/Publishing.html#Publishing
Sé que esto es un poco menor, pero me ha estado molestando. Estoy usando el modo Org para un proyecto y tiendo a exportar a PDF o HTML con bastante frecuencia y deja mi directorio lleno de archivos PDF, Tex y HTML. ¿Hay alguna forma de exportar en modo Org a otra ubicación, tal vez un subdirectorio llamado ./exports?
La pregunta original se refiere a la exportación de archivos de organización, mientras que la mayoría de las respuestas anteriores tienen que ver con la publicación , que es un concepto diferente.
Creo que la mejor manera de resolver el problema planteado por el OP es agregar lo siguiente a su archivo de inicialización de 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))))
PD:
Me doy cuenta de que una pregunta de 5 años ya no es relevante para el OP, pero espero que las personas que buscan cosas similares se beneficien de esta respuesta.
Esta es una ligera modificación de un fragmento de código que se encuentra en http://rwx.io/blog/2016/03/11/Org-Export-Configurations/
La solución original encontrada en el blog anterior permite configurar diferentes directorios para cada formato exportado. Sin embargo, si el objetivo es evitar que el directorio esté "lleno de archivos PDF, Tex y HTML", creo que es mejor tener solo un directorio que contenga archivos exportados de todos los formatos, que es la esencia de la modificación que ofrecí anteriormente. .
Edición: el manual de emacs ( https://www.gnu.org/software/emacs/manual/html_node/elisp/Porting-old-advice.html#Porting-old-advice ) indica que el mecanismo de defadvice
quedó obsoleto por Nuevo advice-add
. Así que aquí hay un snipet de código con el mismo efecto, utilizando el advice-add
recomendado: 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)
Como antes, esto debería ser colocado en su archivo .emacs.
Probablemente esto no fue posible cuando se hizo la pregunta por primera vez, pero la solución más sencilla sería agregar el directorio a la propiedad: :EXPORT_FILE_NAME:
:
:PROPERTIES:
:EXPORT_FILE_NAME: exports/<filename>
:END:
Al igual que en la respuesta aceptada, el directorio debe existir para que esto funcione.
Además del uso de la publicación modificando su variable org-publish-project-alist
alist como se sugiere @ user1248256, puede especificar directamente la variable org-export-publishing-directory
dentro de su archivo:
#+bind: org-export-publishing-directory "./exports"
* This is a test headline
Some text here. This should be exported to the "./exports" directory.
Tras la exportación, se colocará en el directorio "exportaciones", pero solo si ese directorio existe. Si no existe, aparecerá un mensaje de error en la consola.