Thử cái này:
Tính thời hạn trong một bảng tính aka bảng .
#+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
Tạo bảng 1x1 mới tham chiếu thời hạn tính toán từ bảng đầu tiên bằng remote(NAME-OR-ID,REF)
hàm.
#+NAME: mydeadline
| <2015-01-13 Tue> |
#+TBLFM: $1=remote(mytbl,@1$4)
Chuyển bảng thời hạn 1x1 dưới dạng biến qua tiêu đề :var name=value
cho SRC
khối được đặt tên , ví dụ: khối mã elisp set_deadline bên dưới.
#+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
Đánh giá khối SRC bằng cách sử dụng C-c C-cvà thời hạn sẽ được thêm vào tệp chế độ org dưới một #+RESULTS:
khối.
Việc thêm :results raw
tiêu đề vào khối mã sẽ buộc đầu ra thành định dạng chế độ org sẽ nhận ra đó là câu lệnh org thông thường.
#+RESULTS: set_deadline
DEADLINE: <2015-01-13 Tue>
Là một phần thưởng bổ sung, sử dụng các khối src có tên cũng khuyến khích tái sử dụng mã thông qua các lệnh gọi hàm nội tuyến.
Như trước, đánh giá từng chức năng nội tuyến bằng cách sử dụng C-c C-cvà thời hạn mới sẽ được thêm vào tệp chế độ tổ chức.
#+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>
Hy vọng rằng đã giúp!
Lưu ý: Mã này đã được kiểm tra bằng các phiên bản sau của emacs và chế độ org.
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
và theo tôi có thể dễ dàng thay đổi lưu ý trong chuỗi doc cho biến dấu thời gian khuyên không nên điều chỉnh với nó.