Hi Roger, Sorry for the delay, and happy new year! :-)
Roger Mason <[email protected]> skribis: > (markup-writer '&latex-floating-table-stop > :options '(:legend :ident) > :action (lambda (n e) > (let ((legend (markup-option n :legend)) > (ident (markup-ident n))) > (format #t "\\caption{\\label{~a}" > (string-canonicalize ident)) ;(expecting string): #f […] > (when (eq? floating #t) > (output (new markup > (markup '&latex-floating-table-stop) > (class "table") > (options `((legend ,(markup-option n :legend)) > (ident ,(markup-ident n))))) > e) > ) […] > In ../../../skribilo-0.9.3/src/guile/skribilo/engine/latex.scm: > 1165: 2 [#<procedure 2959df50 at > ../../../skribilo-0.9.3/src/guile/skribilo/engine/latex.scm:1162:23 (n e)> # > ...] > In ../../../skribilo-0.9.3/src/guile/skribilo/utils/strings.scm: > 52: 1 [string-canonicalize #f] > In unknown file: > ?: 0 [string-length #f] > > ERROR: In procedure string-length: > ERROR: In procedure string-length: Wrong type argument in position 1 > (expecting string): #f The problem seems to be that the (new markup (markup '&latex-floating-table-stop) …) expression above does not provide an ‘ident’ field, so the ‘ident’ remains #f. The “normal” way is like this (taken from (skribilo package base)): --8<---------------cut here---------------start------------->8--- (new markup (markup '~) (ident (symbol->string (gensym "~"))) ; <– here (class class) (loc &invocation-location) (required-options '()) (options (the-options opts :class)) (body (the-body opts))) --8<---------------cut here---------------end--------------->8--- HTH! Ludo’. _______________________________________________ Skribilo-users mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/skribilo-users
