emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] Re: Organizing a students live


From: Matthew Lundin
Subject: [Orgmode] Re: Organizing a students live
Date: Tue, 22 Dec 2009 10:30:49 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

Daniel Martins <address@hidden> writes:

> In fact, it helps! Thanks
>
> However a sentence like this:
>
> +# a class that meets every Monday evening between February 16 and
> April 20, 2009
> ** Class 7:00pm-9:00pm
> <%%(and (= 1 (calendar-day-of-week date)) (diary-block 2 16 2009 4 20 2009))>
>
> is not an example of simplicity and visibility for a quite common
> feature!

This is perhaps one of the most frequently asked questions about an FAQ.
:) 

Alas, given my meager elisp skills, you'd have to ask Carsten if he
cares to implement this.

> Maybe as a suggestion we could encapsulate such a huge expression in a
> simpler org-mode function ?

As you suggested, one could simply add the function below to one's
~/.emacs for a shorter/easier way to enter weekly events that last for a
limited span of time. (I would recommend removing the holidays check
unless you've already configured holidays for your locale.)

Best,
Matt

> PS In
>
> http://www.emacswiki.org/cgi-bin/wiki/DiaryMode#toc12
>
> I found another suggestion which I do not know how to include in org-mode
>
>
> ------------------------------------
> Schedule
>
> If you want to write a schedule for school or university, you need to
> define a block (it’s derived from diary-block) between two dates and a
> weekday. The following function also recognizes holidays and won’t
> send you to school on those days… :)
>
>     (defun diary-schedule (m1 d1 y1 m2 d2 y2 dayname)
>       "Entry applies if date is between dates on DAYNAME.
>     Order of the parameters is M1, D1, Y1, M2, D2, Y2 if
>     `european-calendar-style' is nil, and D1, M1, Y1, D2, M2, Y2 if
>     `european-calendar-style' is t. Entry does not apply on a history."
>       (let ((date1 (calendar-absolute-from-gregorian
>                     (if european-calendar-style
>                         (list d1 m1 y1)
>                       (list m1 d1 y1))))
>             (date2 (calendar-absolute-from-gregorian
>                     (if european-calendar-style
>                         (list d2 m2 y2)
>                       (list m2 d2 y2))))
>             (d (calendar-absolute-from-gregorian date)))
>         (if (and
>              (<= date1 d)
>              (<= d date2)
>              (= (calendar-day-of-week date) dayname)
>              (not (check-calendar-holidays date))
>              )
>              entry)))
>
> Then: "&%%(diary-schedule 22 4 2003 1 8 2003 2) 18:00 History"
>
>
> ------------------------------------
>
>
>
> 2009/12/20 Matt Lundin <address@hidden>:
>> Daniel Martins <address@hidden> writes:
>>
>>> All academics here present (including of course Carsten) suffer from
>>> the same problem, I think
>>>
>>>
>>> *** Math classes
>>> <2009-12-10 Thu 11:00-14:00 +1w>
>>>
>>>
>>> will repeat forever and ever...
>>>
>>> We need to create a schedule for a period.
>>>
>>> The package "remind" (and its simple interface "wyrd") do this job
>>> wonderfully but I do not know how to deal with this problem in Org
>>> mode
>>
>> The following FAQ should help:
>>
>> http://orgmode.org/worg/org-faq.php#diary-sexp-in-org-files
>>
>> - Matt
>>
>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> address@hidden
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode




reply via email to

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