Loris Bennett <loris.benn...@fu-berlin.de> writes: > Hi Eric, > > Eric Abrahamsen <e...@ericabrahamsen.net> writes: > >> "Loris Bennett" <loris.benn...@fu-berlin.de> writes: >> >>> Hi, >>> >>> I want to export an org file to a pdf and have the pdf created in >>> subdirectory relative to the org file. >>> >>> What's the simplest way to set the export directory in a file local way? >> >> I suggested the attached diff a while ago, but no one seemed very >> interested. I think it might already do what you want. >> >> >> diff --git a/lisp/ox.el b/lisp/ox.el >> index 9cf62078a..77cafb20d 100644 >> --- a/lisp/ox.el >> +++ b/lisp/ox.el >> @@ -6417,6 +6417,20 @@ Return file name as a string." >> "Output file: " pub-dir nil nil nil >> (lambda (n) (string= extension (file-name-extension n t)))))) >> extension)) >> + (pub-dir (or pub-dir >> + (and subtreep (org-entry-get >> + nil "EXPORT_PUB_DIR" 'selective)) >> + (org-with-point-at (point-min) >> + (catch :found >> + (let ((case-fold-search t)) >> + (while (re-search-forward >> + "^[ \t]*#\\+EXPORT_PUB_DIR:[ \t]+\\S-" >> + nil t) >> + (let ((element (org-element-at-point))) >> + (when (eq 'keyword (org-element-type element)) >> + (throw :found >> + (org-element-property >> + :value element)))))))))) >> (output-file >> ;; Build file name. Enforce EXTENSION over whatever user >> ;; may have come up with. PUB-DIR, if defined, always has >> > > Thanks for the patch - it is exactly what I needed. > > I'm surprised no-one was interested, although I suppose back then I was > probably also one of the uninterested :-)
Oh I'm not blaming anyone! There are a lot of patches coming down here, and a lot of ideas for Org, and it's hard to keep up. I don't think I did a very good job of stating my case, either. I actually hadn't thought of how the latex process might go haywire with an absolute export file name. My motivation was simply that "next to my *.org" files is pretty much never where I want exported files to end up. I want to send them to ~/tmp, or to a directory that's shared with colleagues via syncthing. In fact what I really want is to export to the value of ATTACH_DIR, because then I can immediately use all the attach tools on the exported files. Latex compilation is a nice additional argument, though! Eric