summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès2008-03-03 15:44:35 +0100
committerLudovic Courtès2008-03-03 15:44:35 +0100
commit569391b672f12a742a61f3575ca09660098d7514 (patch)
treecbc4107117f07b740bb7ac483f94de2c7c642dde
parent60e24026ecf587e203edfed981f5c6347f0c548a (diff)
downloadskribilo-569391b672f12a742a61f3575ca09660098d7514.tar.gz
skribilo-569391b672f12a742a61f3575ca09660098d7514.tar.lz
skribilo-569391b672f12a742a61f3575ca09660098d7514.zip
slide: Determine what to include in the outline slide based on `:toc'.
* NEWS: Update. * doc/user/slide.skb: Update. * src/guile/skribilo/package/slide.scm (slide-topic, slide-subtopic): Add `toc' option. * src/guile/skribilo/package/slide/base.scm (make-subtopic-list): Filter topic nodes whose `:toc' is true.
-rw-r--r--NEWS2
-rw-r--r--doc/user/slide.skb55
-rw-r--r--src/guile/skribilo/package/slide.scm6
-rw-r--r--src/guile/skribilo/package/slide/base.scm3
4 files changed, 34 insertions, 32 deletions
diff --git a/NEWS b/NEWS
index 816bc90..1b6286e 100644
--- a/NEWS
+++ b/NEWS
@@ -25,6 +25,8 @@ These harmless warnings looked like:
Namely, `slide-outline-title' and
`slide-outline-{active,inactive}-color'. See manual for details.
+** The `:toc' option of `slide' determines whether to include it in the outline
+
* New in Skribilo 0.9.0 (user-visible changes compared to Skribe 1.2d)
diff --git a/doc/user/slide.skb b/doc/user/slide.skb
index fa1534f..92d3f43 100644
--- a/doc/user/slide.skb
+++ b/doc/user/slide.skb
@@ -80,50 +80,47 @@ Skribe to generate slides for the LaTeX prosper package.])
(p [A ,(code "slide") function call creates a slide.])
(doc-markup 'slide
- `((:title [The title of the slide.])
- (:number [The number of the slide (a boolean or an integer).])
- (:toc [This argument controls if the slide must
-be referenced in the ,(mark :mark "toc" "table of contents").])
- (:vspace [The boolean ,(code "#f") or an integer representing
+ `((:title ,[The title of the slide.])
+ (:number ,[The number of the slide (a boolean or an integer).])
+ (:toc ,[This argument controls if the slide must be
+referenced in the ,(ref :mark "toc" :text "table of contents") and the
+outline slide that introduces a ,(markup-ref "slide-topic") (see
+below).])
+ (:vspace ,[The boolean ,(code "#f") or an integer representing
the vertical space size between the title and the body of the slide.])
- (:vfill [A boolean that is used to control whether a LaTeX
+ (:vfill ,[A boolean that is used to control whether a LaTeX
,(code "\\vfill") is issued at the end of the slide.])
- (:transition [The boolean ,(code "#f") or a symbol in the
+ (:transition ,[The boolean ,(code "#f") or a symbol in the
list ,(code "(split blinds box wipe dissolve glitter)").])
- (:bg [The background color of the slide.])
- (:image [The background image of the slide.]))
+ (:bg ,[The background color of the slide.])
+ (:image ,[The background image of the slide.]))
:source "skribilo/package/slide.scm")
(p [Optionally, one may group slides into ,(emph [topics]) and
,(emph [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 ,(code [:outline?]) option, these two markups can be
+slides. With their ,(param :outline?) option, these two markups can be
used to automatically produce an outline at the beginning of each new
-(sub)topic, so that the audience knows what the talk is heading to.])
+(sub)topic, which reminds the audience of the current position within
+the talk.])
(doc-markup 'slide-topic
- `((:title [The title of a topic.])
- (:outline? [A boolean (i.e., ,(code [#t]) or ,(code
+ `((:title ,[The title of a topic.])
+ (:outline? ,[A boolean (i.e., ,(code [#t]) or ,(code
[#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.])
- (:unfold? [If ,(code [#t]), then the outline will also
-show the contents of the current topic.]))
+topics, as well as the titles of the slides under the current topic.
+Note that ,(markup-ref "slide")s whose ,(param :toc) option is ,(code
+[#f]) will not be shown in the outline.])
+ (:unfold? ,[If ,(code [#t]), then the outline will also
+show the contents of the current topic.])
+ (:toc ,[This argument controls if the slide must be
+referenced in the ,(ref :mark "toc" :text "table of contents") and the
+outline slide that introduces a ,(markup-ref "slide-topic") (see
+below).]))
+ :others '(slide-subtopic)
:source "skribilo/package/slide.scm")
-
- (p [The ,(code [slide-subtopic]) markup is similar:])
- (doc-markup 'slide-subtopic
- `((:title [The title of a subtopic.])
- (:outline? [A boolean (i.e., ,(code [#t]) or ,(code
-[#f])) telling whether an outline should be produced at the beginning of
-this subtopic. The outline will typically list the titles of the
-different subtopics, as well as the titles of the slides under the
-current subtopic.])
- (:unfold? [If ,(code [#t]), then the outline will also
-show the contents of the current subtopic.]))
- :source "skribilo/package/slide.scm")
-
(p [This package understands the following additional customs (see
Section ,(ref :subsection "Engine Customs" :page #t)):
diff --git a/src/guile/skribilo/package/slide.scm b/src/guile/skribilo/package/slide.scm
index 86cfb90..050ed6a 100644
--- a/src/guile/skribilo/package/slide.scm
+++ b/src/guile/skribilo/package/slide.scm
@@ -252,7 +252,7 @@
;* slide-topic ... */
;*---------------------------------------------------------------------*/
(define-markup (slide-topic :rest opt
- :key title (outline? #t) (unfold? #t)
+ :key title (outline? #t) (unfold? #t) (toc #t)
(ident #f) (class #f))
(new container
(markup 'slide-topic)
@@ -262,6 +262,7 @@
(loc &invocation-location)
(options `((:outline? ,outline?)
(:unfold? ,unfold?)
+ (:toc ,toc)
,@(the-options opt :outline? :unfold? :class)))
(body (the-body opt))))
@@ -269,7 +270,7 @@
;* slide-subtopic ... */
;*---------------------------------------------------------------------*/
(define-markup (slide-subtopic :rest opt
- :key title (outline? #f) (unfold? #f)
+ :key title (outline? #f) (unfold? #f) (toc #t)
(ident #f) (class #f))
(new container
(markup 'slide-subtopic)
@@ -279,6 +280,7 @@
(loc &invocation-location)
(options `((:outline? ,outline?)
(:unfold? ,unfold?)
+ (:toc ,toc)
,@(the-options opt :outline? :class)))
(body (the-body opt))))
diff --git a/src/guile/skribilo/package/slide/base.scm b/src/guile/skribilo/package/slide/base.scm
index 45657c5..cb50ca1 100644
--- a/src/guile/skribilo/package/slide/base.scm
+++ b/src/guile/skribilo/package/slide/base.scm
@@ -104,7 +104,8 @@
(filter (lambda (n)
(and (markup? n)
(member (markup-markup n)
- subtopic-types)))
+ subtopic-types)
+ (markup-option n :toc)))
(markup-body node))))))))
(define (make-topic-list current-topic recurse? make-entry-proc)