summaryrefslogtreecommitdiff
path: root/skribe/examples/slide/skb
diff options
context:
space:
mode:
Diffstat (limited to 'skribe/examples/slide/skb')
-rw-r--r--skribe/examples/slide/skb/slides.skb286
1 files changed, 286 insertions, 0 deletions
diff --git a/skribe/examples/slide/skb/slides.skb b/skribe/examples/slide/skb/slides.skb
new file mode 100644
index 0000000..c13b102
--- /dev/null
+++ b/skribe/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 "&#8721;<sub><font size='-2'>i=1</font></sub><sup><font size='-2'>i=1</font></sup> = &#8747;<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]))])))) */
+
+)