Emacs 如何在org babel中的已评估(导出)源块中导入/展开noweb引用?

Emacs 如何在org babel中的已评估(导出)源块中导入/展开noweb引用?,emacs,org-mode,literate-programming,org-babel,reproducible-research,Emacs,Org Mode,Literate Programming,Org Babel,Reproducible Research,我正在尝试这样做: * Define some functions #+begin_src python :noweb_ref defs def f1(a,b,c): return True def f2(d,e,f): return False #+end_src * Use them in a results-exported block later #+begin_src python :results output :exports both :tang

我正在尝试这样做:

* Define some functions
#+begin_src python :noweb_ref defs
   def f1(a,b,c):
     return True
   def f2(d,e,f):
     return False
#+end_src

* Use them in a results-exported block later
#+begin_src python :results output :exports both :tangle yes
<<defs>>
print "test results:"
print f1(1,2,3)
#end_src
*定义一些函数
#+begin_src python:noweb_ref defs
def f1(a、b、c):
返回真值
def f2(d、e、f):
返回错误
#+结束(src)
*稍后在结果导出块中使用它们
#+begin_src python:results输出:导出两个:tangle是
打印“测试结果:”
打印f1(1,2,3)
#结束(src)
我想做的是,在计算块以生成导出输出时,将其扩展为tangle样式。实际发生的情况是,会逐字计算并导致语法错误

当将这样的块纠缠到输出文件时,一切都会完美地工作,但在导出缓冲区时,我不知道如何执行同样的操作


建议?

我不确定是否真正理解你的观点。。。但是

1) 您缺少
noweb:yes
头参数


2) 您可以使用
插入计算func的结果(而不是func的代码)——在这里,我不确定您真正想要什么。

您也可以使用
:noweb no export
。这将在导出的文件中显示noweb语法,但在计算或纠缠文件时会扩展代码块

:如果您只想显示一个算法,那么noweb strip export
非常棒:


结果=A+B
然后,导出的文件将显示以下内容:

result=A+B

:noweb yes
标题正是我的问题。我试过
:noweb tangle
:tangle yes
。现在,您已经指出了这一点,位于的文档非常清晰。非常好!顺便说一句,在第二点上,我不知道为什么写得很糟糕,但是你应该读一下,这是你的函数,后面是打开和关闭参数,都在两倍的角括号之间。我相信,我试图将其转换为HTML。我编辑了你的答案,这样它就会显示出来,但我想编辑是在某种审查队列中等待的,