diff options
Diffstat (limited to 'examples/slide/skb/slides.skb')
-rw-r--r-- | examples/slide/skb/slides.skb | 286 |
1 files changed, 286 insertions, 0 deletions
diff --git a/examples/slide/skb/slides.skb b/examples/slide/skb/slides.skb new file mode 100644 index 0000000..c13b102 --- /dev/null +++ b/examples/slide/skb/slides.skb @@ -0,0 +1,286 @@ +;*=====================================================================*/ +;* 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 "∑<sub><font size='-2'>i=1</font></sub><sup><font size='-2'>i=1</font></sup> = ∫<sub><font size='-2'>0</font></sub><sup><font size='-2'>1</font></sup>f")))))))) */ +;* (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'<var = val>"))))))) */ +;* */ +;* {*--- 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 "<expr>"))]) ...,(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* [ */ +;* <elmt1 attr="val"> */ +;* Some text */ +;* <elmt2> */ +;* for the example */ +;* </elmt2> */ +;* </elmt1>])) */ +;* (%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]))])))) */ + +) |