diff options
Diffstat (limited to 'src/guile/skribilo/package/eq/lout.scm')
-rw-r--r-- | src/guile/skribilo/package/eq/lout.scm | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/src/guile/skribilo/package/eq/lout.scm b/src/guile/skribilo/package/eq/lout.scm index 21e8f92..cc305f1 100644 --- a/src/guile/skribilo/package/eq/lout.scm +++ b/src/guile/skribilo/package/eq/lout.scm @@ -37,25 +37,24 @@ ;;; Initialization. ;;; -(let ((lout (find-engine 'lout))) - (if (not lout) - (skribe-error 'eq "Lout engine not found" lout) - (let ((includes (engine-custom lout 'includes))) - ;; Append the `eq' include file - (engine-custom-set! lout 'includes - (string-append includes "\n" - "@SysInclude { eq }\n"))))) +(when-engine-is-instantiated (lookup-engine-class 'lout) + (lambda (lout class) + (let ((includes (engine-custom lout 'includes))) + ;; Append the `eq' include file + (engine-custom-set! lout 'includes + (string-append includes "\n" + "@SysInclude { eq }\n"))))) ;;; ;;; Simple markup writers. ;;; -(markup-writer 'eq-display (find-engine 'lout) +(markup-writer 'eq-display (lookup-engine-class 'lout) :before "\n@BeginAlignedDisplays\n" :after "\n@EndAlignedDisplays\n") -(markup-writer 'eq (find-engine 'lout) +(markup-writer 'eq (lookup-engine-class 'lout) :options '(:inline? :align-with :div-style :mul-style) :before (lambda (node engine) (let* ((parent (ast-parent node)) @@ -113,7 +112,8 @@ `(if need-paren? %right-paren "") ""))) - `(markup-writer ',(symbol-append 'eq: sym) (find-engine 'lout) + `(markup-writer ',(symbol-append 'eq: sym) + (lookup-engine-class 'lout) :action (lambda (node engine) (let* ((lout-name ,(if (string? lout-name) lout-name @@ -188,7 +188,7 @@ (simple-lout-markup-writer >=) (define-macro (binary-lout-markup-writer sym lout-name) - `(markup-writer ',(symbol-append 'eq: sym) (find-engine 'lout) + `(markup-writer ',(symbol-append 'eq: sym) (lookup-engine-class 'lout) :action (lambda (node engine) (let ((body (markup-body node))) (if (= (length body) 2) @@ -210,7 +210,7 @@ (binary-lout-markup-writer in "element") (binary-lout-markup-writer notin "notelement") -(markup-writer 'eq:apply (find-engine 'lout) +(markup-writer 'eq:apply (lookup-engine-class 'lout) :action (lambda (node engine) (let ((func (car (markup-body node)))) (output func engine) @@ -226,7 +226,7 @@ (display %right-paren)))) -(markup-writer 'eq:limit (find-engine 'lout) +(markup-writer 'eq:limit (lookup-engine-class 'lout) :action (lambda (node engine) (let ((body (markup-body node)) (var (markup-option node :var)) @@ -239,7 +239,7 @@ (output body engine) (display (string-append %right-paren " } "))))) -(markup-writer 'eq:combinations (find-engine 'lout) +(markup-writer 'eq:combinations (lookup-engine-class 'lout) :action (lambda (node engine) (let ((of (markup-option node :of)) (among (markup-option node :among))) @@ -256,7 +256,7 @@ ;;; (define-macro (range-lout-markup-writer sym lout-name) - `(markup-writer ',(symbol-append 'eq: sym) (find-engine 'lout) + `(markup-writer ',(symbol-append 'eq: sym) (lookup-engine-class 'lout) :action (lambda (node engine) (let ((from (markup-option node :from)) (to (markup-option node :to)) @@ -273,7 +273,7 @@ (range-lout-markup-writer sum "sum") (range-lout-markup-writer product "prod") -(markup-writer 'eq:script (find-engine 'lout) +(markup-writer 'eq:script (lookup-engine-class 'lout) :action (lambda (node engine) (let ((body (markup-body node)) (sup (markup-option node :sup)) |