From d558e816b374367b40c6880f2f8eb9bcb6044113 Mon Sep 17 00:00:00 2001 From: Ludovic Court`es Date: Thu, 20 Sep 2007 09:33:28 +0000 Subject: lout: New `:word' option for `chapter' et al. * src/guile/skribilo/engine/lout.scm (lout-block-before): Handle the `:word' option (note `@BypassWord' should be added in Lout 3.37). (chapter, section, subsection, subsubsection): Mark `:word' as supported. (ref): Sanity-check IDENT. git-archimport-id: lcourtes@laas.fr--2006-libre/skribilo--devo--1.2--patch-106 --- src/guile/skribilo/engine/lout.scm | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/guile/skribilo/engine/lout.scm b/src/guile/skribilo/engine/lout.scm index 1aefe5c..49df54d 100644 --- a/src/guile/skribilo/engine/lout.scm +++ b/src/guile/skribilo/engine/lout.scm @@ -1359,6 +1359,7 @@ (let ((lout-markup (lout-structure-markup (markup-markup n) e)) (title (markup-option n :title)) (number (markup-option n :number)) + (word (markup-option n :word)) (ident (markup-ident n))) (if (not lout-markup) @@ -1380,6 +1381,12 @@ (markup-number-string n)) (display " @BypassNumber { } # unnumbered\n")) + (if (and word + (eq? (engine-custom e 'document-type) + 'book)) + (format #t " @BypassWord { ~a }~%" + word)) + (cond ((string? ident) (begin (display " @Tag { ") @@ -1485,7 +1492,7 @@ ;* section ... .. @label chapter@ */ ;*---------------------------------------------------------------------*/ (markup-writer 'chapter - :options '(:title :number :toc :file :env) + :options '(:title :number :toc :file :env :word) :validate (lambda (n e) (document? (ast-parent n))) @@ -1503,7 +1510,7 @@ ;* section ... . @label section@ */ ;*---------------------------------------------------------------------*/ (markup-writer 'section - :options '(:title :number :toc :file :env) + :options '(:title :number :toc :file :env :word) :validate (lambda (n e) (is-markup? (ast-parent n) 'chapter)) :before lout-start-large-scale-structure @@ -1513,7 +1520,7 @@ ;* subsection ... @label subsection@ */ ;*---------------------------------------------------------------------*/ (markup-writer 'subsection - :options '(:title :number :toc :file :env) + :options '(:title :number :toc :file :env :word) :validate (lambda (n e) (is-markup? (ast-parent n) 'section)) :before lout-start-large-scale-structure @@ -1523,7 +1530,7 @@ ;* subsubsection ... @label subsubsection@ */ ;*---------------------------------------------------------------------*/ (markup-writer 'subsubsection - :options '(:title :number :toc :file :env) + :options '(:title :number :toc :file :env :word) :validate (lambda (n e) (is-markup? (ast-parent n) 'subsection)) :before lout-start-large-scale-structure @@ -2488,7 +2495,7 @@ (if text (output text e)) ;; Marks don't have a number - (if (eq? kind 'mark) + (if (and ident (eq? kind 'mark)) (format #t (lout-page-of ident)) (begin ;; Don't output a section/whatever number @@ -2504,7 +2511,7 @@ (markup-number-string target)))) (display " ") (display number)) - (if show-page-num? + (if (and ident show-page-num?) (format #t (lout-page-of ident)))))))))) ;*---------------------------------------------------------------------*/ -- cgit v1.2.3