Is there an equivalent of Org-mode's b_ignoreheading for non-beamer documents?
emacs, org-mode
Solution
There is no default support for what you are asking. However you can use a preprocess hook to get a similar output. Here is an example for LaTeX export:
;; backend aware export preprocess hook
(defun sa-org-export-preprocess-hook ()
"My backend aware export preprocess hook."
(save-excursion
(when (eq org-export-current-backend 'latex)
;; ignoreheading tag for bibliographies and appendices
(let* ((tag "ignoreheading"))
(org-map-entries (lambda ()
(delete-region (point-at-bol) (point-at-eol)))
(concat ":" tag ":"))))))
(add-hook 'org-export-preprocess-hook 'sa-org-export-preprocess-hook)
This is a snippet from my org-mode setup. You can see the original on github. The above code will ignore headings tagged with `ignoreheading`, e.g.
* Heading 1
* Heading 2 :ignoreheading:
+ Some text
+ an item
gets exported as:
\section{Heading 1}
\label{sec-1}
\begin{itemize}
\item Some text
\item an item
\end{itemize}
Caveat: There is a known issue with this solution. It does not work when you try this on the very first headline. I don't understand why that is the case, hopefully I'll have time someday to investigate.
Workaround to caveat: The above limitation can be circumvented for LaTeX export by using a line like this after the org file header:
\include{preamble.tex}
The `preamble.tex` file can include sections like an abstract or acknowledgements. However you should note this makes your org file very closely tied to the export backend. It would become non-trivial to export the same org file to HTML for example.
Note: For a similar setup with the new export framework (Org 8.0 or higher), use the following:
(defun sa-ignore-headline (contents backend info)
"Ignore headlines with tag `ignoreheading'."
(when (and (org-export-derived-backend-p backend 'latex 'html 'ascii)
(string-match "\\`.*ignoreheading.*\n"
(downcase contents)))
(replace-match "" nil nil contents)))
(add-to-list 'org-export-filter-headline-functions 'sa-ignore-headline)
Problem
When using Org-mode to create beamer presentation it is possible to set the property of a heading such that the exported heading is not shown but only its contents. For instance, the following ``` #+title: Test #+options: toc:nil #+latex_class: beamer #+startup: beamer #+BEAMER_FRAME_LEVEL: 2 * Ignored heading :B_ignoreheading: :PROPERTIES: :BEAMER_env: ignoreheading :END: Text ``` Result in a frame with "Text" only and no heading. Is this kind of functionality available for non-beamer documents? That is, is it possible to tell Org-mode to not export a heading but only its contents? For instance, would it be possible to make Org-mode export the following ``` #+title: Test * Ignored heading Text ``` without exporting the heading "Ignored heading" but only "Text"? If I export ``` #+title: Test * Text ``` (note the space after `*`) to LaTeX I get the following (I only included the relevant part): ``` \section{} Text ``` But this is not what I want. I want the heading to be completely ignored in the export so that I would get the following (again I only include the relevant part): ``` Text ```