diff --git a/collects/scribble/html-render.rkt b/collects/scribble/html-render.rkt index 89c9e53f..fb37dbd7 100644 --- a/collects/scribble/html-render.rkt +++ b/collects/scribble/html-render.rkt @@ -1136,8 +1136,6 @@ `(,(format "~s" (tag-key (link-element-tag e) ri))) (render-plain-content e part ri))))))))] [else - (when (render-element? e) - ((render-element-render e) this part ri)) (render-plain-content e part ri)])) (define/private (render-plain-content e part ri) @@ -1173,13 +1171,18 @@ [else null])) properties)) (attribs))] - [newline? (eq? name 'newline)]) + [newline? (eq? name 'newline)] + [check-render + (lambda () + (when (render-element? e) + ((render-element-render e) this part ri)))]) (let-values ([(content) (cond [link? (parameterize ([current-no-links #t]) (super render-content e part ri))] - [newline? null] + [newline? (check-render) null] [(eq? 'hspace name) + (check-render) (let ([str (content->string e)]) (map (lambda (c) 'nbsp) (string->list str)))] [else diff --git a/collects/scribble/latex-render.rkt b/collects/scribble/latex-render.rkt index 6214d68e..7bce9341 100644 --- a/collects/scribble/latex-render.rkt +++ b/collects/scribble/latex-render.rkt @@ -243,8 +243,6 @@ (super render-intrapara-block p part ri first? last? starting-item?)) (define/override (render-content e part ri) - (when (render-element? e) - ((render-element-render e) this part ri)) (let ([part-label? (and (link-element? e) (pair? (link-element-tag e)) (eq? 'part (car (link-element-tag e))) @@ -285,10 +283,15 @@ (style-name es) es)] [style (and (style? es) es)] + [check-render + (lambda () + (when (render-element? e) + ((render-element-render e) this part ri)))] [core-render (lambda (e tt?) (cond [(and (image-element? e) (not (disable-images))) + (check-render) (let ([fn (install-file (select-suffix (main-collects-relative->path @@ -306,6 +309,7 @@ (ftag (xlist (convert e 'eps-bytes)) ".ps") (ftag (xlist (convert e 'png-bytes)) ".png")))) => (lambda (bstr+info+suffix) + (check-render) (let* ([bstr (list-ref (list-ref bstr+info+suffix 0) 0)] [suffix (list-ref bstr+info+suffix 1)] [width (list-ref (list-ref bstr+info+suffix 0) 1)] @@ -342,14 +346,17 @@ [(smaller) (wrap e "Smaller" #f)] [(larger) (wrap e "Larger" #f)] [(hspace) + (check-render) (let ([s (content->string e)]) (case (string-length s) [(0) (void)] [else (printf "\\mbox{\\hphantom{\\Scribtexttt{~a}}}" (regexp-replace* #rx"." s "x"))]))] - [(newline) (unless (suppress-newline-content) - (printf "\\\\"))] + [(newline) + (check-render) + (unless (suppress-newline-content) + (printf "\\\\"))] [else (error 'latex-render "unrecognzied style symbol: ~s" style)])] [(string? style-name) @@ -360,6 +367,7 @@ [else tt?])]) (cond [(multiarg-element? e) + (check-render) (printf "\\~a" style-name) (if (null? (multiarg-element-contents e)) (printf "{}") @@ -370,7 +378,7 @@ (printf "}")))] [else (wrap e style-name tt?)]))] - [else + [else (core-render e tt?)])) (let loop ([l (if style (style-properties style) null)] [tt? #f]) (if (null? l)