;*=====================================================================*/
;* serrano/prgm/project/skribe/examples/slide/skb/slides.skb */
;* ------------------------------------------------------------- */
;* Author : Manuel Serrano */
;* Creation : Wed Oct 8 16:04:59 2003 */
;* Last change : Fri Oct 24 13:32:37 2003 (serrano) */
;* Copyright : 2003 Manuel Serrano */
;* ------------------------------------------------------------- */
;* Skribe slide example */
;*=====================================================================*/
;*---------------------------------------------------------------------*/
;* Style */
;*---------------------------------------------------------------------*/
(case *mode*
((advi)
(skribe-load "slide.skr" :advi #t))
((prosper)
(skribe-load "slide.skr" :prosper #t))
(else
(skribe-load "slide.skr")))
(skribe-load "local.skr")
;*---------------------------------------------------------------------*/
;* latex configuration ... */
;*---------------------------------------------------------------------*/
(let ((le (find-engine 'latex)))
(engine-custom-set! le 'transition 'slide)
(engine-custom-set! le 'usepackage
(string-append (engine-custom le 'usepackage)
"\\usepackage{pstricks,pst-node,pst-text,pst-3d}\n")))
;*---------------------------------------------------------------------*/
;* sk-expression ... */
;*---------------------------------------------------------------------*/
(define (sk-expression)
(it "sk-expression"))
(define (sk-expressions)
(it "sk-expressions"))
;*---------------------------------------------------------------------*/
;* The document */
;*---------------------------------------------------------------------*/
(document
:title (red (sf (font :size +2. "This is Skribe!")))
:author (author :name (it (magenta "Manuel Serrano, Erick Gallesio"))
:affiliation [Inria Sophia Antipolis, University of Nice]
:address (list "" (tt (skribe-url))))
;*---------------------------------------------------------------------*/
;* First slide */
;*---------------------------------------------------------------------*/
(include "ex/skribe.skb")
;* {*---------------------------------------------------------------------*} */
;* {* Overview *} */
;* {*---------------------------------------------------------------------*} */
;* (slide :title "Skribe overview" */
;* (center (image :width 90. :file "fig/overview.fig"))) */
;* {*---------------------------------------------------------------------*} */
;* {* Examples *} */
;* {*---------------------------------------------------------------------*} */
;* (if (or (skribe-mgp?) (and (skribe-tex?) *skribe-slide-advi*)) */
;* (slide :title "Skribe examples" */
;* */
;* (%embed :geometry *xterm.geo* *xterm*) */
;* (%embed :geometry *xdvi.geo* *xdvi*) */
;* */
;* (st [1 Skribe document, 2 targets:]) */
;* */
;* (%vspace 0.0) */
;* (itemize (item [A ,(sc [Nroff]) target:])) */
;* (%vspace 3) */
;* (itemize (item [A ,(sc [Dvi]) target:])))) */
;* {*---------------------------------------------------------------------*} */
;* {* Skribe gallery *} */
;* {*---------------------------------------------------------------------*} */
;* {*--- math ------------------------------------------------------------*} */
;* (slide :title "Gallery (1/2)" */
;* */
;* (st [Math skills:]) */
;* (itemize (item [A ,(LaTeX) math formula in:])) */
;* (p (font :size -3 */
;* (color :bg *display-bg* */
;* (center */
;* (hook :after */
;* (lambda () */
;* (if (skribe-tex?) */
;* (display "\\(\\sum_{i=1}^{n} x_{i} = \\int_{0}^{1} f\\)") */
;* (display "∑i=1i=1 = ∫01f")))))))) */
;* (itemize (item [Denotational semantics:])) */
;* (p (font :size -3 */
;* (color :bg *display-bg* */
;* (prgm :language denotation :monospace (skribe-html?) */
;* (map (lambda (d) */
;* (from-file "scm/eval.scm" :definition d)) */
;* '("ev-lambda1" "ev-funcall1")))))) */
;* (itemize (item [SOS rule:])) */
;* (p (font :size -4 */
;* (color :bg *display-bg* */
;* (labeled-component */
;* "Assignment" */
;* (rule */
;* (evaluate "exp" "sched, env" "val" "sched', env'") */
;* (rewrite "var = exp, sched, env" (TERM) "nothing, sched', env'"))))))) */
;* */
;* {*--- misc ------------------------------------------------------------*} */
;* (slide :title "Gallery (2/2)" */
;* */
;* (st [Misc:]) */
;* (itemize (item [A computer program:])) */
;* (p (font :size -1 (prgm :bg *example-bg* :language c :lnum 1 (from-file "ex/C-code.c")))) */
;* (itemize (item [Images: */
;* ,(p (image :width 75 :height 50 :file "img/img.jpg") */
;* (hook :after (lambda () */
;* (cond */
;* ((skribe-tex?) */
;* (display "\\ \\ \\ \\ ")) */
;* (else */
;* (display " "))))) */
;* (image :width 25 :height 50 :file "img/img.jpg") */
;* (hook :after (lambda () */
;* (cond */
;* ((skribe-tex?) */
;* (display "\\ \\ \\ \\ ")) */
;* (else */
;* (display " "))))) */
;* (image :width 150 :height 50 :file "img/img.jpg"))]))) */
;* */
;*---------------------------------------------------------------------*/
;* Syntax */
;*---------------------------------------------------------------------*/
(slide :title "Skribe Syntax" :vspace 0.3
(st [,(sk-expression):])
(slide-pause)
(itemize (item [An ,(emph "atom") (a ,(red (it "string")), a ,(red (it "number")), ...)] (slide-pause))
(item [A ,(emph "list") of ,(!latex "{\\rnode{NA}{$1}}" (sk-expressions))] (slide-pause))
(item [A ,(emph "text") (,(red (tt [ ,(char "[")... ,(blue [,(char ",")(,(it ""))]) ...,(char "]") ])))] (slide-pause)))
(slide-vspace 0.3)
(p [,(!latex "{\\rnode{NB}{$1}}" (st [Example:]))
,(slide-pause)
,(!latex "{\\nccurve[linecolor=red,angleA=90,angleB=270]{->}{NB}{NA}}")
,(skribe-prgm :fsize 0 (source :file "ex/syntax.scr"))])
(p [is equivalent to:
,(slide-pause)
,(skribe-prgm :fsize 0 [(list "text goodies: " (bold "bold") "and" (it "italic") ".")])]))
;* {*---------------------------------------------------------------------*} */
;* {* Skribe documents *} */
;* {*---------------------------------------------------------------------*} */
;* (slide :title "Skribe Documents (1/2)" :vspace 0.5 */
;* */
;* (st [Skribe Document Structure:]) */
;* (p (skribe-prgm [,(from-file "ex/skel.scr")]))) */
;* */
;* {*--- markup ----------------------------------------------------------*} */
;* (slide :title "Skribe Documents (2/2)" :vspace 0.5 */
;* (st [XML markup:]) */
;* (p (prgm :language xml :bg *example-bg* [ */
;* */
;* Some text */
;* */
;* for the example */
;* */
;* ])) */
;* (%vspace 0.3) */
;* (st [Sc-markup:]) */
;* (p (skribe-prgm [,(from-file "ex/xml.scr")]))) */
;* */
;* {*---------------------------------------------------------------------*} */
;* {* Libraries *} */
;* {*---------------------------------------------------------------------*} */
;* (slide :title "Skribe Libraries" */
;* */
;* (st [A set of libraries containing the ,(q "usual") facilities. For instance:]) */
;* */
;* (p (skribe-prgm [,(from-file "ex/itemize.scr")])) */
;* (%vspace 0.1) */
;* (st [Produces the following output text:]) */
;* (center (color :bg *display-bg* (font :size -2 (include "ex/itemize.scr"))))) */
;* */
;* {*---------------------------------------------------------------------*} */
;* {* Dynamic texts *} */
;* {*---------------------------------------------------------------------*} */
;* (slide :title "Dynamic texts (1/3)" :vspace 0.2 */
;* */
;* (st [Let us assume the factorial table:]) */
;* (%vspace 0.5) */
;* */
;* (center (font :size -1 (color :bg *display-bg* (include "ex/fact.scr"))))) */
;* */
;* {*--- dynamic texts: the usual solution -------------------------------*} */
;* (slide :title "Dynamic texts (2/3)" */
;* */
;* (st [The usual solution:]) */
;* (p (skribe-prgm :fsize -1 (from-file "ex/factb.scr")))) */
;* */
;* {*--- dynamic texts: a better solution --------------------------------*} */
;* (slide :title "Dynamic texts (3/3)" */
;* */
;* (st [A better solution:]) */
;* (p (skribe-prgm (from-file "ex/fact.scr")))) */
;* */
;* {*---------------------------------------------------------------------*} */
;* {* Introspection *} */
;* {*---------------------------------------------------------------------*} */
;* {*--- Introspection ---------------------------------------------------*} */
;* (slide :title "Introspection" */
;* */
;* (color :bg *image-bg* */
;* (center (image :width 1. :file "fig/skribe.fig")))) */
;* */
;* {*--- Number of slides ------------------------------------------------*} */
;* (slide :title "Introspection: an example (1/2)" */
;* */
;* (p (color :bg *display-bg* (include "ex/slide.scr")))) */
;* */
;* {*--- Number of slides (2/2) ------------------------------------------*} */
;* (slide :title "Introspection: an example (2/2)" :vspace 0.5 */
;* */
;* (st [The previous output is produced with:]) */
;* (p (skribe-prgm (from-file "ex/slide.scr")))) */
;* */
;* {*---------------------------------------------------------------------*} */
;* {* Conditional evaluation *} */
;* {*---------------------------------------------------------------------*} */
;* (slide :title "Conditional evaluation" :vspace 0.5 */
;* */
;* (st [Some features are dependent of the target format:]) */
;* (itemize (item [Only specific back-ends may support specific features]) */
;* (item [It is in charge of the back-ends to implement */
;* ,(emph "reasonable") behaviors for unsupported features. */
;* Examples: */
;* ,(itemize (item [Hyper links]) */
;* (item [Images]) */
;* (item [...]))]) */
;* (item [Skribe enables conditional evaluation: */
;* ,(itemize (item [according to the target format]) */
;* (item [enabling target format commands]))]))) */
;* */
;* {*---------------------------------------------------------------------*} */
;* {* Extensibility *} */
;* {*---------------------------------------------------------------------*} */
;* (slide :title "Extensibility" */
;* */
;* (st [User level:]) */
;* (itemize (item [New markups can be defined in a document]) */
;* (item [A markup is a Skribe (Scheme) function]) */
;* (item [Example: the ,(code "(%pause)") slide facility:])) */
;* */
;* (p (skribe-prgm [ */
;* (define (%pause) */
;* (cond */
;* ((skribe-mgp?) (hook :after (lambda () (display "%pause")))) */
;* ((skribe-advi-tex?) (hook :after (lambda () (print "\\adviwait")))) */
;* (else (linebreak))))])) */
;* (%pause) */
;* */
;* (st [System level:]) */
;* (itemize (item [New back-ends can be dynamically added]) */
;* (item [The ,(sc-ast) can be extended]))) */
;* */
;* {*---------------------------------------------------------------------*} */
;* {* Conclusion *} */
;* {*---------------------------------------------------------------------*} */
;* (slide :title "Conclusion" :vspace 0.5 */
;* */
;* (st [Status:]) */
;* (itemize (item [Available on-line: ,(ref :url (skribe-url))]) */
;* (item [Available since a couple of months]) */
;* (item [Used, by the authors, on a daily basis]) */
;* (item [,(magenta (bold [Still too young])) ,(symbol '=>) */
;* ,(itemize (item [Very few styles have been implemented]) */
;* (item [It is still necessary to be aware of the */
;* targets idiosyncrasies]) */
;* (item [Difficult to tame the fix-point */
;* iteration of the computation model]))])))) */
)