涂鸦文档:两个简单文件之间的交叉引用

Scribble documentation: cross-references between two simple files

documentation for scribble(Racket 文档工具)说“[…] 文档中的交叉引用总是一起呈现”,但下面的文件 a.scrbl 无法引用文件中的部分b.scrbl

a.scrbl:

#lang scribble/base
@secref["sectag" #:doc "b.scrbl"]

b.scrbl:

#lang scribble/base
@section[#:tag "sectag"]{A section}

使用 scribble --html a.scrbl b.scrbl 编译它们时,我得到:

Warning: some cross references may be broken due to undefined tags:
 (part ("/path/to/b.scrbl" "sectag"))

如何从 a.scrbl 引用 b.scrbl 中的部分?

如果删除 #:doc 参数,它似乎可以工作。

#lang scribble/base
@secref["sectag"]

如果您在两个文档中使用相同的标签,这可能会产生歧义,因此您可能必须更改标签名称或使用您自己的标签前缀。

我不确定为什么 #:doc 的相对路径不能像您预期的那样工作。也许它仅用于引用 collection-installed 文档。