Hello, Alex Fenton <a...@pressure.to> writes:
> As far I understand it, |:output-dir| and |:file-ext| that were > intended to be used in the global document header, applying to all > blocks. > > However, it seems to mean that all blocks regardless of their :results > args then emit a file, and put their output as a [file:] link. It's > not clear from the docs why this happens. > > Am I missing something, or does this mean that these arguments are > useless unless a document happens only to emit graphics from blocks? > At the moment, the blocks (R, as it happens) are meant to sometimes > emit scalars, sometimes literal latex, sometimes tables to be > formatted by orgs, and sometimes graphics. But all the non-graphics > are at the moment being stuffed into (non-working) PDF files. > > Following a discussion and suggested, but not-working solution at: > https://emacs.stackexchange.com/questions/41618/org-modes-output-dir-and-file-ext-arguments-cause-all-output-to-be-saved-to I agree something is cheesy here. According to `org-babel-execute-src-block', if :file is set (it can also be forged from :file-ext and :output-dir according to `org-babel-generate-file-param'), results become the filename. Also, according to `org-babel-merge-params' both :file and :file-ext trump :results value, i.e., they automatically imply "file" in :results. and "results" in :exports. At this point, I'm not sure about :export, but I think it should be the other way for :results. IOW, :file and :file-ext should be taken into consideration only when :results contains "file". WDYT? Regards, -- Nicolas Goaziou