Tente o seguinte:
Calcule o prazo em uma planilha, também conhecida como tabela .
#+NAME: mytbl
| # | [2014-12-14 Sun] | 30 | <2015-01-13 Tue> |
| # | [2014-12-15 Mon] | 10 | <2014-12-25 Thu> |
#+TBLFM: $4=$2+$3;D
Crie uma nova tabela 1x1 que faça referência ao prazo calculado da primeira tabela usando a remote(NAME-OR-ID,REF)
função
#+NAME: mydeadline
| <2015-01-13 Tue> |
#+TBLFM: $1=remote(mytbl,@1$4)
Passe a tabela de prazo 1x1 como variável via cabeçalho :var name=value
para o SRC
bloco nomeado , por exemplo, set_deadline elisp code block abaixo.
#+NAME: set_deadline
#+HEADER: :var the_date=mydeadline
#+HEADER: :results raw replace output
#+begin_src elisp
(princ (format "DEADLINE: %s" ( car (car the_date))))
#+end_src
Avalie o bloco SRC usando C-c C-ce o prazo será adicionado ao arquivo de modo organizacional em um #+RESULTS:
bloco.
Adicionar o :results raw
cabeçalho ao bloco de código força a saída para o formato org-mode, que será reconhecido como uma instrução org regular.
#+RESULTS: set_deadline
DEADLINE: <2015-01-13 Tue>
Como um bônus adicional, o uso de um bloco src nomeado também incentiva a reutilização de código por meio de chamadas de função em linha.
Como antes, avalie cada função embutida usando C-c C-ce um novo prazo será adicionado ao arquivo de modo organizacional.
#+NAME: first-deadline
call_set_deadline(the_date=mydeadline)[ :results raw ]
#+RESULTS: first-deadline
DEADLINE: <2015-01-13 Tue>
#+NAME: my-other-deadline
| <2014-12-25 Thu> |
#+TBLFM: $1=remote(mytbl,@2$4)
#+NAME: second-deadline
call_set_deadline(the_date=my-other-deadline)[ :results raw ]
#+RESULTS: second-deadline
DEADLINE: <2014-12-25 Thu>
Espero que tenha ajudado!
Nota: Esse código foi testado usando as seguintes versões do emacs e org-mode.
GNU Emacs 24.4.1 (x86_64-apple-darwin14.0.0, NS apple-appkit-1343.14)
Org-mode version 8.2.10 (8.2.10-29-g89a0ac-elpa)
org-mode
e que não pode ser facilmente alterado (na minha opinião) - existe até um observe na sequência de documentos a variável timestamp que desaconselha ajustes.