emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <carsten.dominik@gmail.com>
To: Karl Maihofer <ignoramus@gmx.de>, Sebastian Rose <sebastian_rose@gmx.de>
Cc: Org Mode List <emacs-orgmode@gnu.org>
Subject: Re: How to define TODOs within continuous text the best way?
Date: Mon, 30 Mar 2009 13:47:09 +0200	[thread overview]
Message-ID: <51053970-C604-4B96-B3D5-B9F79BD0472C@gmail.com> (raw)
In-Reply-To: <49CE32EC.5060508@gmx.de>


On Mar 28, 2009, at 3:23 PM, Karl Maihofer wrote:
>
> I'd like to define a TODO like in the example below. When there is a
> task somewhere in my text (I want to look something up etc.) I want to
> define this task at the relevant position in my text. So I can lookup
> all TODOs using the agenda-view and jump directly to the position in  
> my
> text.
>
> The problem is that a TODO is always a new heading and so it is  
> exported
> in my html(latex)-version as a heading.


Sometimes, miracles do happen.

The question about non-outline tasks is, really, a FAQ.  We have
been over this question again and again, though not recently.
Each time this question came up I thought it over again, each
time with the same result: that this is not possible in a
reasonable clean way in the framework of Org's hierarchical
document structure.

The ideas that were contemplated usually were things like adding
a new syntax which is "only" for task management treated as a
headline, but not otherwise.  I remember proposals like

#*** TODO my task

or finding a way to add metadata it plain list items, or many
other similar ideas.

The trouble is, task management is much of Org, so new syntax
would be a lot of work.  It would destroy he cleanness of much of
Org.  So always the answer was it cannot be done.

That is not to say that I do not appreciate the wish for such a
structure.  In an outline/list driven setting, one can always
re-arrange things to make tasks a separate section.  However,
when writing a book or extensive notes, the text becomes dominant
over the density of outline nodes, and then getting a task into
the right place becomes an issue.

This new thread, first greeted with a sigh on my side,
somehow has changed the perception by focussing on *export*
handling of nodes.

And it is now clear to me that, in fact, there is a reasonable
clean pass to "inline" tasks:

                   Fool the user, not Org!

We will make them just normal outline nodes with stars,
metadata and all the rest.  Full citizens.  But then we treat
them specially in just two situations:

1. For visibility cycling: We disqualify these tasks from being
    recognized during visibility cycling.  Simply by setting a
    limit for the outline depth to be seen by cycling, treating
    any deeper levels as normal text.  So if the parent opens, all
    these "disqualified" nodes are treated as text and open as
    well.

2. During export: We treat the node and its meta data as special
    and export it as some inline construct, and we do this in the
    export *preprocessor* already, so that the backends never know
    there was an outline node at all.  This fixes any issues with
    section numbering, text and list continuation etc.

3. As icing on the cake we introduce special fontification which
    make inline tasks look deeply indented.

I have put these features into a new add-on, org-inlinetask.el.
Just (require 'org-inlinetask) should turn it on for you, and
any headline with a level 15 or deeper (30 if you use odd levels
only) will then be subject to the special treatment.

I just pushed this file into the git repository.  Read the file
commentary for explanations and try it out - I think the
mechanism work surprisingly well.

I simply cannot believe that after all those years, we might be
able to close this task.

- Carsten


> I would prefer to format a TODO
> as a text box or at least to exclude it from the html(latex)-export so
> that it is only visible in org-mode - not in the exported version. But
> when I exclude the TODO so that it isn't exported anymore, not only  
> the
> TODO itself but also the text below the TODO isn't exported until  
> there
> is a new heading - because the TODO itself is a heading, too.
>
> I know that this is because Org-Mode is an outliner-mode, TODOs always
> have to be defined with a beginning "*". But is there any  
> possibility to
> solve the problem? How do you define TODOs within the text when you  
> use
> Org-Mode as an authoring tool?
>
> Perhaps it is possible to define TODOs as a very deep-level heading,
> that isn't needed, like "********** TODO text" and change the export
> function that this level isn't exported as a heading but as a
> "div"-Container? Or every heading that contains "TODO" is not exported
> as a heading but as a div-container?
>
> What is the best way to handle TODOs within continuous text?
>
> Kind regards,
> Karl
>
> -----------------------------------------------------------------------
> * Heading 1
>
> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam  
> nonumy
> eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed  
> diam
> voluptua. At vero eos et accusam et justo duo dolores et ea rebum.  
> Stet
> clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor  
> sit
> amet.
>
> * TODO Check again (or ********** TODO text?)
>
> This paragraph still belongs to heading 1. Lorem ipsum dolor sit amet,
> consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut
> labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos  
> et
> accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,  
> no
> sea takimata sanctus est Lorem ipsum dolor sit amet.
>
> * Heading 2
>
> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam  
> nonumy
> eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed  
> diam
> voluptua. At vero eos et accusam et justo duo dolores et ea rebum.  
> Stet
> clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor  
> sit
> amet.
>
> -----------------------------------------------------------------------
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

  parent reply	other threads:[~2009-03-30 11:47 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-28 14:23 How to define TODOs within continuous text the best way? Karl Maihofer
2009-03-28 17:16 ` Sebastian Rose
2009-03-28 18:26   ` Karl Maihofer
2009-03-28 19:16     ` Karl Maihofer
2009-03-29  1:06     ` Sebastian Rose
2009-03-28 17:42 ` Sebastian Rose
2009-03-30 11:47 ` Carsten Dominik [this message]
2009-03-30 20:18   ` Bernt Hansen
2009-03-30 20:53     ` Carsten Dominik
2009-03-30 21:20       ` Bernt Hansen
2009-03-31 15:23   ` Karl Maihofer
2009-03-31 18:14     ` Carsten Dominik
2009-03-31 19:53   ` Daniel Clemente
2009-04-01 10:05     ` Carsten Dominik

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=51053970-C604-4B96-B3D5-B9F79BD0472C@gmail.com \
    --to=carsten.dominik@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=ignoramus@gmx.de \
    --cc=sebastian_rose@gmx.de \
    /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).