emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Kaushal Modi <kaushal.modi@gmail.com>
To: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Cc: Carsten Dominik <dominik@uva.nl>, emacs-org list <emacs-orgmode@gnu.org>
Subject: Re: Add ability to force-enable TOC
Date: Tue, 19 Sep 2017 20:12:41 +0000	[thread overview]
Message-ID: <CAFyQvY2k89UNqiK10uVWRdBgrz9fNYa=hkoBQmv2_R4=wa5Gtg@mail.gmail.com> (raw)
In-Reply-To: <87h8vya2c3.fsf@nicolasgoaziou.fr>

[-- Attachment #1: Type: text/plain, Size: 2279 bytes --]

On Tue, Sep 19, 2017 at 3:57 PM Nicolas Goaziou <mail@nicolasgoaziou.fr>
wrote:

> What is exactly the feature you are missing? Your example is a special
> case where _no_ heading is numbered.


I would not consider this as a special case. It is very common for HTML
exports to not always number the headings.

Blog posts are also very common examples.. we do not have blog posts with
numbered h1/h2 headings. But for long blog posts, it often a norm to
include a TOC. Example:
https://scripter.co/notes/string-functions-nim-vs-python/

I also use the ascii exporter to export notes taken during meetings. I do
not number them, and with a long notes, TOC is helpful.

Numbered headings is more common in texinfo and latex, I believe.


> But we also had to deal with
> situations where only _some_ headings were numbered.
>
> In any case, this change solves two problems:
>
> 1. it makes all export back-ends consistent with TOC;
>

 I understand that. But would like a way to get back the earlier behavior
too.

2. it allows to use, e.g., @heading instead of @unnumberedsec in Texinfo
>    export. Thus, we don't need to provide a way to determine which one
>    should be used.
>
> I admit the second point is probably only convenient for the lazy me:
> I don't have to find a proper way to support @heading commands in
> Texinfo export anymore.
>

How about this updated patch?

diff --git a/lisp/ox.el b/lisp/ox.el
index 2be77a87b33..7b6170cb832 100644
--- a/lisp/ox.el
+++ b/lisp/ox.el
@@ -5227,7 +5227,8 @@ Footnote sections and unnumbered headlines are
ignored."
     (org-element-map (org-element-contents scope) 'headline
       (lambda (headline)
  (unless (or (org-element-property :footnote-section-p headline)
-    (not (org-export-numbered-headline-p headline info)))
+    (and (not (numberp (plist-get info :with-toc)))
+ (not (org-export-numbered-headline-p headline info))))
   (let ((level (org-export-get-relative-level headline info)))
     (and (<= level n) headline))))
       info)))


That way if the file has:

#+OPTIONS: num:nil

No TOC will be exported (even though the org-export-with-toc default is t).

But if the file has:

#+OPTIONS: num:nil toc:4

As the toc value is a number, the TOC will be exported even though num is
nil.

-- 

Kaushal Modi

[-- Attachment #2: Type: text/html, Size: 3747 bytes --]

  reply	other threads:[~2017-09-19 20:12 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-19 14:49 Add ability to force-enable TOC Kaushal Modi
2017-09-19 15:00 ` Kaushal Modi
2017-09-19 15:33 ` Carsten Dominik
2017-09-19 19:27   ` Nicolas Goaziou
2017-09-19 19:31     ` Kaushal Modi
2017-09-19 19:57       ` Nicolas Goaziou
2017-09-19 20:12         ` Kaushal Modi [this message]
2017-09-20 10:25           ` Nicolas Goaziou
2017-09-20 10:40             ` Kaushal Modi
2017-09-22 13:32               ` Matt Lundin
2017-09-20  8:53       ` Rasmus
2017-09-20 14:15         ` Rasmus
2017-09-20  8:14     ` Carsten Dominik
2017-09-20  8:54       ` Rasmus
2017-09-20 10:04       ` Kaushal Modi

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='CAFyQvY2k89UNqiK10uVWRdBgrz9fNYa=hkoBQmv2_R4=wa5Gtg@mail.gmail.com' \
    --to=kaushal.modi@gmail.com \
    --cc=dominik@uva.nl \
    --cc=emacs-orgmode@gnu.org \
    --cc=mail@nicolasgoaziou.fr \
    /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).