From b5c4c4fb074ef670d7ed7ba3a2829eda61322bb0 Mon Sep 17 00:00:00 2001 From: Matthias Felleisen Date: Tue, 30 Aug 2011 16:38:25 -0400 Subject: [PATCH 1/7] basic fixes to figure.tex; partially addresses PR 12140 original commit: c5155b6b75842c5f362150396859b5538e970609 --- collects/scriblib/figure.tex | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/collects/scriblib/figure.tex b/collects/scriblib/figure.tex index 17feceaa..ac297885 100644 --- a/collects/scriblib/figure.tex +++ b/collects/scriblib/figure.tex @@ -9,12 +9,16 @@ \newlength{\FigOrigskip} \FigOrigskip=\parskip -\newenvironment{CenterfigureMulti}{\begin{figure*}[t!p]\centering}{\end{figure*}} +\newenvironment{Figure}{\begin{figure}}{\end{figure}} + +\newenvironment{CenterfigureMulti}{\begin{center}}{\end{center}} \newenvironment{CenterfigureMultiWide}{\begin{CenterfigureMulti}}{\end{CenterfigureMulti}} -\newenvironment{Centerfigure}{\begin{figure}[t!p]\centering}{\end{figure}} -\newenvironment{Herefigure}{\begin{figure}[ht!p]\centering}{\end{figure}} +\newenvironment{Centerfigure}{\begin{center}}{\end{center}} +\newenvironment{Herefigure}{\begin{center}}{\end{center}} \newenvironment{FigureInside}{\begin{list}{}{\leftmargin=0pt\topsep=0pt\parsep=\FigOrigskip\partopsep=0pt}\item}{\end{list}} -\newenvironment{LeftfigureMulti}{\begin{figure*}[t!p]}{\end{figure*}} +\newenvironment{LeftfigureMulti}{\begin{center}[t!p]}{\end{center}} \newenvironment{LeftfigureMultiWide}{\begin{leftfigureMulti}}{\end{leftfigureMulti}} -\newenvironment{Leftfigure}{\begin{figure}[t!p]}{\end{figure}} +\newenvironment{Leftfigure}{\begin{flushleft}}{\end{flushleft}} + +\def\Centertext#1{\def\Centertext#1{\begin{center}#1\end{center}}} From 37ab802f767d31905f0e80264f2319d10f39a44e Mon Sep 17 00:00:00 2001 From: Matthias Felleisen Date: Tue, 30 Aug 2011 17:13:58 -0400 Subject: [PATCH 2/7] Closes PR12140 original commit: e4039661d4f814587a1d35a478b1c64e51c0a424 --- collects/scriblib/figure.rkt | 37 ++++++++++++------------------------ collects/scriblib/figure.tex | 14 +++++++------- 2 files changed, 19 insertions(+), 32 deletions(-) diff --git a/collects/scriblib/figure.rkt b/collects/scriblib/figure.rkt index a30dd1c4..ab81d7d4 100644 --- a/collects/scriblib/figure.rkt +++ b/collects/scriblib/figure.rkt @@ -42,27 +42,17 @@ (define leftfiguremultiwide-style (make-style "LeftfigureMultiWide" figure-style-extras)) (define (figure tag caption #:style [style centerfigure-style] . content) - (apply figure-helper style tag caption content)) + (apply figure-helper figure-style style tag caption content)) + (define (figure-here tag caption . content) - (apply figure-helper herefigure-style tag caption content)) -(define (figure-helper style tag caption . content) + (apply figure-helper herefigure-style centerfigure-style tag caption content)) + +(define (figure-helper figure-style content-style tag caption . content) (make-nested-flow figure-style (list - (make-nested-flow - style - (list - (make-nested-flow - figureinside-style - (append - (decode-flow content) - (list))))) - (make-paragraph - centertext-style - (list - (make-element legend-style - (list (Figure-target tag) ": " - caption))))))) + (make-nested-flow content-style (list (make-nested-flow figureinside-style (decode-flow content)))) + (make-paragraph centertext-style (list (make-element legend-style (list (Figure-target tag) ": " caption))))))) (define (*figure style tag caption content) (make-nested-flow @@ -75,15 +65,12 @@ (list (make-paragraph plain - (list - (make-element legend-style - (list (Figure-target tag) ": " - caption)))))))))) + (list (make-element legend-style (list (Figure-target tag) ": " caption)))))))))) -(define (figure* tag caption #:style [style centerfiguremulti-style] . content) - (*figure style tag caption content)) -(define (figure** tag caption #:style [style centerfiguremultiwide-style] . content) - (*figure style tag caption content)) +(define (figure* tag caption . content) + (*figure centerfiguremulti-style tag caption content)) +(define (figure** tag caption . content) + (*figure centerfiguremultiwide-style tag caption content)) (define figures (new-counter "figure")) (define (Figure-target tag) diff --git a/collects/scriblib/figure.tex b/collects/scriblib/figure.tex index ac297885..54a393c5 100644 --- a/collects/scriblib/figure.tex +++ b/collects/scriblib/figure.tex @@ -11,14 +11,14 @@ \newenvironment{Figure}{\begin{figure}}{\end{figure}} -\newenvironment{CenterfigureMulti}{\begin{center}}{\end{center}} -\newenvironment{CenterfigureMultiWide}{\begin{CenterfigureMulti}}{\end{CenterfigureMulti}} \newenvironment{Centerfigure}{\begin{center}}{\end{center}} -\newenvironment{Herefigure}{\begin{center}}{\end{center}} -\newenvironment{FigureInside}{\begin{list}{}{\leftmargin=0pt\topsep=0pt\parsep=\FigOrigskip\partopsep=0pt}\item}{\end{list}} +\def\Centertext#1{\begin{center}#1\end{center}} -\newenvironment{LeftfigureMulti}{\begin{center}[t!p]}{\end{center}} -\newenvironment{LeftfigureMultiWide}{\begin{leftfigureMulti}}{\end{leftfigureMulti}} \newenvironment{Leftfigure}{\begin{flushleft}}{\end{flushleft}} -\def\Centertext#1{\def\Centertext#1{\begin{center}#1\end{center}}} +\newenvironment{CenterfigureMulti}{\begin{figure*}[t!p]\centering}{\end{figure*}} +\newenvironment{CenterfigureMultiWide}{\begin{CenterfigureMulti}}{\end{CenterfigureMulti}} + +\newenvironment{Herefigure}{\begin{figure}[ht!p]\centering}{\end{figure}} + +\newenvironment{FigureInside}{\begin{list}{}{\leftmargin=0pt\topsep=0pt\parsep=\FigOrigskip\partopsep=0pt}\item}{\end{list}} From 78886fda932469ebe9e08ca780cf17ad795fdce8 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 31 Aug 2011 10:29:12 -0600 Subject: [PATCH 3/7] document `scribble/pdf-render; original commit: e7ec9f5eb7c157fa3d9ab4c1dc87ee5be89611e4 --- collects/scribblings/scribble/renderer.scrbl | 21 ++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/collects/scribblings/scribble/renderer.scrbl b/collects/scribblings/scribble/renderer.scrbl index 2b59580f..56dfb2d1 100644 --- a/collects/scribblings/scribble/renderer.scrbl +++ b/collects/scribblings/scribble/renderer.scrbl @@ -15,11 +15,17 @@ (intro))) @(begin - (define-syntax-rule (def-render-mixin id) + (define-syntax-rule (def-html-render-mixin id) (begin (require (for-label scribble/html-render)) (define id @racket[render-mixin]))) - (def-render-mixin html:render-mixin)) + (def-html-render-mixin html:render-mixin)) +@(begin + (define-syntax-rule (def-latex-render-mixin id) + (begin + (require (for-label scribble/latex-render)) + (define id @racket[render-mixin]))) + (def-latex-render-mixin latex:render-mixin)) @title[#:tag "renderer"]{Renderers} @@ -281,3 +287,14 @@ files.} @defmixin[render-mixin (render%) ()]{ Specializes a @racket[render%] class for generating Latex input.}} + +@; ---------------------------------------- + +@section{PDF Renderer} + +@defmodule/local[scribble/pdf-render]{ + +@defmixin[render-mixin (render%) ()]{ + +Specializes a @racket[render%] class for generating PDF output via +Latex, building on @|latex:render-mixin| from @racketmodname[scribble/latex-render].}} From 037d6f0f4ca0f1875ad33bef4ca57783c8475d8d Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 3 Sep 2011 14:57:57 -0600 Subject: [PATCH 4/7] add `schemecommentfont' original commit: 0b2beace40ceccbdeda4f66c3124b725730bc895 --- collects/scribble/private/manual-style.rkt | 4 +++- collects/scribblings/scribble/manual.scrbl | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/collects/scribble/private/manual-style.rkt b/collects/scribble/private/manual-style.rkt index 376de953..39b96860 100644 --- a/collects/scribble/private/manual-style.rkt +++ b/collects/scribble/private/manual-style.rkt @@ -30,7 +30,7 @@ (provide/contract [id styling-f/c] ...)) (provide-styling racketmodfont racketoutput racketerror racketfont racketvalfont racketresultfont racketidfont racketvarfont - racketparenfont racketkeywordfont racketmetafont + racketcommentfont racketparenfont racketkeywordfont racketmetafont onscreen defterm filepath exec envvar Flag DFlag PFlag DPFlag math procedure indexed-file indexed-envvar idefterm pidefterm) @@ -101,6 +101,8 @@ (make-element paren-color (decode-content str))) (define (racketmetafont . str) (make-element meta-color (decode-content str))) +(define (racketcommentfont . str) + (make-element comment-color (decode-content str))) (define (racketmodfont . str) (make-element module-color (decode-content str))) (define (racketkeywordfont . str) diff --git a/collects/scribblings/scribble/manual.scrbl b/collects/scribblings/scribble/manual.scrbl index 23751755..5ae3a8d5 100644 --- a/collects/scribblings/scribble/manual.scrbl +++ b/collects/scribblings/scribble/manual.scrbl @@ -462,6 +462,9 @@ sub-form in a procedure being documented).} @racket[racketfont], but colored as meta-syntax, such as backquote or unquote.} +@defproc[(racketcommentfont [pre-content pre-content?] ...) element?]{Like +@racket[racketfont], but colored as a comment.} + @defproc[(racketerror [pre-content pre-content?] ...) element?]{Like @racket[racketfont], but colored as error-message text.} From 077c95eb8797d7a3df03421a033993d200d945d4 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 4 Sep 2011 15:32:37 -0600 Subject: [PATCH 5/7] avoid an internal error Closes PR 12138 original commit: fd0a2e98798073ba9baf8d805ce31923f1468b1c --- collects/scribble/private/manual-vars.rkt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/collects/scribble/private/manual-vars.rkt b/collects/scribble/private/manual-vars.rkt index 1d4bea71..e37357ba 100644 --- a/collects/scribble/private/manual-vars.rkt +++ b/collects/scribble/private/manual-vars.rkt @@ -73,7 +73,9 @@ (let loop ([form (case (syntax-e kind) [(form) (if (identifier? s-exp) null - (cdr (syntax-e s-exp)))] + (if (pair? (syntax-e s-exp)) + (cdr (syntax-e s-exp)) + null))] [(form/none) s-exp] [(form/maybe) (syntax-case s-exp () From a33001e62fc8a71b623b8a02453a7c9147331666 Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Tue, 6 Sep 2011 13:38:57 -0400 Subject: [PATCH 6/7] here-figures shouldn't be on a page of their own. original commit: 371fcba252ca2ea2a4389e1a9273436253e62be4 --- collects/scriblib/figure.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/collects/scriblib/figure.tex b/collects/scriblib/figure.tex index 54a393c5..4606cd56 100644 --- a/collects/scriblib/figure.tex +++ b/collects/scriblib/figure.tex @@ -19,6 +19,6 @@ \newenvironment{CenterfigureMulti}{\begin{figure*}[t!p]\centering}{\end{figure*}} \newenvironment{CenterfigureMultiWide}{\begin{CenterfigureMulti}}{\end{CenterfigureMulti}} -\newenvironment{Herefigure}{\begin{figure}[ht!p]\centering}{\end{figure}} +\newenvironment{Herefigure}{\begin{figure}[ht!]\centering}{\end{figure}} \newenvironment{FigureInside}{\begin{list}{}{\leftmargin=0pt\topsep=0pt\parsep=\FigOrigskip\partopsep=0pt}\item}{\end{list}} From 48581ad3d0858fefee89a99fa5465cf564c41801 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Mon, 5 Sep 2011 16:08:16 -0600 Subject: [PATCH 7/7] generalized `begin-for-syntax' original commit: d3c56c9f13327d07513f8b6bf7ea0230acb7f489 --- collects/scribble/doclang.rkt | 2 +- collects/scribble/private/lp.rkt | 1 - collects/scribble/text/syntax-utils.rkt | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/collects/scribble/doclang.rkt b/collects/scribble/doclang.rkt index 3d6ce9b7..1acbea93 100644 --- a/collects/scribble/doclang.rkt +++ b/collects/scribble/doclang.rkt @@ -54,7 +54,7 @@ provide define-values define-syntaxes - define-values-for-syntax + begin-for-syntax #%require #%provide)))) #`(begin #,expanded (doc-begin m-id post-process exprs . body))] diff --git a/collects/scribble/private/lp.rkt b/collects/scribble/private/lp.rkt index ac8a10f6..a565a293 100644 --- a/collects/scribble/private/lp.rkt +++ b/collects/scribble/private/lp.rkt @@ -50,7 +50,6 @@ [(rest ...) (if n #`((subscript #,(format "~a" n))) #`())]) - #`(begin (require (for-label for-label-mod ... ...)) #,@(if n diff --git a/collects/scribble/text/syntax-utils.rkt b/collects/scribble/text/syntax-utils.rkt index 794ea84b..16c249b3 100644 --- a/collects/scribble/text/syntax-utils.rkt +++ b/collects/scribble/text/syntax-utils.rkt @@ -7,7 +7,7 @@ (begin-for-syntax (define definition-ids ; ids that don't require forcing - (syntax->list #'(define-values define-syntaxes define-values-for-syntax + (syntax->list #'(define-values define-syntaxes begin-for-syntax require provide #%require #%provide))) (define stoplist (append definition-ids (kernel-form-identifier-list))) (define (definition-id? id)