我想将议程视图导出到具有基于当前日期的唯一名称的单独文件。根据以下示例代码:
(setq org-agenda-custom-commands
'(("X" agenda "" nil ("agenda.ps")))
)
最后一个参数是文件名,所以我想可以将concat
函数的输出放入,例如:
(setq org-agenda-custom-commands
'(("X" agenda "" nil (concat (format-time-string "%Y-%m-%d") "-agenda.html")))
)
不幸的是,该方法失败了,因为解释器从字面上接受了concat
,并且未生成字符串(预期的数据类型)。我对LISP不太熟悉,因此不胜感激。
答案 0 :(得分:0)
首先,最后一个参数不是文件名,而是名称列表,因此必须添加一些额外的括号。
正如您已经指出的那样,由于没有quote,因此不对列表进行求值,这是很好的,因为除了最后一个元素(concat
函数)之外,您无需对其进行求值。为此,您可以使用backquote:
(setq org-agenda-custom-commands
`(("X" agenda "" nil (,(concat (format-time-string "%Y-%m-%d") "-agenda.html"))))
)
作为旁注,我不是org-mode
的专家,我只是在回答您提出的问题,但是我感觉有可能以更简单的方式实现您的目标。不确定如何使用,但是也许您可以浏览org-mode
的文档,也许您会发现一些有趣的东西。