10. Skribilo User Manual — Slide Package |
This chapter describes the facilities Skribilo offers authoring
slides. As usual, in order to access the functionalities described in
this chapter, the (use-modules (skribilo package slide))
expression must be introduced at the beginning of the document.
A slide
function call creates a slide.
(slide :title [:image] [:bg] [:transition] [:vfill] [:vspace] [:number #t
] [:toc #t
] [:class] [:ident])
slide-topic
(see
below). html lout latex #f
or an integer representing
the vertical space size between the title and the body of the slide. latex \vfill
is issued at the end of the slide. latex Optionally, one may group slides into topics and subtopics. Topics and subtopics are just logical grouping under a given title that are meant to provide structure to a set of slides. With their :outline? option, these two markups can be used to automatically produce an outline at the beginning of each new (sub)topic, which reminds the audience of the current position within the talk.
(slide-topic :title [:class] [:ident] [:toc #t
] [:unfold? #t
] [:outline? #t
])
(slide-subtopic :title [:class] [:ident] [:toc #t
] [:unfold?] [:outline?])
#t
or #f
) telling whether an outline should be produced at the beginning of
this topic. The outline will typically list the titles of the different
topics, as well as the titles of the slides under the current topic.
Note that slide
s whose :toc option is #f
will not be shown in the outline. html lout latex context info xml #t
, then the outline will also
show the contents of the current topic. lout latex context info xml slide-topic
(see
below). This package understands the following additional customs (see Section Engine Customs):
A slide-pause
function call introduces a pause in the slide
projection. This may not be supported by all engines.
(slide-pause)
Embed an application inside a slide.
Here is a complete example of Skribilo slides:
(use-modules (skribilo package slide)) (document :title (color :fg "red" (sf "Skribilo Slides")) :author (author :name (it [Bob Smith]) :affiliation [The Organization] :address (ref :url "http://example.org/")) (slide :title "Table of Contents" :number #f ;; "Manually" produce a list of the slides. This works by traversing ;; the whole document tree, looking for `slide' nodes. (p (resolve (lambda (n e env) (let ((slides (search-down (lambda (n) (is-markup? n 'slide)) (ast-document n)))) (itemize (map (lambda (n) (item (ref :handle (handle n) :text (markup-option n :text)))) slides))))))) (slide :title "Introduction" :vspace 0.3 (p [This is a simple slide, not grouped in any topic.])) (slide-topic :title "Interactive Features" :outline? #t (slide :title "X11 Clients" :toc #t :vspace 0.3 (itemize (item "xlock") (item "xeyes") (item "xterm"))) (slide :title "Xclock" :toc #t :vspace 0.3 (center (sf (underline "The Unix xclock client"))) (slide-vspace 0.3) (slide-pause) (slide-embed :command "xlock" :alt (frame "Can't run embedded application")))))
... produces: