Racket scribble/lp文档中未解析的链接

Racket scribble/lp文档中未解析的链接,racket,literate-programming,scribble,Racket,Literate Programming,Scribble,我正在尝试用Racket的scribble/lp编写一个小示例程序。项目的源已打开 我遇到的问题是编织html中的链接断开。我把它作为这个项目的一部分 使用命令“Sribble LPexample.scrbl”输出文档时,我收到以下警告: 2013 blog > scribble LPexample.scrbl [Output to LPexample.html] Warning: some cross references may be broken due to undefined

我正在尝试用Racket的scribble/lp编写一个小示例程序。项目的源已打开

我遇到的问题是编织html中的链接断开。我把它作为这个项目的一部分

使用命令“Sribble LPexample.scrbl”输出文档时,我收到以下警告:

2013 blog > scribble LPexample.scrbl
 [Output to LPexample.html]
Warning: some cross references may be broken due to undefined tags:
 (dep ((lib "2htdp/image.rkt") ellipse))
 (mod-path "racket")
 (dep ((lib "2htdp/image.rkt") beside/align))
 (dep ((lib "2htdp/image.rkt") rectangle))
 (mod-path "scribble/lp")
输出文件会在断开的链接下加上红色下划线

涂鸦的文件是LPexample.scrbl。这很简单:

#lang scribble/manual
@require[scribble/lp-include]
@title{Literate Programming Example}
// snip
@lp-include["LPexample.rkt"]
可读取编程文档中用于获取断开链接的部分是第69-86行:

which weaves to this:

@chunk[<blue_square>
       (rectangle 100 100 "solid" "blue")]

can be composed into other functions this way:
@verbatim|{
@chunk[<blue_square>
(beside/align "bottom"
              (ellipse 20 70 "solid" "lightsteelblue")
              <blue_square>)]}|

which weaves out to:

    @chunk[<example_body>
    (beside/align "bottom"
                  (ellipse 20 70 "solid" "lightsteelblue")
                  <blue_square>)]
是什么编织成这样的:
@大块[
(矩形100“实心”“蓝色”)]
可通过以下方式组合成其他功能:
@逐字记录|{
@大块[
(在“底部”旁边/对齐)
(椭圆20 70“实心”“浅蓝色”)
)]}|
其结果是:
@大块[
(在“底部”旁边/对齐)
(椭圆20 70“实心”“浅蓝色”)
)]
当然,我一直在翻阅有关诈骗的文件。但对于使用直接scribble/core或scribble/manual(更不用说scribble/lp)交叉链接文档来说,确实没有好的例子


我也试着在Racket文档的源代码中挖掘,但是指南和参考的scribble文件使用了太多的自定义函数、宏和依赖项,以至于我的大脑无法对其进行足够的思考,无法挖掘出一个简单的“哦,就是这样做的”.

如果您想让源代码中的标识符自动超链接,您可能需要做两件事

一个是,您需要为您希望Scribble识别的任何库添加标签所需的
。例如,您可能需要
(require(用于标签2htdp/image))
。有关更多信息,请参阅文档的第页

另一个是,如果你在线托管Scribble文档,文档链接需要指向某个地方,并且你需要指定位置。您可以使用命令行标志来实现这一点。大概是这样的:

scribble --html +m --redirect-main http://docs.racket-lang.org/ document.scrbl
您可以使用不同的文档URL。例如,您可以改为链接到位于的预发布快照文档


有关更多详细信息,Scribble文档中有一小节介绍如何处理交叉引用: