commit 201f2799407068a73ccf265af4e408ce296f6123
parent 16ff0ec9a493c162ea15d22b74cda3b2a8c153bc
Author: Matthew Flatt <mflatt@racket-lang.org>
Date: Sat, 26 Nov 2011 09:01:46 -0700
scribble: use Latex skull package only if needed
original commit: 93bcc58a0c348429a6fc145d83211d4e038f95e6
Diffstat:
4 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/collects/scribble/base-render.rkt b/collects/scribble/base-render.rkt
@@ -117,8 +117,14 @@
(extract-style-style-files (paragraph-style p) ht pred extract)
(extract-content-style-files (paragraph-content p) d ri ht pred extract)]))
+ (define/public (string-to-implicit-styles e) null)
+
(define/private (extract-content-style-files e d ri ht pred extract)
(cond
+ [(string? e) (let ([ses (string-to-implicit-styles e)])
+ (when (pair? ses)
+ (for ([s (in-list ses)])
+ (extract-style-style-files s ht pred extract))))]
[(element? e)
(when (style? (element-style e))
(extract-style-style-files (element-style e) ht pred extract))
diff --git a/collects/scribble/latex-render.rkt b/collects/scribble/latex-render.rkt
@@ -40,6 +40,9 @@
(define/override (render-part-depth) n)
(super-new))))
+(define-runtime-path skull-tex "scribble-skull.tex")
+(define skull-style (make-style #f (list (tex-addition skull-tex))))
+
(define (render-mixin %)
(class %
(inherit-field prefix-file style-file style-extra-files)
@@ -706,6 +709,12 @@
[else (display-protected (format "~s" i))])
null)
+ (define/override (string-to-implicit-styles e)
+ (for/fold ([ses null]) ([ch (in-string e)])
+ (case ch
+ [(#\☠) (cons skull-style ses)]
+ [else ses])))
+
(define/private (display-protected s)
(if (eq? (rendering-tt) 'exact)
(display s)
@@ -892,7 +901,7 @@
[(#\∝) "$\\propto$"]
[(#\⊢) "$\\vdash$"]
[(#\⊣) "$\\dashv$"]
- [(#\☠) "$\\skull$"]
+ [(#\☠) "$\\skull$"]
[(#\☺) "$\\smiley$"]
[(#\☻) "$\\blacksmiley$"]
[(#\☹) "$\\frownie$"]
diff --git a/collects/scribble/scribble-skull.tex b/collects/scribble/scribble-skull.tex
@@ -0,0 +1 @@
+\usepackage{skull}
diff --git a/collects/scribble/scribble.tex b/collects/scribble/scribble.tex
@@ -6,7 +6,6 @@
\usepackage{stabular}
\usepackage{relsize}
\usepackage{wasysym}
-\usepackage{skull}
\usepackage{textcomp}
\usepackage{framed}
\usepackage[htt]{hyphenat}