emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: azw@eml.cc (Albert Z. Wang)
To: emacs-orgmode@gnu.org
Subject: Re: [PATCH] Export: Override headline numbering via properties
Date: Thu, 16 May 2013 23:19:49 -0400	[thread overview]
Message-ID: <87wqqywawa.fsf@gmail.com> (raw)
In-Reply-To: CAMsBe8px7s5rqoUQMnkLQYqOo7eB0DQGaPw705GJQBvLzyAQ-Q@mail.gmail.com

Mark Edgington <edgimar@gmail.com> 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	other threads:[~2013-05-17  3:40 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-13  3:07 [PATCH] Export: Override headline numbering via properties Mark Edgington
2013-05-13  6:18 ` Nicolas Goaziou
2013-05-13  9:42   ` Mark Edgington
2013-05-13 10:54     ` Nicolas Goaziou
2013-05-14  4:39       ` Mark Edgington
2013-05-17  3:19         ` Albert Z. Wang [this message]
2013-05-23 19:03           ` Nicolas Goaziou
2013-05-13 10:11   ` Mark Edgington
     [not found] ` <CAJcAo8u+pAqwuPtRDpDaLc7QE_1BvR7MXchgZRQDLRAv_iQ2Wg@mail.gmail.com>
2013-05-13 10:08   ` Mark Edgington

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wqqywawa.fsf@gmail.com \
    --to=azw@eml.cc \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).