From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Leha Subject: Re: new exporter, conditional options according to backend Date: Thu, 24 Jan 2013 21:32:52 +0100 Message-ID: <87pq0uqq2z.fsf@med.uni-goettingen.de> References: <87hame8pdk.fsf@david.espiga4.com.ar> <87sj5w23ia.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:34999) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TyTTw-0004Do-3L for emacs-orgmode@gnu.org; Thu, 24 Jan 2013 15:33:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TyTTs-0006d0-C9 for emacs-orgmode@gnu.org; Thu, 24 Jan 2013 15:33:08 -0500 Received: from plane.gmane.org ([80.91.229.3]:52036) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TyTTs-0006cc-6c for emacs-orgmode@gnu.org; Thu, 24 Jan 2013 15:33:04 -0500 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1TyTU8-0006HB-2W for emacs-orgmode@gnu.org; Thu, 24 Jan 2013 21:33:20 +0100 Received: from vpn-2035.gwdg.de ([134.76.2.35]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 24 Jan 2013 21:33:20 +0100 Received: from andreas.leha by vpn-2035.gwdg.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 24 Jan 2013 21:33:20 +0100 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Hi Nicolas, Nicolas Goaziou writes: > Hello, > > Ezequiel Birman writes: > >> Is it possible to write something like this with the new exporter? >> >> #+OPTIONS: (if (and (boundp 'org-export-current-backend) (eq org-export-current-backend 'e-beamer)) "H:1" "H:3") > > There is no `org-export-current-backend' in the new exporter. Besides, > what you want is the default behaviour (see `org-e-beamer-frame-level' > variable). > >> From what I read in org-export.el the backend is stored in a plist, not >> sure how to get it's value when exporting. >> >> Or, maybe I need to write a filter function to be run from >> org-export-before-process-hook? > > Filters are different from hook. A function in a hook operates on an Org > buffer. A filter function operates either on a string in output syntax > or on the parse tree. > > If, for some reason, you want to modify export options "on the fly", you > could create a filter function for parse tree, and modify options plist > from it: > > #+begin_src emacs-lisp > (defun my-options-change-fun (tree backend info) > (when (org-export-derived-backend-p backend 'e-beamer) > (plist-put info :with-author nil)) > ;; Don't forget to return tree. > tree) > > (add-to-list 'org-export-filter-parse-tree-functions > 'my-options-change-fun) > #+end_src > > > Regards, Sorry for hijacking this thread. But I am also interested in backend specific options. Could you give an example of how to achieve something like this with the new exporter: #+begin_src R :results graphics :file (if (and (boundp 'org-export-current-backend) (eq org-export-current-backend 'e-latex)) "foo.pdf" "foo.png") plot(1:10) #+end_src Thanks in advance, Andreas