emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] [PATCH] Export: Override headline numbering via properties


From: Albert Z. Wang
Subject: Re: [O] [PATCH] Export: Override headline numbering via properties
Date: Thu, 16 May 2013 23:19:49 -0400
User-agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.3 (gnu/linux)

Mark Edgington <address@hidden> writes:

>> Anyway, your patch will not work on back-ends that rely on Org to
>> compute section numbers (e.g., ascii, html...) because even if you
>> ignore numbering for a particular headline, it still adds up
>> internally.  IOW, you also need to patch
>> `org-export--collect-headline-numbering'.
>>
>> But that's not quite it, yet. Some back-ends (e.g., html) use that
>> internal number as a unique identifier for the headline. Actually,
>> the "artificial restriction" you are talking about is a way to
>> allow every headline to be numbered in a unique way, even if that
>> number doesn't appear in the output.
>
> I can see what you mean here -- but it doesn't exactly "break"
> anything -- it just makes the section-numbering within html, etc.
> documents to be non-consecutive *if these properties are used*.  If
> the main intent is to use these properties in conjunction with the
> LaTeX exporter, then this isn't a big problem (i.e. those who want
> to use them will just need to understand that they currently only
> work "correctly" with LaTeX, but that this will be fixed in the
> future).
>
>> Since I wouldn't use this, I can hardly judge, but I would
>> appreciate some feedback from other users before we go too far in
>> the implementation.
>
> Agreed, but my (obviously biased) opinion is that it makes manual
> numbering-control more "natural" within org-mode, and something
> which doesn't require as much hacking with embedded LaTeX (or HTML,
> etc.)  code.

An alternative would be to stick this into ox-latex.el, which then
wouldn't interfere with other backends.

I also think this functionality is good to have, since longer latex
documents often have unnumbered sections (and there seem to be
periodic questions on various boards on how to achieve this).  While
one can mess around with the latex code, it's often a hassle when the
"master" document is in org and you need to recompile often.

For a recent project I needed a super-simple way to turn off numbering
(for intro and references), so based on the above I made the following
tiny modification to ox-latex.el, which looks up the "LATEX_NUMBERED"
property to decide whether to insert a numbered or unnumbered heading.
Since I didn't need it, inheritance isn't in here, but it should be
simple enough to add.

Since this wouldn't interfere with any other backends, perhaps there
will be fewer reservations about merging something like this into the
repo?

--
diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index 41cf1d0..33a39c7 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -1369,7 +1369,11 @@ holding contextual information."
   (unless (org-element-property :footnote-section-p headline)
     (let* ((class (plist-get info :latex-class))
           (level (org-export-get-relative-level headline info))
-          (numberedp (org-export-numbered-headline-p headline info))
+          (latex-numbered (org-export-get-node-property :LATEX_NUMBERED 
headline))
+          (numberedp
+           (cond ((equal latex-numbered "n") nil)
+                 ((equal latex-numbered "y") t)
+                 (t (org-export-numbered-headline-p headline info))))
           (class-sectionning (assoc class org-latex-classes))
           ;; Section formatting will set two placeholders: one for
           ;; the title and the other for the contents.
--




reply via email to

[Prev in Thread] Current Thread [Next in Thread]