(
(doc-str (procedure-documentation func) )
(f-name (symbol->string (procedure-name func)))
+ (c-name (regexp-substitute/global #f "-markup$" f-name 'pre "" 'post))
(sig (object-property func 'markup-signature))
- (sig-str (string-join (map type-name sig) " "))
- )
+ (arg-names
+ (map symbol->string
+ (cddr (cadr (procedure-source func)))))
+
+ (sig-type-names (map type-name sig))
+ (signature (zip arg-names sig-type-names))
+ (signature-str
+ (string-join
+ (map (lambda (x) (string-append
+ "@var{" (car x) "} (" (cadr x) ")" ))
+ (zip arg-names sig-type-names))
+ " " )))
(string-append
- "\n\n@b{"
- f-name
- "}\n\n@findex " f-name "\n"
- "\n\n@i{Argument types}: " sig-str
- (if (string? doc-str)
- (string-append
- "\n\n@i{Description}: \n\n"
- doc-str)
- "")
+ "\n\n@item @code{\\" c-name "} " signature-str
+ "\n@findex " f-name "\n"
+ "\n@cindex " c-name "\n"
+ (if (string? doc-str)
+ doc-str
+ "")
)))
(define (markup-function<? a b)
(string<? (symbol->string (procedure-name a)) (symbol->string (procedure-name b))))
+(define (markup-doc-string)
+ (string-append
+
+ "@table @asis"
+ (apply string-append
+
+ (map doc-markup-function
+ (sort markup-function-list markup-function<?) ) )
+ "\n@end table"
+
+ ))
+
(define (markup-doc-node)
(make <texi-node>
#:name "Markup functions"
#:desc "Definitions of the markup functions."
-
-
- #:text (apply string-append
-
- "A @code{\\markup} mode command, eg. @code{bold}, is
-coupled with a Scheme function (@code{bold-markup}) implementing the
-formatting. For use in Scheme, a function @code{make-bold-markup} is
-also defined, which constructs a Markup expression.
-
-This chapter describes all of the @code{...-markup} functions.
-
-"
-
- (map doc-markup-function
- (sort markup-function-list markup-function<?) ))
- ))
-
-
+ #:text (markup-doc-string)))