Documentation 在跨多个文件拆分时声明defproc或deform(函数/宏文档)的模块

Documentation 在跨多个文件拆分时声明defproc或deform(函数/宏文档)的模块,documentation,racket,scribble,Documentation,Racket,Scribble,在scribble中,我可以使用和定义函数或宏的文档。然后scribble使用文件中最近的函数来确定函数/宏在哪个模块中定义 但是,有时将同一模块的文档拆分为多个scribble文件是有意义的 (假设您希望init函数的文档位于repl.scrbl中,并且您希望api.scrbl中的find文档位于api.scrbl中。但这两个文档都是在同一模块中定义的,例如repl.rkt) 但是,Scribble在文档中存在相同defmodule的多个证据时会投诉: WARNING: collected i

在scribble中,我可以使用和定义函数或宏的文档。然后scribble使用文件中最近的函数来确定函数/宏在哪个模块中定义

但是,有时将同一模块的文档拆分为多个scribble文件是有意义的

(假设您希望
init
函数的文档位于
repl.scrbl
中,并且您希望
api.scrbl
中的
find
文档位于
api.scrbl
中。但这两个文档都是在同一模块中定义的,例如
repl.rkt

但是,Scribble在文档中存在相同
defmodule
的多个证据时会投诉:

WARNING: collected information for key multiple times: '(index-entry (mod-path "zordoz")); values: (list '("zordoz") (list (link-element (style "RktModLink" (list 'tt-chars #0=(list (css-addition '(collects #"scribble" #"racket.css")) (tex-addition '(collects #"scribble" #"racket.tex"))))) (cached-element (style "RktSym" (list 'tt-chars #0#)) "zordoz... (list '("zordoz") (list (link-element (style "RktModLink" (list 'tt-chars #0=(list (css-addition '(collects #"scribble" #"racket.css")) (tex-addition '(collects #"scribble" #"racket.tex"))))) (cached-element (style "RktSym" (list 'tt-chars #0#)) "zordoz...
WARNING: collected information for key multiple times: '(mod-path "zordoz"); values: '#(("REPL") (mod-path "zordoz") (2) (doc #"main" #"index.html") #f) '#(("API") (mod-path "zordoz") (3) (doc #"main" #"index.html") #f)
raco setup: rendering: <pkgs>/zordoz/scribblings/main.scrbl
WARNING: collected information for key multiple times: '(index-entry (mod-path "zordoz")); values: (list '("zordoz") (list (link-element (style "RktModLink" (list 'tt-chars #0=(list (css-addition '(collects #"scribble" #"racket.css")) (tex-addition '(collects #"scribble" #"racket.tex"))))) (cached-element (style "RktSym" (list 'tt-chars #0#)) "zordoz... (list '("zordoz") (list (link-element (style "RktModLink" (list 'tt-chars #0=(list (css-addition '(collects #"scribble" #"racket.css")) (tex-addition '(collects #"scribble" #"racket.tex"))))) (cached-element (style "RktSym" (list 'tt-chars #0#)) "zordoz...
WARNING: collected information for key multiple times: '(mod-path "zordoz"); values: '#(("REPL") (mod-path "zordoz") (2) (doc #"main" #"index.html") #f) '#(("API") (mod-path "zordoz") (3) (doc #"main" #"index.html") #f)
警告:多次为键收集信息:'(索引项(mod path“zordoz”);值:(list'(“zordoz”)(list(link元素(样式“RktModLink”)(list'tt chars#0=(list(css addition'(collections#“scribble”#“racket.css”))(tex addition)(collections#“scribble”#“racket.tex”))(缓存元素(样式“RktSym”)(list'tt chars#0#)、zordoz…(list'(list'(link元素(样式“racket.tex”)chars=(样式)chars##(css添加)(collects#“scribble”#“racket.css”))(tex添加(collects#“scribble”#“racket.tex”))(缓存元素(样式“RktSym”(列表“tt chars#0#”)“zordoz…”。。。
警告:多次为键收集信息:'(mod path“zordoz”);值:'#((“REPL”)(mod path“zordoz”)(2)(doc#“main”#“index.html”)#((“API”)(mod path“zordoz”)(3)(doc#“main”#“index.html”)#f)
raco设置:渲染:/zordoz/scribblings/main.scrbl
警告:多次为键收集信息:'(索引项(mod path“zordoz”);值:(list'(“zordoz”)(list(链接元素(样式“RktModLink”(list“tt chars#0=(list(css addition)(collects#“scribble”#“racket.css”))(tex addition)(collects#“scribble”#“racket.tex”#);(缓存元素(样式“tsym”(list“tt chars#0#)“zordoz…(list'(“zordoz”)(list(link元素(样式“RktModLink”)(list'tt chars#0=(list(css addition)(collections#“scribble”#“racket.css”))(tex addition)(collections#“scribble”#“racket.tex”))(缓存元素(样式“RktSym”(list'tt chars#0#))”zordoz。。。
警告:多次为键收集信息:'(mod path“zordoz”);值:'#((“REPL”)(mod path“zordoz”)(2)(doc#“main”#“index.html”)#((“API”)(mod path“zordoz”)(3)(doc#“main”#“index.html”)#f)

那么,有没有任何方法可以跨多个scribble文件记录这两个函数,即使它们定义在同一个模块中?

如果这两个文件都作为另一个文件的子部分包含,例如
main.rkt
,您可以将
defproc
放在该文件中,其他两个文件将使用它作为
def的模块proc
defform

例如:

#lang scribble/manual

@title{Zordoz}

@defmodule[zordoz]
@include-section[repl.scrbl]
@include-section[api.scrbl]

如果这两个文件都包含在另一个文件的子部分中,例如
main.rkt
,则可以将
defproc
放在该文件中,另外两个文件将使用它作为
defproc
defform
的模块

例如:

#lang scribble/manual

@title{Zordoz}

@defmodule[zordoz]
@include-section[repl.scrbl]
@include-section[api.scrbl]