组织模式:项目计数器,在导出中可见

Mic*_*ent 4 emacs org-mode

我正在以组织模式编写文档。是否可以对散布在整个文档中的练习使用计数器而不是自己编号?我将其导出为 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)

Mic*_*ent 5

我在组织模式下使用动态块解决了这个问题。

在我的 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)