diff options
author | Ludovic Court`es | 2007-06-04 12:43:42 +0000 |
---|---|---|
committer | Ludovic Court`es | 2007-06-04 12:43:42 +0000 |
commit | 5617d303ebb53291567f5b8199afb2d95db8e89b (patch) | |
tree | 9d244dc13e2f08140b39cdc246f252054ec7e2d9 /src/guile/skribilo/ast.scm | |
parent | b373074b4418c06082e28479c88ec750a4501710 (diff) | |
download | skribilo-5617d303ebb53291567f5b8199afb2d95db8e89b.tar.gz skribilo-5617d303ebb53291567f5b8199afb2d95db8e89b.tar.lz skribilo-5617d303ebb53291567f5b8199afb2d95db8e89b.zip |
Fixed handling of figure numbering in `ref'.
* src/guile/skribilo/ast.scm (markup-number-string): Don't use a
hierarchical numbering scheme for figures.
* src/guile/skribilo/engine/lout.scm (ref): Use `markup-number-string'
rather than `@NumberOf' to determine the number of a figure. This
guarantees numbering consistency.
git-archimport-id: lcourtes@laas.fr--2006-libre/skribilo--devo--1.2--patch-55
Diffstat (limited to 'src/guile/skribilo/ast.scm')
-rw-r--r-- | src/guile/skribilo/ast.scm | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/guile/skribilo/ast.scm b/src/guile/skribilo/ast.scm index 534b832..e60957c 100644 --- a/src/guile/skribilo/ast.scm +++ b/src/guile/skribilo/ast.scm @@ -608,14 +608,21 @@ (define* (markup-number-string markup :optional (sep ".")) ;; Return a structure number string such as "1.2". - (let loop ((markup markup)) - (if (document? markup) - "" - (let ((parent-num (loop (ast-parent markup))) - (num (markup-option markup :number))) - (string-append parent-num - (if (string=? "" parent-num) "" sep) - (if (number? num) (number->string num) "")))))) + (cond ((is-markup? markup 'figure) + ;; Figure numbering is assumed to be document-wide. + (number->string (markup-option markup :number))) + (else + ;; Use a hierarchical numbering scheme. + (let loop ((markup markup)) + (if (document? markup) + "" + (let ((parent-num (loop (ast-parent markup))) + (num (markup-option markup :number))) + (string-append parent-num + (if (string=? "" parent-num) "" sep) + (if (number? num) + (number->string num) + "")))))))) ;;; arch-tag: e2489bd6-1b6d-4b03-bdfb-83cffd2f7ce7 |