|
Subject: Re: footnotes From: Holger Klawitter <holger@xxxxxxxxxxxx> Date: Fri, 30 Jul 1999 00:05:52 +0200 |
> yes and probably Tony too. You can add your code to the library and then
> others could benefit from it.
Ok, here we go:
; general function to get all predecessors (not in proper order!)
(define (predecessors gi nd)
(if (is-root? nd)
(node-list)
(let ((pre (preced nd)))
(node-list
(predecessors gi (parent nd)))
(select-elements pre gi) ; get siblings themselves, too!
(select-elements (descendants pre) gi)
)
)
)
; *not* tail recursive :-)
; hack to stop at the root, works not always but quite good for my purposes
(define (is-root? nd) (node-list-empty? (children nd)))
; Returns the position of the current node in a list of element of type
; "gi" conforming to function "proc".
; This function does not check whether the current not would be part of that
; list.
(define (fn-num gi proc #!optional (nd (current-node)))
(+ 1 (node-list-length (node-list-filter
proc
(predecessors gi nd)
)))
)
Have fun,
Holger Klawitter
--
Holger Klawitter +49 (0)251 484 0637
holger@xxxxxxxxxxxx http://www.klawitter.de/
DSSSList info and archive: http://www.mulberrytech.com/dsssl/dssslist
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: footnotes, Didier PH Martin | Thread | Re: footnotes, Brandon Ibach |
| Re: empty lines, Chris Maden | Date | RE: [OpenJade] OpenJade 1.2.2 Relea, Avi Kivity |
| Month |