aboutsummaryrefslogtreecommitdiff
path: root/src/guile/skribilo/ast.scm
diff options
context:
space:
mode:
authorLudovic Court`es2007-06-04 12:43:42 +0000
committerLudovic Court`es2007-06-04 12:43:42 +0000
commit5617d303ebb53291567f5b8199afb2d95db8e89b (patch)
tree9d244dc13e2f08140b39cdc246f252054ec7e2d9 /src/guile/skribilo/ast.scm
parentb373074b4418c06082e28479c88ec750a4501710 (diff)
downloadskribilo-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.scm23
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