summary refs log tree commit diff
diff options
context:
space:
mode:
-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)