来自Documenter.jl中其他子模块的交叉引用功能

Fen*_*ang 10 documentation cross-reference julia

给定模块层次结构

module A
    module B; function foo end; end
    module C
        """
            bar(x)

        Like [`foo`](@ref), but more `bar`.
        """
        function bar end
    end
end
Run Code Online (Sandbox Code Playgroud)

我怎么能从foo文档串交叉引用bar?我曾尝试A.B.foo,B.foo以及..B.foo没有成功.

fre*_*kre 7

首先,两者B.fooC.bar需要与(i)具有文档字符串和(ii)在降价文件,例如,在文档管理器@docs

```@docs
A.B.foo
A.C.bar
```
Run Code Online (Sandbox Code Playgroud)

为了他们之间的相互参照。其次,绑定B.foo必须在C模块内部可见。这可以通过以下方式实现,例如,添加import ..B: fooC模块(或添加export fooBusing ..BC)。这是一个工作示例:

module A
    module B
        "foo function"
        function foo end
    end
    module C
        import ..B: foo
        """
            bar(x)

        Like [`foo`](@ref), but more `bar`.
        """
        function bar end
    end
end # module
Run Code Online (Sandbox Code Playgroud)