2019-04-29 Multiple timestamps in one Org headline

Some time ago I learned that you can put multiple timestamps under one Org-mode headline, and that it is then displayed in multiple places in the agenda. This can actually be quite useful for things happening more than one time, but when repeating timestamps somehow don’t fit (for instance, things happen irregularly or a finite number of times). For instance, given such a headline:

* header
<2019-01-12 sob>
<2019-01-14 pon>
<2019-01-16 śro>

we will see “header” three times in the agenda, under the respective days. (Notice that due to l10n, I have Polish abbreviations for the weekday names – that doesn’t matter to Org-mode at all.)

Consider, however, the following use-case. I have an important thing set up in the future, say on 2019-04-30, and I want to be reminded about it a week earlier and then a day earlier. Having this:

* <2019-04-30 wto> header
<2019-04-29 pon>
<2019-04-23 wto>

I end up with the agenda looking like this:

Tuesday    23 April 2019
  agenda-test: header
Wednesday  24 April 2019
Thursday   25 April 2019
Friday     26 April 2019
Saturday   27 April 2019
Sunday     28 April 2019
Monday     29 April 2019 W18
  agenda-test: header
Tuesday    30 April 2019
  agenda-test: header

This is not optimal, since I don’t see the “real” date on 2019-04-23. (In reality, I could want to be warned, say a month in advance, and then I wouldn’t even see the “real” date in my usual 15-day agenda at all.)

This can be remedied in a few ways. You could use the DEADLINE keyword with a lead time of 7 days. This way, you would get a warning on the today’s entry every day starting with a week before the date. This seems, however, to be an abuse of the DEADLINE feature.

Another clever (?) way is to put in the “real” date twice: once in a normal timestamp, e.g. in one of the lines below the header, and the second time in the header itself, as an inactive timestamp. This obviously violates the DRY principle, but it is a price you might be willing to pay for the agenda to look like this:

Tuesday    23 April 2019
  agenda-test:[2019-04-30 wto] header
Wednesday  24 April 2019
Thursday   25 April 2019
Friday     26 April 2019
Saturday   27 April 2019
Sunday     28 April 2019
Monday     29 April 2019 W18
  agenda-test:[2019-04-30 wto] header
Tuesday    30 April 2019
  agenda-test:[2019-04-30 wto] header

(For completeness, the source looks like this.

* [2019-04-30 wto] header
<2019-04-30 wto>
<2019-04-29 pon>
<2019-04-23 wto>

Also, as you probably have guessed, I have put this into a file called agenda-test.org.)

if you are afraid that the final date put in two places is going to fall out of sync, you might want to try to tamper with things like org-shiftdown-hook and org-shiftup-hook to make them synchronized when you edit one of them. This seems too much for me, but YMMV.

Anyway, as usual it turns out that Org-mode is extremely flexible, and that you can do all sorts of weird stuff and implement different workflows with relative ease. Not that I’m surprized. ;-)

CategoryEnglish, CategoryBlog, CategoryEmacs, CategoryOrgMode