我正在以 org 模式编写文档。是否可以对分布在文档中的练习使用计数器而不是自己编号?我将其导出为 HTML 和 PDF(通过 LaTeX)。例子:
* First chapter
Blabla.
Exercise 1.
* Second chapter.
Blabla
Exercise 2.
* Third chapter.
Exercise 3.
Exercise 4.
我在 org-mode 中使用动态块解决了这个问题。
在我的 init.el 中,我定义了以下内容:
(setf exercise-counter 0)
(defun org-dblock-write:reset-exercise-counter (params)
(setf exercise-counter 0))
(defun org-dblock-write:exercise (params)
(incf exercise-counter)
(insert (concat "Exercise " (int-to-string exercise-counter) ".")))
在我的文档顶部,我重置了计数器:
#+BEGIN: reset-counter
#+END
在文档中展开,我现在可以这样说:
#+BEGIN: exercise
#+END
Blablabla.
#+BEGIN: exercise
#+END
Blablabla.
拨打org-update-all-dblocks
正确的号码后将插入。
如果有什么可以改进的,欢迎提出建议。
org-update-all-dblocks
导出时
如何自动调用?答案:像这样:(add-hook 'org-export-first-hook 'org-update-all-dblocks)