2.1 Primary Slide Functions
procedure
(slide [ #:title title #:name name #:aspect aspect #:layout layout #:gap-size sep-gap-size #:inset inset #:timeout secs #:condense? condense?] element ...) → void? title : (or/c #f string? pict?) = #f name : (or/c #f string?) = title aspect : aspect? = #f layout : (or/c 'auto 'center 'top 'tall) = 'auto sep-gap-size : real? = (current-gap-size) inset : slide-inset? = (make-slide-inset 0 0 0 0) secs : (or/c #f real?) = #f condense? : any/c = (and secs #t)
element :
(flat-rec-contract elem/c (or/c pict-convertible? 'next 'next! 'alts 'alts~ 'nothing comment? (listof (listof elem/c))))
When this function is first called in non-printing mode, then the viewer window is opened. Furthermore, each call to the function yields, so that the viewer window can be refreshed, and so the user can step through slides. If the user closes the slide window, then slide triggers an error unless set-allow-new-slides-after-close! was called with a true value before the window was closed.
If title is not #f, then a title is shown for the slide. The name is used in the slide-navigation dialog, and it defaults to title.
If layout is 'top, then the content is top-aligned, with (* 2 sep-gap-size) space between the title and the content. The 'tall layout is similar, but with only sep-gap-size space. The 'center mode centers the content (ignoring space consumed by the title). The 'auto mode is like 'center, except when title is non-#f and when the space between the title and content would be less than (* 2 sep-gap-size), in which case it behaves like 'top.
The inset argument supplies an inset that makes the slide-viewing window smaller when showing the slide. See make-slide-inset for more information.
If secs argument for #:timeout is not #f, then the viewer automatically advances from this slide to the next after secs seconds, and manual advancing skips this slide.
If condense? is true, then in condense mode (as specified by the -c command-line flag), the slide is not created and registered.
Changed in version 1.5 of package slideshow-lib: Added the #:aspect argument.
procedure
(para [ #:aspect aspect #:width width #:align align #:fill? fill? #:decode? decode?] element ...) → pict? aspect : aspect? = #f width : real? = ((get-current-para-width #:aspect aspect)) align : (or/c 'left 'center 'right) = 'left fill? : any/c = #t decode? : any/c = #t
element :
(flat-rec-contract elem/c (or/c string? pict? (listof elem/c)))
Each list within elements is spliced into the sequence of string and pict elements. If decode? is true, then strings among the elements are decoded by performing the following substitutions: --- → —, -- → –, `` → “, '' → ”, ' → ’. In addition, to better work with at-exp notation, if an element is "\n", then it is dropped along with any spaces at the start of the next element.
Strings are split at spaces for word-wrapping to fit the page, and a space is added between elements. If a string element starts with one of the following punctuation marks (after decoding), however, no space is added before the string:
- ' , . : ; ? ! ) ” ’
The align argument specifies how to align lines within the paragraph.
See the spacing between lines is determined by the current-line-sep parameter.
Changed in version 1.5 of package slideshow-lib: Added the #:aspect argument.
procedure
(item [ #:aspect aspect #:width width #:gap-size sep-gap-size #:bullet blt #:align align #:fill? fill? #:decode? decode?] element ...) → pict? aspect : aspect? = #f width : real? = ((get-current-para-width #:aspect aspect)) sep-gap-size : real? = (current-gap-size) blt : pict? = (scale bullet (/ sep-gap-size gap-size)) align : (or/c 'left 'center 'right) = 'left fill? : any/c = #t decode? : any/c = #t
element :
(flat-rec-contract elem/c (or/c string? pict? (listof elem/c)))
Changed in version 1.5 of package slideshow-lib: Added the #:aspect argument.
procedure
(subitem [ #:aspect aspect #:width width #:gap-size sep-gap-size #:bullet blt #:align align #:fill? fill? #:decode? decode?] element ...) → pict? aspect : aspect? = #f width : real? = ((get-current-para-width #:aspect aspect)) sep-gap-size : real? = (current-gap-size) blt : pict? = (scale o-bullet (/ sep-gap-size gap-size)) align : (or/c 'left 'center 'right) = 'left fill? : any/c = #t decode? : any/c = #t
element :
(flat-rec-contract elem/c (or/c string? pict? (listof elem/c)))
Changed in version 1.5 of package slideshow-lib: Added the #:aspect argument.
procedure
(size-in-pixels pict [#:aspect aspect]) → pict?
pict : pict? aspect : aspect? = #f
Changed in version 1.5 of package slideshow-lib: Added the #:aspect argument.
procedure
(pict->pre-render-pict pict) → pict?
pict : pict?
Added in version 1.1 of package slideshow-lib.
procedure
(make-outline name title subitems ... [ #:aspect aspect]) → (symbol? . -> . void?) name : (or/c symbol? (listof symbol?)) title : (or/c string? pict?)
subitems :
(or/c #f null? (symbol? . -> . pict?)) aspect : aspect? = #f
The ... above applies to all three arguments together. Each trio of arguments defines a section for the outline:
The section name is either a symbol or a list of symbols. When the outline function is called later to make an outline, the given symbol is compared to the section’s symbol(s), and the section is marked as current if the symbol matches.
The title is used as the displayed name of the section.
The subitems are displayed when the section is active. It can be #f or null (for historical reasons) if no subitems are to be displayed. Otherwise, it should be a function that takes a symbol (the same one passed to the outline maker) and produces a pict.
Changed in version 1.5 of package slideshow-lib: Added the #:aspect argument.