【问题标题】:org-mode schedule weekly event for a period组织模式在一段时间内安排每周事件
【发布时间】:2010-03-17 17:54:41
【问题描述】:

我想使用议程来跟踪我的课程,假设我从 3 月到 6 月每周都有一个 com 355 课程,

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

这可行,但如果我使用它会无限期地安排它,

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

从 3 月到 6 月每天安排一次,我如何在一段时间内每周安排一次?

【问题讨论】:

标签: emacs org-mode


【解决方案1】:

我遇到了类似的问题,并发现“如何在我的组织文件中创建更复杂的约会?”的答案很有用。在http://orgmode.org/worg/org-faq.html#Appointments/Diary 的常见问题解答中,您甚至可以为假期添加例外。不过我没能及时工作:当你添加它时,公式停止工作:(

1) 我的例子:周二和周四的课程在 [2011-03-07 Mon]--[2011-06-25 Sat] 减去 [2011-05-15 Sun]--[2011-05-20] Fri](一周的假期):

** 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”,但它似乎仍然安排时间有问题:(

希望对你有帮助,

【讨论】:

  • 这对我不起作用。它看起来像 sexp 打破它之后的时间规范。我在 emacs 23.3 上。
  • org-mode 7.5 也是如此。
  • 我在thread.gmane.org/gmane.emacs.orgmode/40720这里概述了这个问题,我希望下周能解决这个问题。
  • pmr:非常抱歉:1) 在两个示例中括号错误,2) 当您添加时间时,该技术不起作用。新示例现在都在 Org-mode 版本 6.33x 下进行了测试
  • 我正在运行通过 MacPorts 安装的 GNU Emacs 24.5.1 (x86_64-apple-darwin13.4.0),发现 diary-block 不能用于此目的——但 org-block 可以。在离开了大约 14 年之后,我回到了 emacs,我有了一个相当新的设置。 FWIW。
【解决方案2】:

可能无法直接执行此操作,但 Org-mode 允许您使用 diary sexp 样式指定时间。 (http://orgmode.org/org.html#Timestamps)

如果您查看日志函数 (http://www.gnu.org/software/emacs/manual/html_node/emacs/Sexp-Diary-Entries.html#Sexp-Diary-Entries) 手册中的一些示例,您会发现您可以提供任意代码来定义事件的发生。

【讨论】:

    【解决方案3】:

    没有办法做你想做的事 --- 范围不适合这个(我在 org-mode 列表上问过)。

    您可以克隆约会,将克隆设置相隔一周。这将为您在该期间的每一天提供该项目的一个实例。这可能很麻烦,也可能正是您想要的。

    【讨论】:

      【解决方案4】:

      您可以使用日记来执行此操作,如果您按照说明操作(确保您有 ~/diary 文件),会有说明 here,然后它会将其拾取并将其添加到您的议程中。您可能需要根据您的设置更改日期格式。

      【讨论】:

        【解决方案5】:

        这样的事情应该可以解决问题,并且应该安排几个小时

        %%(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 (Sun = 0, Mon = 1 ...)

        【讨论】:

          【解决方案6】:

          这对我来说已经很多年了:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-11-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-12-07
            相关资源
            最近更新 更多