add 'url style to Scribble

svn: r15059

original commit: 77843f5e8e6605ca77c9cd7fe9f284116ce47196
This commit is contained in:
4 changed files with 52 additions and 46 deletions

View File

@ -979,6 +979,7 @@
[(italic) (render* 'i)]
[(bold) (render* 'b)]
[(tt) (render* '([class "stt"]))]
[(url) (render* '([class "url"]))]
[(no-break) (render* '([class "nobreak"]))]
[(sf) `((b ,@(render* '(font ([size "-1"] [face "Helvetica"])))))]
[(subscript) (render* 'sub)]

View File

@ -173,6 +173,7 @@
[(italic) (wrap e "textit" #f)]
[(bold) (wrap e "textbf" #f)]
[(tt) (wrap e "Scribtexttt" #t)]
[(url) (wrap e "nolinkurl" 'exact)]
[(no-break) (super render-element e part ri)]
[(sf) (wrap e "textsf" #f)]
[(subscript) (wrap e "textsub" #f)]
@ -187,6 +188,8 @@
[(newline) (printf "\\\\")]
[else (error 'latex-render
"unrecognzied style symbol: ~s" style)])]
[(target-url? style)
(wrap e (format "href{~a}" (target-url-addr style)) #f)]
[(string? style)
(wrap e style (regexp-match? #px"^scheme(?!error)" style))]
[(and (pair? style) (memq (car style) '(bg-color color)))
@ -439,6 +442,8 @@
null)
(define/private (display-protected s)
(if (eq? (rendering-tt) 'exact)
(display s)
(let ([len (string-length s)])
(let loop ([i 0])
(unless (= i len)
@ -482,7 +487,7 @@
[(#\∞) "$\\infty$"]
[(#\à) "\\`{a}"]
[else c])))
(loop (add1 i))))))
(loop (add1 i)))))))
;; ----------------------------------------

View File

@ -148,7 +148,7 @@ Provided @scheme[for-syntax]; returns @scheme[#t] if @scheme[v] is an
@defproc[(make-variable-id [sym (or/c symbol? identifier?)])
variable-id?]{
Provided @scheme[for-syntax]; like @scheme[element-id-transformer] for
Provided @scheme[for-syntax]; like @scheme[make-element-id-transformer] for
a transformer that produces @scheme[sym] typeset as a variable (like
@scheme[schemevarfont])---unless it appears under quote or quasiquote,
in which case @scheme[sym] is typeset as a symbol.}

View File

@ -502,7 +502,7 @@ The @scheme[style] field is normally either
a macro name for Latex output (see @secref["extra-style"]);}
@item{one of the symbols that all renderers recognize: @scheme['tt],
@scheme['italic], @scheme['bold], @scheme['sf],
@scheme['italic], @scheme['bold], @scheme['sf], @scheme['url],
@scheme['subscript], @scheme['superscript], @scheme['hspace],
or @scheme['newline] (which renders a line break independent of
the @scheme[content]);}