我正在以组织模式编写文档。是否可以对散布在整个文档中的练习使用计数器而不是自己编号?我将其导出为 HTML 和 PDF(通过 LaTeX)。例子:
* First chapter
Blabla.
Exercise 1.
* Second chapter.
Blabla
Exercise 2.
* Third chapter.
Exercise 3.
Exercise 4.
Run Code Online (Sandbox Code Playgroud)
我在组织模式下使用动态块解决了这个问题。
在我的 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) ".")))
Run Code Online (Sandbox Code Playgroud)
在我的文档顶部,我重置了计数器:
#+BEGIN: reset-counter
#+END
Run Code Online (Sandbox Code Playgroud)
分布在整个文档中,我现在可以这样写:
#+BEGIN: exercise
#+END
Blablabla.
#+BEGIN: exercise
#+END
Blablabla.
Run Code Online (Sandbox Code Playgroud)
调用org-update-all-dblocks正确的号码后将被插入。


如果有任何可以改进的地方,欢迎提出建议。
org-update-all-dblocks导出时如何自动调用?
答案:像这样:(add-hook 'org-export-first-hook 'org-update-all-dblocks)