Racket Scribble文档:两个简单文件之间的交叉引用
(Racket documentation tool)说“一起呈现的[…]文档中的交叉引用总是可以解决的”,但是下面的文件Racket Scribble文档:两个简单文件之间的交叉引用,racket,cross-reference,scribble,Racket,Cross Reference,Scribble,(Racket documentation tool)说“一起呈现的[…]文档中的交叉引用总是可以解决的”,但是下面的文件a.scrbl没有引用文件b.scrbl a.scrbl: #lang scribble/base @secref["sectag" #:doc "b.scrbl"] #lang scribble/base @section[#:tag "sectag"]{A section} b.scrbl: #lang scribble/base @secref["sectag" #
a.scrbl
没有引用文件b.scrbl
a.scrbl
:
#lang scribble/base
@secref["sectag" #:doc "b.scrbl"]
#lang scribble/base
@section[#:tag "sectag"]{A section}
b.scrbl
:
#lang scribble/base
@secref["sectag" #:doc "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
的相对路径不能像您所期望的那样工作。可能它只用于引用集合安装的文档。我发现scribble有一个标记系统,在该系统中,整个文档的标记前缀可以用@title[#:标记前缀…]{…}
指定。我想这就是你所说的“…或者使用你自己的标记前缀”。