From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: org-export-preprocess-hook and the new exporter (was Re: Using Org for a dissertation) Date: Fri, 18 May 2012 12:08:47 +0200 Message-ID: <87k4093iog.fsf@gmail.com> References: <87aa1dz2b5.fsf@berkeley.edu> <12014.1337130931@aristotle> <87likry1lz.fsf_-_@ucl.ac.uk> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([208.118.235.92]:47438) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SVKA5-0003gT-K9 for emacs-orgmode@gnu.org; Fri, 18 May 2012 06:11:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SVKA3-0000gR-Jg for emacs-orgmode@gnu.org; Fri, 18 May 2012 06:11:53 -0400 Received: from mail-wg0-f49.google.com ([74.125.82.49]:51086) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SVKA3-0000g9-AT for emacs-orgmode@gnu.org; Fri, 18 May 2012 06:11:51 -0400 Received: by wgbds1 with SMTP id ds1so1981701wgb.30 for ; Fri, 18 May 2012 03:11:49 -0700 (PDT) In-Reply-To: <87likry1lz.fsf_-_@ucl.ac.uk> (Eric S. Fraga's message of "Thu, 17 May 2012 12:07:12 +0930") 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: Richard Lawrence Cc: emacs-orgmode@gnu.org Hello, Eric S Fraga writes: > This is probably more for Nicolas... and apologies for hijacking the > thread slightly! > > I was intrigued by the comment above regarding the ignoreheading > tag. Sounded just like what I needed. However, it doesn't do anything > with org /out-of-the-box/. A little searching led to Suvayu's posting > in stackoverflow [1] and that does the job nicely, but only for the > standard (read: old) export engine. > > The question is: is there an equivalent hook for the new exporter? For heavy structure modifications (like headlines removal), there is `org-export-before-parsing-hook' and the dynamically bound variable `org-export-current-backend'. Another way to solve the problem could be to implement your own headline parser: #+BEGIN_SRC emacs-lisp (defun my-e-latex-headline (headline contents info) (if (member "ignoreheading" (org-element-property :tags headline)) contents (org-e-latex-headline headline contents info))) #+END_SRC Then you can either install it in the current `e-latex' back-end: #+BEGIN_SRC emacs-lisp (add-to-list 'org-e-latex-translate-table '(headline . my-e-latex-headline)) #+END_SRC Or you can define your own back-end for this purpose: #+BEGIN_SRC emacs-lisp (org-export-define-derived-backend dissertation e-latex :translate-alist ((template . my-e-latex-headline))) (defun org-dissertation-export-to-pdf (&optional subtreep visible-only body-only ext-plist pub-dir) (interactive) (org-e-latex-compile (let ((outfile (org-export-output-file-name ".tex" subtreep pub-dir))) (org-export-to-file 'dissertation outfile subtreep visible-only body-only ext-plist)))) #+END_SRC You need a recent Org version to do this, though. Regards, -- Nicolas Goaziou