Nicolas Goaziou <n.goaz...@gmail.com> writes:

> Hello,
>
> Alan Schmitt <alan.schm...@polytechnique.org> writes:
>
>> I need to ignore a heading during a LaTeX export (I don't want the
>> "section" command to be generated, but I need the text to be included;
>> the heading is there because the previous one is tagged with "export").
>> I found this solution:
>>
>> https://stackoverflow.com/questions/10295177/is-there-an-equivalent-of-org-modes-b-ignoreheading-for-non-beamer-documents
>>
>> Is it still the way to go?
>
> You can use a hook or a filter to remove the headline. I would use
> a hook in this case. See (info "(org) Advanced configuration"), the
> first example, with an appropriate MATCH argument for `org-map-entries'.

Thanks a lot for the suggestion, here is what I ended up doing:

#+begin_src emacs-lisp
  (defun as/delete-ignored-heading (backend)
    "Remove every headline with a tag `ignoreheading' in the
  current buffer. BACKEND is the export back-end being used, as
  a symbol."
    (org-map-entries
     (lambda () 
       (when (member "ignoreheading" (org-get-tags-at nil t))
         (lambda () (delete-region (point) (progn (forward-line) (point))))))))

  (setq org-export-before-parsing-hook '(as/delete-ignored-heading))
#+end_src

It works great.

I have a followup question (purely from an aesthetic point of view, the
code works fine). I see that a label is still generated in the LaTeX
file (there is a "\label{sec-1}" with just the "\maketitle" above it).
Is it expected?

Thanks again,

Alan

Reply via email to