以 cweb 或 noweb 样式导出代码块名称?

use*_*344 5 literate-programming org-mode

在 Org 模式下编写文学程序时,导出类似于在早期的文学编程工具(如 cweb 或 noweb)中编织。这些工具会将代码块名称添加到编织(导出)输出中。在 Org 模式下,它看起来像这样:

组织文件:

#+NAME: mycodeblock
#+BEGIN_SRC language
[Source code here]
#+END_SRC
Run Code Online (Sandbox Code Playgroud)

导出的输出:

<mycodeblock>=
[Source code here]
Run Code Online (Sandbox Code Playgroud)

我想知道 Org 模式是否支持以这种方式导出代码块的名称。如果没有,有没有办法至少将代码块的名称输出为某种标签?

我已经看到可以导出代码块名称的提示,但我没有找到确切的语法。

fni*_*sen 0

您可以尝试:

;; template used to export the body of code blocks
(setq org-babel-exp-code-template
      ;; (concat "\n=%name=:\n"
              org-babel-exp-code-template)
      ;; )
)
Run Code Online (Sandbox Code Playgroud)

不过,这并不像 NuWeb / NoWeb 的结果那么好;请参阅http://lists.gnu.org/archive/html/emacs-orgmode/2009-12/msg00170.html了解它们与 Org 的比较(尽管 PDF 链接不再可访问)。