diff options
author | Ludovic Court`es | 2007-05-04 13:47:41 +0000 |
---|---|---|
committer | Ludovic Court`es | 2007-05-04 13:47:41 +0000 |
commit | de80f75d76d16144ddd3929a09463df0a341846c (patch) | |
tree | 2a9710311c9de1998a12c2cebd21878cedb9afc7 /src/guile/skribilo/package/base.scm | |
parent | 3ee5b5750f0b0b29ca2ee13c3cb1f1c9cbe18e25 (diff) | |
parent | f18224ad16296c276583368e9572bced7a57bb53 (diff) | |
download | skribilo-de80f75d76d16144ddd3929a09463df0a341846c.tar.gz skribilo-de80f75d76d16144ddd3929a09463df0a341846c.tar.lz skribilo-de80f75d76d16144ddd3929a09463df0a341846c.zip |
biblio: Implemented the `name+year' label style.
* src/guile/skribilo/biblio.scm: Use `biblio author'. (assign-entries-numbers!): New (formerly `count!' in `resolve-the-bib'). (assign-entries-name+years!): New. (resolve-the-bib): New optional `assign-entries-identifiers!' argument. Use it. * src/guile/skribilo/biblio/author.scm (short-author-names): New. * src/guile/skribilo/engine/lout.scm (lout-bib-refs-sort/number): Accept non-number identifiers. (&the-bibliography): Use simply `@TaggedList' when a style other than `number' is used. (&bib-entry): Use `@DropTagItem' when the bibliography style is not `number'. * src/guile/skribilo/package/base.scm (the-bibliography): New `:labels' option. Pass the right label assignment function to `resolve-the-bib'. --This line, and those below, will be ignored-- Files to commit: src/guile/skribilo/package/base.scm src/guile/skribilo/engine/lout.scm src/guile/skribilo/biblio.scm doc/user/bib.skb src/guile/skribilo/biblio/author.scm This list might be incomplete or outdated if editing the log message was not invoked from an up-to-date changes buffer! git-archimport-id: skribilo@sv.gnu.org--2006/skribilo--devo--1.2--patch-92
Diffstat (limited to 'src/guile/skribilo/package/base.scm')
-rw-r--r-- | src/guile/skribilo/package/base.scm | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/src/guile/skribilo/package/base.scm b/src/guile/skribilo/package/base.scm index 4725c06..3aae9bf 100644 --- a/src/guile/skribilo/package/base.scm +++ b/src/guile/skribilo/package/base.scm @@ -1326,20 +1326,29 @@ pred (bib-table (*bib-table*)) (sort bib-sort/authors) - (count 'partial)) + (count 'partial) + (labels 'number)) (if (not (memq count '(partial full))) (skribe-error 'the-bibliography - "Cound must be either `partial' or `full'" + "count must be either `partial' or `full'" count) - (new unresolved - (loc &invocation-location) - (proc (lambda (n e env) - (resolve-the-bib bib-table - (new handle (ast n)) - sort - pred - count - (the-options opts))))))) + (let ((label-proc (case labels + ((number) assign-entries-numbers!) + ((name+year) assign-entries-name+years!) + (else + (skribe-error + 'the-bibliography + "invalid label type" lables))))) + (new unresolved + (loc &invocation-location) + (proc (lambda (n e env) + (resolve-the-bib bib-table + (new handle (ast n)) + sort + pred + count + (the-options opts) + label-proc))))))) ;*---------------------------------------------------------------------*/ ;* make-index ... */ |