diff options
author | Ludovic Court`es | 2007-05-04 13:38:47 +0000 |
---|---|---|
committer | Ludovic Court`es | 2007-05-04 13:38:47 +0000 |
commit | f18224ad16296c276583368e9572bced7a57bb53 (patch) | |
tree | 3082df38aeebc0b3c9bce210430b2d026cb82ea0 /src/guile/skribilo/package/base.scm | |
parent | 2d553df91dc10ed7cbac0abe0181f3ec6d27f377 (diff) | |
download | skribilo-f18224ad16296c276583368e9572bced7a57bb53.tar.gz skribilo-f18224ad16296c276583368e9572bced7a57bb53.tar.lz skribilo-f18224ad16296c276583368e9572bced7a57bb53.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: lcourtes@laas.fr--2006-libre/skribilo--devo--1.2--patch-51
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 ... */ |