Python sphinx 组织模式代码块链接结果中的内部链接和目标,例如,链接到其他代码块的结果

Python sphinx 组织模式代码块链接结果中的内部链接和目标,例如,链接到其他代码块的结果,python-sphinx,org-mode,documentation-generation,org-babel,Python Sphinx,Org Mode,Documentation Generation,Org Babel,我正在使用组织模式编写软件文档,其中函数、变量等的API文档自动从代码的文档字符串中提取(这恰好是在公共Lisp中)。然后将该文档导出为HTML(我碰巧通过带和的reStructuredText完成了这项工作)。它的工作原理基本上类似于直接在Python中使用Sphinx,但具有组织模式的所有特性,如可执行代码块 为了简要说明这一原理,我将演示下面的方法,该方法使用Emacs Lisp进行了一些简化。我有一个提取函数文档的代码块(使用Common Lisp格式并使用:results output

我正在使用组织模式编写软件文档,其中函数、变量等的API文档自动从代码的文档字符串中提取(这恰好是在公共Lisp中)。然后将该文档导出为HTML(我碰巧通过带和的reStructuredText完成了这项工作)。它的工作原理基本上类似于直接在Python中使用Sphinx,但具有组织模式的所有特性,如可执行代码块

为了简要说明这一原理,我将演示下面的方法,该方法使用Emacs Lisp进行了一些简化。我有一个提取函数文档的代码块(使用Common Lisp格式并使用:results output raw,我避免在结果中使用双引号,但为了简单起见,我在下面的简要演示中保留了双引号)

然后,我用我想要记录的函数调用该代码块,在导出过程中,这个调用将替换为生成的文档

#+CALL function-doc(name:'map)
自动插入导出文件的映射的结果文档如下所示

"Map a FUNCTION across one or more SEQUENCEs, returning a sequence.
TYPE is the sequence type to return.

(fn TYPE FUNCTION SEQUENCE...)"
我可以在我的文档字符串中使用组织模式格式,并按预期导出这种格式

现在是我的问题。我想在其他函数、变量等的文档字符串和主文本(即未自动插入的文本)中使用链接到API条目(例如,函数的文档)。用函数名自动插入目标很容易,我只需要相应地扩展上面的代码块函数doc。但是,在导出过程中找不到这些目标。即使我将MY-FUNCTION文档的目标与上述代码块函数文档一起自动添加,当我将组织模式链接[[MY-FUNCTION]]插入该函数时,组织模式会中断导出,并出现以下错误

user-error: Unable to resolve link: "MY-FUNCTION" 
有没有办法绕过这个限制?在导出过程中,是否有任何方式可以让组织模式“看到”组织模式代码块结果中的目标

我已经尝试过各种解决方法,但迄今为止都没有成功。例如,我尝试使用组织模式宏而不是代码块,但要获得多行宏结果是非常困难的(在where报告的技巧对我来说还不够)。我正在寻找一种方法,将有关未解析链接的错误消息转化为警告,但我所找到的只是标记断开链接的选项,如下所示。有没有办法导出并忽略(看似)断开的链接

#+OPTIONS: broken-links:mark 
我还考虑过首先自动将我的组织文件导出到一个已经插入了所有代码块结果的组织,这样组织模式就可以看到链接的所有目标,但是显然,如果链接(看起来)断开,将组织文件导出到组织模式也是不可能的


有什么帮助吗?非常感谢

当仅对Sphinx使用reStructuredText导出时,我可以使用如下所示的内联rST链接。另外一个好处是rST链接不区分大小写,与组织模式链接不同

See also @@rst:`my-function`_@@.
如果我想导出为多种格式,那么我可以定义一个组织模式宏来生成上面的rST链接,以及其他导出格式的链接

See also @@rst:`my-function`_@@.