summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/notes2bib
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-01-12 23:56:35 +0000
committerKarl Berry <karl@freefriends.org>2010-01-12 23:56:35 +0000
commit7637db066f528aa60f1d837e4ef03105a19ec24d (patch)
treea74207b3285af7feb75b7f5d1db19905b46a0eb8 /Master/texmf-dist/tex/latex/notes2bib
parent013c8512f494d8b19d82755b067fb901d598d8ff (diff)
notes2bib 2.0b (11jan10)
git-svn-id: svn://tug.org/texlive/trunk@16686 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/notes2bib')
-rw-r--r--Master/texmf-dist/tex/latex/notes2bib/notes2bib.sty406
1 files changed, 205 insertions, 201 deletions
diff --git a/Master/texmf-dist/tex/latex/notes2bib/notes2bib.sty b/Master/texmf-dist/tex/latex/notes2bib/notes2bib.sty
index fae7d506427..ef36e7af63c 100644
--- a/Master/texmf-dist/tex/latex/notes2bib/notes2bib.sty
+++ b/Master/texmf-dist/tex/latex/notes2bib/notes2bib.sty
@@ -15,7 +15,7 @@
%%
\RequirePackage{xparse}
\ProvidesExplPackage
- {notes2bib} {2009/11/01} {2.0a}
+ {notes2bib} {2010/01/11} {2.0b}
{Integrating notes into the bibliography}
\RequirePackage{l3keys2e}
\tl_new:Nn \c_niib_file_message_tl {
@@ -40,51 +40,49 @@
\int_new:N \g_niib_total_notes_int
\cs_new_nopar:Npn \niib_cite:w { }
\keys_define:nn { notes2bib } {
- cite-function .code:n = {
- \AtBeginDocument { \cs_set_eq:NN \niib_cite:w #1 }
- } ,
- file-name .tl_gset_x:N = \g_niib_filename_tl ,
- convert-endnotes .choice: ,
- convert-endnotes / false .code:n = {
- \AtBeginDocument { \niib_from_bibnote:n { endnote } }
- },
- convert-endnotes / true .code:n = {
- \AtBeginDocument { \niib_to_bibnote:n { endnote } }
- },
- convert-footnotes .choice: ,
- convert-footnotes / false .code:n = {
- \AtBeginDocument { \niib_from_bibnote:n { footnote } }
- },
- convert-footnotes / true .code:n = {
- \AtBeginDocument { \niib_to_bibnote:n { footnote } }
- },
- keyword-entry .tl_set:N = \l_niib_keyword_tl ,
- note-field .tl_set:N = \l_niib_note_field_tl ,
- note-name .tl_set:N = \l_niib_note_name_tl ,
- placement .choice: ,
- placement / after .code:n = {
- \cs_set_eq:NN \niib_mark_note:n \niib_mark_note_after:n
- \tl_set_eq:NN \l_niib_presort_tl \l_niib_presort_after_tl
- \tl_set_eq:NN \l_niib_sortkey_tl \l_niib_sortkey_after_tl
- } ,
- placement / before .code:n = {
- \cs_set_eq:NN \niib_mark_note:n \niib_mark_note_before:n
- \tl_set_eq:NN \l_niib_presort_tl \l_niib_presort_before_tl
- \tl_set_eq:NN \l_niib_sortkey_tl \l_niib_sortkey_before_tl
- },
- placement / mixed .code:n = {
- \cs_set_eq:NN \niib_mark_note:n \niib_mark_note_mixed:n
- \tl_set_eq:NN \l_niib_presort_tl \l_niib_presort_mixed_tl
- \tl_set_eq:NN \l_niib_sortkey_tl \l_niib_sortkey_mixed_tl
- },
- presort-after .tl_set:N = \l_niib_presort_after_tl ,
- presort-before .tl_set:N = \l_niib_presort_before_tl ,
- presort-mixed .tl_set:N = \l_niib_presort_mixed_tl ,
- record-type .tl_set:N = \l_niib_record_type_tl ,
- sort-key-after .tl_set:N = \l_niib_sortkey_before_tl ,
- sort-key-before .tl_set:N = \l_niib_sortkey_after_tl ,
- sort-key-mixed .tl_set:N = \l_niib_sortkey_mixed_tl ,
- use-sort-key .bool_set:N = \l_niib_write_sortkey_bool,
+ cite-function .code:n =
+ { \AtBeginDocument { \cs_set_eq:NN \niib_cite:w #1 } } ,
+ file-name .tl_gset_x:N = \g_niib_filename_tl ,
+ convert-endnotes .choice: ,
+ convert-endnotes / false .code:n =
+ { \AtBeginDocument { \niib_from_bibnote:n { endnote } } } ,
+ convert-endnotes / true .code:n =
+ { \AtBeginDocument { \niib_to_bibnote:n { endnote } } } ,
+ convert-footnotes .choice: ,
+ convert-footnotes / false .code:n =
+ { \AtBeginDocument { \niib_from_bibnote:n { footnote } } } ,
+ convert-footnotes / true .code:n =
+ { \AtBeginDocument { \niib_to_bibnote:n { footnote } } } ,
+ keyword-entry .tl_set:N = \l_niib_keyword_tl ,
+ note-field .tl_set:N = \l_niib_note_field_tl ,
+ note-name .tl_set:N = \l_niib_note_name_tl ,
+ placement .choice: ,
+ placement / after .code:n =
+ {
+ \cs_set_eq:NN \niib_mark_note:n \niib_mark_note_after:n
+ \tl_set_eq:NN \l_niib_presort_tl \l_niib_presort_after_tl
+ \tl_set_eq:NN \l_niib_sortkey_tl \l_niib_sortkey_after_tl
+ },
+ placement / before .code:n =
+ {
+ \cs_set_eq:NN \niib_mark_note:n \niib_mark_note_before:n
+ \tl_set_eq:NN \l_niib_presort_tl \l_niib_presort_before_tl
+ \tl_set_eq:NN \l_niib_sortkey_tl \l_niib_sortkey_before_tl
+ },
+ placement / mixed .code:n =
+ {
+ \cs_set_eq:NN \niib_mark_note:n \niib_mark_note_mixed:n
+ \tl_set_eq:NN \l_niib_presort_tl \l_niib_presort_mixed_tl
+ \tl_set_eq:NN \l_niib_sortkey_tl \l_niib_sortkey_mixed_tl
+ },
+ presort-after .tl_set:N = \l_niib_presort_after_tl ,
+ presort-before .tl_set:N = \l_niib_presort_before_tl ,
+ presort-mixed .tl_set:N = \l_niib_presort_mixed_tl ,
+ record-type .tl_set:N = \l_niib_record_type_tl ,
+ sort-key-after .tl_set:N = \l_niib_sortkey_before_tl ,
+ sort-key-before .tl_set:N = \l_niib_sortkey_after_tl ,
+ sort-key-mixed .tl_set:N = \l_niib_sortkey_mixed_tl ,
+ use-sort-key .bool_set:N = \l_niib_write_sortkey_bool ,
}
\keys_set:nn { notes2bib } {
cite-function = \cite ,
@@ -101,30 +99,24 @@
use-sort-key = true
}
\cs_set_nopar:Npn \niib_options_redefine: {
- \keys_define:nn { notes2bib } {
- cite-function .code:n = {
- \cs_set_eq:NN \niib_cite:w ##1
- } ,
- file-name .code:n = {
- \msg_info:nnn { notes2bib } { preamble-only } { file-name }
- } ,
- convert-endnotes / false .code:n = {
- \niib_from_bibnote:n { endnote }
- },
- convert-endnotes / true .code:n = {
- \niib_to_bibnote:n { endnote }
- },
- convert-footnotes / false .code:n = {
- \niib_from_bibnote:n { footnote }
- },
- convert-footnotes / true .code:n = {
- \niib_to_bibnote:n { footnote }
- },
- }
-}
-\msg_new:nnn { notes2bib } { preamble-only } {%
- The option `#1' can only be used in the preamble.%
+ \keys_define:nn { notes2bib }
+ {
+ cite-function .code:n =
+ { \cs_set_eq:NN \niib_cite:w ##1 } ,
+ file-name .code:n =
+ { \msg_info:nnn { notes2bib } { preamble-only } { file-name } },
+ convert-endnotes / false .code:n =
+ { \niib_from_bibnote:n { endnote } } ,
+ convert-endnotes / true .code:n =
+ { \niib_to_bibnote:n { endnote } } ,
+ convert-footnotes / false .code:n =
+ { \niib_from_bibnote:n { footnote } } ,
+ convert-footnotes / true .code:n =
+ { \niib_to_bibnote:n { footnote } } ,
+ }
}
+\msg_new:nnn { notes2bib } { preamble-only }
+ {The option `#1' can only be used in the preamble.}
\AtBeginDocument { \niib_options_redefine: }
\keys_define:nn { notes2bib } {
cite .meta:x = { cite-function = \exp_not:c {#1} } ,
@@ -154,11 +146,8 @@
}
\cs_new_nopar:Npn \niib_note_name: {
\tl_use:N \l_niib_note_name_tl
- \intexpr_compare:nT { \g_niib_previous_notes_int > \c_nine } {
- \intexpr_compare:nT { \g_niib_note_int < \c_ten } {
- 0
- }
- }
+ \intexpr_compare:nT { \g_niib_previous_notes_int > \c_nine }
+ { \intexpr_compare:nT { \g_niib_note_int < \c_ten } { 0 } }
\int_to_arabic:n { \g_niib_note_int }
}
\cs_new_nopar:Npn \niib_filesw: { }
@@ -180,11 +169,12 @@
\niib_cite:w {#1}
}
\cs_new_nopar:Npn \niib_stream_check: {
- \cs_if_free:NT \g_niib_file_stream {
- \iow_new:N \g_niib_file_stream
- \iow_open:Nn \g_niib_file_stream { \g_niib_filename_tl .bib }
- \iow_now:Nx \g_niib_file_stream { \c_niib_file_message_tl }
- }
+ \cs_if_free:NT \g_niib_file_stream
+ {
+ \iow_new:N \g_niib_file_stream
+ \iow_open:Nn \g_niib_file_stream { \g_niib_filename_tl .bib }
+ \iow_now:Nx \g_niib_file_stream { \c_niib_file_message_tl }
+ }
}
\cs_new:Npn \niib_write_field:nn #1#2 {
\iow_space: \iow_space: #1 \iow_space: = \iow_space: {#2} ,
@@ -194,22 +184,27 @@
\cs_new_nopar:Npn \niib_write_note:nn {
\if@filesw
\exp_after:wN \niib_write_note_aux:nn
+ \else:
+ \exp_after:wN \use_none:nn
\fi:
}
\cs_new:Npn \niib_write_note_aux:nn #1#2 {
\niib_stream_check:
- \iow_now:Nx \g_niib_file_stream {
- @ \l_niib_record_type_tl {
- #1 , \iow_newline:
- \niib_write_field:Vn \l_niib_note_field_tl { \exp_not:n {#2} }
- \bool_if:NT \l_niib_write_sortkey_bool {
- \niib_write_field:Vn \l_niib_sortkey_field_tl
- { \l_niib_sortkey_tl #1 }
- }
- \niib_write_field:nn { keywords } { \l_niib_keyword_tl }
- \niib_write_field:nn { presort } { \l_niib_presort_tl }
+ \iow_now:Nx \g_niib_file_stream
+ {
+ @ \l_niib_record_type_tl
+ {
+ #1 , \iow_newline:
+ \niib_write_field:Vn \l_niib_note_field_tl { \exp_not:n {#2} }
+ \bool_if:NT \l_niib_write_sortkey_bool
+ {
+ \niib_write_field:Vn \l_niib_sortkey_field_tl
+ { \l_niib_sortkey_tl #1 }
+ }
+ \niib_write_field:nn { keywords } { \l_niib_keyword_tl }
+ \niib_write_field:nn { presort } { \l_niib_presort_tl }
+ }
}
- }
}
\cs_generate_variant:Nn \niib_write_note:nn { x }
\cs_new_nopar:Npn \niib_record_notes: {
@@ -218,21 +213,21 @@
\fi
}
\cs_new_nopar:Npn \niib_flush_notes_aux: {
- \clist_if_empty:NF \g_niib_before_clist {
- \iow_now:Nx \@auxout {
- \NotesBeforeCitations { \exp_not:V \g_niib_before_clist }
+ \clist_if_empty:NF \g_niib_before_clist
+ {
+ \iow_now:Nx \@auxout
+ { \NotesBeforeCitations { \exp_not:V \g_niib_before_clist } }
+ \clist_gput_right:NV \g_niib_all_before_clist \g_niib_before_clist
+ \clist_gclear:N \g_niib_before_clist
}
- \clist_gput_right:NV \g_niib_all_before_clist \g_niib_before_clist
- \clist_gclear:N \g_niib_before_clist
- }
- \clist_if_empty:NF \g_niib_after_clist {
- \iow_now:Nx \@auxout {
- \NotesAfterCitations { \exp_not:V \g_niib_after_clist }
+ \clist_if_empty:NF \g_niib_after_clist
+ {
+ \iow_now:Nx \@auxout
+ { \NotesAfterCitations { \exp_not:V \g_niib_after_clist } }
+ \exp_args:NV \nocite \g_niib_after_clist
+ \clist_gput_right:NV \g_niib_all_after_clist \g_niib_after_clist
+ \clist_gclear:N \g_niib_after_clist
}
- \exp_args:NV \nocite \g_niib_after_clist
- \clist_gput_right:NV \g_niib_all_after_clist \g_niib_after_clist
- \clist_gclear:N \g_niib_after_clist
- }
}
\cs_new_nopar:Npn \niib_to_bibnote:n #1 {
\cs_set_eq:cN {#1} \bibnote
@@ -259,39 +254,46 @@
\niib_save_footnote:
}
\cs_new_nopar:Npn \niib_create_print_notes: {
- \@ifpackageloaded { biblatex } {
- \cs_new_nopar:Npn \niib_print_notes: {
- \cs_set:Nx \niib_create_print_notes_aux: {
- \printbibliography [ keyword = \exp_not:V \l_niib_keyword_tl ]
- }
- \niib_create_print_notes_aux:
+ \@ifpackageloaded { biblatex }
+ {
+ \cs_new_nopar:Npn \niib_print_notes:
+ {
+ \cs_set_nopar:Npx \niib_create_print_notes_aux:
+ {
+ \printbibliography
+ [ keyword = \exp_not:V \l_niib_keyword_tl ]
+ }
+ \niib_create_print_notes_aux:
+ }
}
- }{
- \cs_new_nopar:Npn \niib_print_notes: {
- \exp_args:NV \niib_bibliography:n \g_niib_filename_tl
+ {
+ \cs_new_nopar:Npn \niib_print_notes:
+ { \exp_args:NV \niib_bibliography:n \g_niib_filename_tl }
}
- }
}
-\cs_new:Npn \niib_create_print_notes_aux: { }
+\cs_new_nopar:Npn \niib_create_print_notes_aux: { }
\AtBeginDocument { \niib_create_print_notes: }
\cs_new_nopar:Npn \niib_attach_bibliography: {
- \@ifpackageloaded { biblatex } {
- \exp_args:NV \bibliography \g_niib_filename_tl
- }{
- \cs_new_eq:NN \niib_bibliography:n \bibliography
- \RenewDocumentCommand \bibliography { m } {
- \intexpr_compare:nTF { \g_niib_total_notes_int = \c_zero } {
- \niib_bibliography:n {##1}
- }{
- \cs_set_nopar:Nx \niib_attach_bibliography: {
- \exp_not:N \niib_bibliography:n {
- \exp_not:n {##1} , \exp_not:V \g_niib_filename_tl
- }
+ \@ifpackageloaded { biblatex }
+ { \exp_args:NV \bibliography \g_niib_filename_tl }
+ {
+ \cs_new_eq:NN \niib_bibliography:n \bibliography
+ \RenewDocumentCommand \bibliography { m }
+ {
+ \intexpr_compare:nTF { \g_niib_total_notes_int = \c_zero }
+ { \niib_bibliography:n {##1} }
+ {
+ \cs_set_nopar:Npx \niib_attach_bibliography:
+ {
+ \exp_not:N \niib_bibliography:n
+ {
+ \exp_not:n {##1} , \exp_not:V \g_niib_filename_tl
+ }
+ }
+ \niib_attach_bibliography:
+ }
}
- \niib_attach_bibliography:
- }
}
- }
}
\@ifpackageloaded { biblatex } {
\exp_args:NV \bibliography \g_niib_filename_tl
@@ -300,58 +302,64 @@
\AtBeginDocument { \niib_attach_bibliography: }
}
\cs_new_nopar:Npn \niib_set_sortkey_name: {
- \@ifpackageloaded { biblatex } {
- \tl_set:Nn \l_niib_sortkey_field_tl { sortkey }
- }{
- \tl_set:Nn \l_niib_sortkey_field_tl { key }
- }
+ \@ifpackageloaded { biblatex }
+ { \tl_set:Nn \l_niib_sortkey_field_tl { sortkey } }
+ { \tl_set:Nn \l_niib_sortkey_field_tl { key } }
\cs_gundefine:N \niib_set_sortkey_name:
}
\AtBeginDocument { \niib_set_sortkey_name: }
\cs_new_nopar:Npn \niib_set_mark_note_after: {
- \@ifpackageloaded { biblatex } {
- \cs_set:Npn \niib_mark_note_after_aux:n ##1 {
- \AtNextCite { \@fileswfalse }
- \niib_cite:w {##1}
+ \@ifpackageloaded { biblatex }
+ {
+ \cs_set:Npn \niib_mark_note_after_aux:n ##1
+ {
+ \AtNextCite { \@fileswfalse }
+ \niib_cite:w {##1}
+ }
}
- }{
- \cs_set:Npn \niib_mark_note_after_aux:n ##1 {
- \cs_set_eq:NN \niib_filesw: \if@filesw
- \@fileswfalse
- \niib_cite:w {##1}
- \cs_set_eq:NN \if@filesw \niib_filesw:
+ {
+ \cs_set:Npn \niib_mark_note_after_aux:n ##1
+ {
+ \cs_set_eq:NN \niib_filesw: \if@filesw
+ \@fileswfalse
+ \niib_cite:w {##1}
+ \cs_set_eq:NN \if@filesw \niib_filesw:
+ }
}
- }
}
\AtBeginDocument { \niib_set_mark_note_after: }
\cs_new_nopar:Npn \niib_check_cite: {
- \@ifpackageloaded { cite } {
- \cs_set:Npn \niib_mark_note_after_aux:n ##1 {
- \cs_set_eq:NN \niib_filesw: \if@filesw
- \@fileswfalse
- \cs_set_nopar:Npn \niib_aux_hook: {
- \cs_set_eq:NN \if@filesw \niib_filesw:
- \cs_set_nopar:Npn \niib_aux_hook: { }
- }
- \niib_cite:w {##1}
- }
- \cs_new_nopar:Npn \niib_aux_hook: { }
- \tl_gput_right:Nn \g_niib_document_hook_tl {
- \cs_if_exist:NF \@restore@auxhandle {
- \tl_new:N \@restore@auxhandle
- }
- \tl_put_right:Nn \@restore@auxhandle { \niib_aux_hook: }
+ \@ifpackageloaded { cite }
+ {
+ \cs_set:Npn \niib_mark_note_after_aux:n ##1
+ {
+ \cs_set_eq:NN \niib_filesw: \if@filesw
+ \@fileswfalse
+ \cs_set_nopar:Npn \niib_aux_hook:
+ {
+ \cs_set_eq:NN \if@filesw \niib_filesw:
+ \cs_set_nopar:Npn \niib_aux_hook: { }
+ }
+ \niib_cite:w {##1}
+ }
+ \cs_new_nopar:Npn \niib_aux_hook: { }
+ \tl_gput_right:Nn \g_niib_document_hook_tl
+ {
+ \cs_if_exist:NF \@restore@auxhandle
+ { \tl_new:N \@restore@auxhandle }
+ \tl_put_right:Nn \@restore@auxhandle { \niib_aux_hook: }
+ }
}
- } { }
+ { }
}
\AtBeginDocument { \niib_check_cite: }
\NewDocumentCommand \bibnote { o +m } {
- \IfNoValueTF {#1} {
- \int_gincr:N \g_niib_note_int
- \niib_bibnote:xn { \niib_note_name: } {#2}
- }{
- \niib_bibnote:nn {#1} {#2}
- }
+ \IfNoValueTF {#1}
+ {
+ \int_gincr:N \g_niib_note_int
+ \niib_bibnote:xn { \niib_note_name: } {#2}
+ }
+ { \niib_bibnote:nn {#1} {#2} }
}
\cs_new:Npn \niib_bibnote:nn #1#2 {
\niib_write_note:nn {#1} {#2}
@@ -359,19 +367,17 @@
}
\cs_generate_variant:Nn \niib_bibnote:nn { x }
\NewDocumentCommand \bibnotemark { o } {
- \IfNoValueTF {#1} {
- \int_gincr:N \g_niib_note_int
- \niib_mark_note:x { \niib_note_name: }
- }{
- \niib_mark_note:n {#1}
- }
+ \IfNoValueTF {#1}
+ {
+ \int_gincr:N \g_niib_note_int
+ \niib_mark_note:x { \niib_note_name: }
+ }
+ { \niib_mark_note:n {#1} }
}
\NewDocumentCommand \bibnotetext { o +m } {
- \IfNoValueTF {#1} {
- \niib_write_note:xn { \niib_note_name: } {#2}
- }{
- \niib_write_note:nn {#1} {#2}
- }
+ \IfNoValueTF {#1}
+ { \niib_write_note:xn { \niib_note_name: } {#2} }
+ { \niib_write_note:nn {#1} {#2} }
}
\NewDocumentCommand \recordnotes { } {
\niib_record_notes:
@@ -387,16 +393,14 @@
}
\cs_new_eq:NN \flushnotestack \recordnotes
\cs_new_eq:NN \niibsetup \bibnotesetup
-\NewDocumentCommand \NotesAfterCitations { m } {
+\cs_new_protected_nopar:Npn \NotesAfterCitations #1 {
\clist_gput_right:Nn \g_niib_previous_after_clist {#1}
}
-\NewDocumentCommand \NotesBeforeCitations { m } {
+\cs_new_protected_nopar:Npn \NotesBeforeCitations #1 {
\clist_gput_right:Nn \g_niib_previous_after_clist {#1}
- \tl_gput_right:Nn \g_niib_document_hook_tl {
- \nocite {#1}
- }
+ \tl_gput_right:Nn \g_niib_document_hook_tl { \nocite {#1} }
}
-\NewDocumentCommand \TotalNotes { m } {
+\cs_new_protected_nopar:Npn \TotalNotes #1 {
\int_gset:Nn \g_niib_previous_notes_int {#1}
}
\tl_gput_right:Nn \document { \g_niib_document_hook_tl }
@@ -404,14 +408,13 @@
\AtEndDocument { \niib_record_notes: }
\cs_new_nopar:Npn \niib_check_rerun: {
\clist_if_eq:NNTF \g_niib_all_before_clist
- \g_niib_previous_before_clist {
- \clist_if_eq:NNF \g_niib_all_after_clist
- \g_niib_previous_after_clist {
- \msg_info:nn { notes2bib } { rerun }
+ \g_niib_previous_before_clist
+ {
+ \clist_if_eq:NNF \g_niib_all_after_clist
+ \g_niib_previous_after_clist
+ { \msg_info:nn { notes2bib } { rerun } }
}
- }{
- \msg_info:nn { notes2bib } { rerun }
- }
+ { \msg_info:nn { notes2bib } { rerun } }
}
\AtEndDocument {
\niib_check_rerun:
@@ -423,24 +426,25 @@
3) LaTeX
}
\cs_new_nopar:Npn \niib_write_total_notes: {
- \intexpr_compare:nT { \g_niib_note_int > \c_zero } {
- \iow_now:Nx \@auxout {
- \TotalNotes { \int_to_arabic:n { \g_niib_note_int } }
+ \intexpr_compare:nT { \g_niib_note_int > \c_zero }
+ {
+ \iow_now:Nx \@auxout
+ { \TotalNotes { \int_to_arabic:n { \g_niib_note_int } } }
}
- }
}
\AtEndDocument { \niib_write_total_notes: }
\cs_set:Npn \thanks #1 {
\niib_footnotemark:w
- \protected@xdef \@thanks {
- \@thanks
- \protect \niib_footnotetext:w [ \the \c@footnote ] {#1}
- }
+ \protected@xdef \@thanks
+ {
+ \@thanks
+ \protect \niib_footnotetext:w [ \the \c@footnote ] {#1}
+ }
}
\keys_set:nn { notes2bib } { placement = mixed }
\ProcessKeysOptions { notes2bib }
%%
-%% Copyright (C) 2007-2009 by
+%% Copyright (C) 2007-2010 by
%% Joseph Wright <joseph.wright@morningstar2.co.uk>
%%
%% It may be distributed and/or modified under the conditions of