commit 6c51ec9a9c7afec827c30b1359fe7ba4e4b66420
parent acd72493f37ab3e05a4983cc6ef2a986ea3e03a7
Author: Matthew Flatt <mflatt@racket-lang.org>
Date: Fri, 7 Jan 2011 08:59:02 -0700
better Scribble support for disabling line breaks
- make 'no-break element style work consistently
- document 'no-break
- add `nonbreaking' to `scribble/base'
original commit: 315fdf071a2905ff4d634c7b8004e32c0d6a1b58
Diffstat:
4 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/collects/scribble/base.rkt b/collects/scribble/base.rkt
@@ -276,6 +276,7 @@
(provide/contract
[linebreak (-> element?)]
+ [nonbreaking elem-like-contract]
[hspace (-> exact-nonnegative-integer? element?)]
[elem (->* ()
(#:style element-style?)
@@ -311,6 +312,9 @@
(define (linebreak)
(make-element 'newline '("\n")))
+(define (nonbreaking . str)
+ (make-element 'no-break (decode-content str)))
+
(define (elem #:style [style plain] . str)
(make-element style (decode-content str)))
diff --git a/collects/scribble/latex-render.rkt b/collects/scribble/latex-render.rkt
@@ -272,7 +272,7 @@
[(bold) (wrap e "textbf" tt?)]
[(tt) (wrap e "Scribtexttt" #t)]
[(url) (wrap e "nolinkurl" 'exact)]
- [(no-break) (core-render e tt?)]
+ [(no-break) (wrap e "mbox" tt?)]
[(sf) (wrap e "textsf" #f)]
[(subscript) (wrap e "textsub" #f)]
[(superscript) (wrap e "textsuper" #f)]
diff --git a/collects/scribblings/scribble/base.scrbl b/collects/scribblings/scribble/base.scrbl
@@ -346,6 +346,10 @@ See also @racket[verbatim].}
Produces an element that forces a line break.}
+@def-elem-proc[nonbreaking]{Like @racket[elem], but line breaks are
+suppressed while rendering the content.}
+
+
@defproc[(hspace [n exact-nonnegative-integer?]) element?]{
Produces an element containing @racket[n] spaces and style
diff --git a/collects/scribblings/scribble/core.scrbl b/collects/scribblings/scribble/core.scrbl
@@ -646,6 +646,9 @@ recognized:
@item{@racket['newline] --- Renders a line break independent of
the @racket[content].}
+ @item{@racket['no-break] --- Prevents line breaks when rendering
+ @racket[content].}
+
]
The following @tech{style properties} are currently recognized: