еженедельное событие в режиме орг-режима на период - PullRequest
19 голосов
/ 17 марта 2010

Я хотел бы использовать повестку дня, чтобы следить за моими уроками, при условии, что у меня есть класс com 355 каждую неделю с марта по июнь,

<2010-03-23 Tue 10:40-12:10 +1w>

это работает, но если я использую, оно планирует неограниченно,

<2010-03-23 Tue 10:40-12:10 +1w>-<2010-06-23>

это запланировано на каждый день с марта по июнь, как я могу запланировать это один раз в неделю на определенный период времени?

Ответы [ 6 ]

8 голосов
/ 19 февраля 2011

У меня была похожая проблема, и я нашел полезный ответ на вопрос "Как мне создать более сложные встречи в моих файлах org?" в FAQ на http://orgmode.org/worg/org-faq.html#Appointments/Diary Вы даже можете добавить исключения для праздников. Я не смог заставить работать время: когда вы добавляете его, формула перестает работать: (

1) Мой пример: курсы по вторникам и четвергам, приходящимся на [2011-03-07 пн] - [2011-06-25 сб] минус [2011-05-15 вс] - [2011-05-20 Пт] (неделя отпуска):

** TEST Tuesday and Thursday in [2011-03-07 Mon]-[2011-06-20 Mon] minus holidays [2011-05-15 Sun]-[2011-05-22 Sun]
<%%(and (diary-block 3 7 2011 6 20 2011)(or (= 2 (calendar-day-of-week date) (= 4 (calendar-day-of-week date))))(not (diary-block 5 15 2011 5 22 2011)))>

Если вы разложите булеву функцию, вы получите следующее, что не требует пояснений:

<%%(and (diary-block 3 7 2011 6 20 2011) 
(or (= 2 (calendar-day-of-week date) (= 4 (calendar-day-of-week date))))  
(not (diary-block 5 15 2011 5 22 2011))
)>

2) Мое предложение для вашего случая: занятия каждый вторник каждую неделю с марта по июнь (я позволил себе зафиксировать год до 2011 года):

<%%(and (= 2 (calendar-day-of-week date)) (diary-block 3 23 2011 6 23 2011)))>

Возможно, вы захотите взглянуть на недавно добавленный раздел «Как я могу запланировать еженедельный урок, который длится в течение ограниченного периода времени?», О функции «org-diary-class», но он все еще кажется возникли проблемы с расписанием часов: (

Надеюсь, это поможет,

2 голосов
/ 21 июля 2011

Что-то вроде этого должно сработать, и это должно запланировать часы

%%(org-diary-class 2011 5 31 2011 10 13 2) 5:00pm-6:30pm German Class
%%(org-diary-class 2011 5 31 2011 10 13 4) 6:45pm-8:15pm German Class

Где цифры представляют Начало Y M D Окончание Y M D DayOfWeek (вс = 0, пн = 1 ...)

2 голосов
/ 14 июня 2010

Вы можете использовать дневник, чтобы сделать это, здесь есть объяснение здесь если вы будете следовать инструкциям (убедитесь, что у вас есть файл ~ / diary), тогда он подберет его и добавит в вашу повестку дня. , Возможно, вам придется изменить формат даты в зависимости от настроек.

2 голосов
/ 18 марта 2010

Возможно, не существует способа сделать это напрямую, но режим Org позволяет вам указывать время, используя стиль дневника sexp. (http://orgmode.org/org.html#Timestamps)

Если вы посмотрите на некоторые примеры в руководстве по функциям дневника (http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#Sexp-Diary-Entries), то увидите, что вы можете предоставить произвольный код для определения случаев возникновения события.

1 голос
/ 21 апреля 2010

Нет способа сделать то, что вы хотите - диапазоны для этого не работают (я спрашивал в списке режима org).

Вы можете клонировать встречу, устанавливая клонов с интервалом в одну неделю. Это даст вам один экземпляр предмета на каждый день периода. Это может быть громоздко, или это может быть то, что вы хотите.

0 голосов
/ 19 февраля 2019

Это работает для меня уже много лет:

* Modeling of curves and surfaces II 13:10-14:40
    <%%(org-class 2019 2 18 2019 5 17 4 13)>
...