summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/multibibliography
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/multibibliography
Initial commit
Diffstat (limited to 'macros/latex/contrib/multibibliography')
-rw-r--r--macros/latex/contrib/multibibliography/Makefile63
-rw-r--r--macros/latex/contrib/multibibliography/README16
-rw-r--r--macros/latex/contrib/multibibliography/chronological.bst1430
-rw-r--r--macros/latex/contrib/multibibliography/figure.pdfbin0 -> 33730 bytes
-rw-r--r--macros/latex/contrib/multibibliography/multibibliography.bib613
-rw-r--r--macros/latex/contrib/multibibliography/multibibliography.dtx443
-rw-r--r--macros/latex/contrib/multibibliography/multibibliography.ins28
-rw-r--r--macros/latex/contrib/multibibliography/multibibliography.pdfbin0 -> 235019 bytes
-rwxr-xr-xmacros/latex/contrib/multibibliography/multibibliography.pl154
-rw-r--r--macros/latex/contrib/multibibliography/tug-paper.pdfbin0 -> 212629 bytes
-rw-r--r--macros/latex/contrib/multibibliography/tug-paper.tex334
-rw-r--r--macros/latex/contrib/multibibliography/type.bib54
12 files changed, 3135 insertions, 0 deletions
diff --git a/macros/latex/contrib/multibibliography/Makefile b/macros/latex/contrib/multibibliography/Makefile
new file mode 100644
index 0000000000..005a8a0775
--- /dev/null
+++ b/macros/latex/contrib/multibibliography/Makefile
@@ -0,0 +1,63 @@
+#
+# Makefile for multibibliography package
+#
+# This file is in public domain
+#
+# $Id: Makefile,v 1.4 2013-05-30 02:20:11 boris Exp $
+#
+
+PACKAGE=multibibliography
+SAMPLES = tug-paper.tex
+
+all: $(PACKAGE).pdf ${SAMPLES:%.tex=%.pdf}
+ chmod a+x multibibliography.pl
+
+%.pdf: %.dtx $(PACKAGE).sty
+ pdflatex $<
+ - bibtex $*
+ pdflatex $<
+ - makeindex -s gind.ist -o $*.ind $*.idx
+ - makeindex -s gglo.ist -o $*.gls $*.glo
+ pdflatex $<
+ while ( grep -q '^LaTeX Warning: Label(s) may have changed' $*.log) \
+ do pdflatex $<; done
+
+
+%.pdf: %.tex $(PACKAGE).sty multibibliography.pl
+ pdflatex $<
+ - perl multibibliography.pl $<
+ pdflatex $<
+ while ( grep -q '^LaTeX Warning: Label(s) may have changed' $*.log) \
+ do pdflatex $<; done
+
+
+%.sty: %.ins %.dtx
+ pdflatex $<
+
+
+
+.PRECIOUS: $(PACKAGE).cfg $(PACKAGE).sty
+
+
+clean:
+ $(RM) $(PACKAGE).sty *.log *.aux \
+ *.cfg *.glo *.idx *.toc \
+ *.ilg *.ind *.out *.lof \
+ *.lot *.bbl *.blg *.gls \
+ *.dvi *.ps *.tgz *.zip *.brf
+
+veryclean: clean
+ $(RM) $(PACKAGE).pdf ${SAMPLES:%.tex=%.pdf}
+
+distclean: veryclean
+
+#
+# Archive for the distribution. Includes typeset documentation
+#
+archive: all clean
+ tar -czvf $(PACKAGE).tgz --exclude '*~' --exclude '*.tgz' --exclude CVS .
+
+zip: all clean
+ ${MAKE} $(PACKAGE).sty
+ $(RM) *.log
+ zip -r $(PACKAGE).zip * -x '*~' -x '*.tgz' -x '*.zip' -x CVS -x 'CVS/*' \ No newline at end of file
diff --git a/macros/latex/contrib/multibibliography/README b/macros/latex/contrib/multibibliography/README
new file mode 100644
index 0000000000..b728a0d4d6
--- /dev/null
+++ b/macros/latex/contrib/multibibliography/README
@@ -0,0 +1,16 @@
+ The Multibibliography Package
+
+ Michael Cohen, Yannis Haralambous, & Boris Veytsman
+
+ 2013/05/29 v1.03
+
+Conventional standards for bibliography styles entail a forced choice
+between index and name/year citations and corresponding references.
+We reject this false dichotomy, and describe a multibibliography,
+comprising alphabetic, sequenced, and even chronological orderings of
+references. An extended inline citation format is also proposed to
+integrate such heterogeneous styles, and is usable and useful even
+without separate bibliographies.
+
+
+Version 1.03: New multibibliography.pl script \ No newline at end of file
diff --git a/macros/latex/contrib/multibibliography/chronological.bst b/macros/latex/contrib/multibibliography/chronological.bst
new file mode 100644
index 0000000000..5bf08e3ff1
--- /dev/null
+++ b/macros/latex/contrib/multibibliography/chronological.bst
@@ -0,0 +1,1430 @@
+%%
+%% This is file `chronological.bst',
+%% generated with the docstrip utility.
+%% Originally generated by Yannis Haralambous, and modified by Michael Cohen.
+%%
+%% The original source files were:
+%%
+%% merlin.mbs (with options: `ay,alk,seq-yr,vonx,nm-rev,jnrlst,keyxyr,note-yr,num-xser,isbn,issn,doi,xedn,nfss,')
+%% ----------------------------------------
+%% *** For the University of Aizu, sorted by year, name, title ***
+%%
+%% Copyright 1994-2011 Patrick W Daly
+ % ===============================================================
+ % IMPORTANT NOTICE:
+ % This bibliographic style (bst) file has been generated from one or
+ % more master bibliographic style (mbs) files, listed above.
+ %
+ % This generated file can be redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or any later version.
+ % ===============================================================
+ % Name and version information of the main mbs file:
+ % \ProvidesFile{merlin.mbs}[2011/01/10 4.31 (PWD, AO, DPC)]
+ % For use with BibTeX version 0.99a or later
+ %-------------------------------------------------------------------
+ % This bibliography style file is intended for texts in ENGLISH
+ % This is an author-year citation style bibliography. As such, it is
+ % non-standard LaTeX, and requires a special package file to function properly.
+ % Such a package is natbib.sty by Patrick W. Daly
+ % or: apalike.sty by Oren Patashnik
+ % The form of the \bibitem entries is
+ % \bibitem[Jones et al., 1990]{key}...
+ %---------------------------------------------------------------------
+
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ doi
+ edition
+ editor
+ eid
+ howpublished
+ institution
+ isbn
+ issn
+ journal
+ key
+ month
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ volume
+ year
+ }
+ {}
+ { label extra.label sort.label short.list }
+INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+STRINGS { s t}
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { ", " * write$ }
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+FUNCTION {date.block}
+{
+ new.block
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {capitalize}
+{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {space.word}
+{ " " swap$ * " " * }
+ % Here are the language-specific definitions for explicit words.
+ % Each function has a name bbl.xxx where xxx is the English word.
+ % The language selected here is ENGLISH
+FUNCTION {bbl.and}
+{ "and"}
+
+FUNCTION {bbl.etal}
+{ "et~al." }
+
+FUNCTION {bbl.editors}
+{ "editors" }
+
+FUNCTION {bbl.editor}
+{ "editor" }
+
+FUNCTION {bbl.edby}
+{ "edited by" }
+
+FUNCTION {bbl.edition}
+{ "edition" }
+
+FUNCTION {bbl.volume}
+{ "volume" }
+
+FUNCTION {bbl.of}
+{ "of" }
+
+FUNCTION {bbl.number}
+{ "number" }
+
+FUNCTION {bbl.nr}
+{ "no." }
+
+FUNCTION {bbl.in}
+{ "in" }
+
+FUNCTION {bbl.pages}
+{ "pages" }
+
+FUNCTION {bbl.page}
+{ "page" }
+
+FUNCTION {bbl.chapter}
+{ "chapter" }
+
+FUNCTION {bbl.techrep}
+{ "Technical Report" }
+
+FUNCTION {bbl.mthesis}
+{ "Master's thesis" }
+
+FUNCTION {bbl.phdthesis}
+{ "Ph.D. thesis" }
+
+MACRO {jan} {"January"}
+
+MACRO {feb} {"February"}
+
+MACRO {mar} {"March"}
+
+MACRO {apr} {"April"}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"August"}
+
+MACRO {sep} {"September"}
+
+MACRO {oct} {"October"}
+
+MACRO {nov} {"November"}
+
+MACRO {dec} {"December"}
+
+MACRO {acmcs} {"ACM Computing Surveys"}
+
+MACRO {acta} {"Acta Informatica"}
+
+MACRO {cacm} {"Communications of the ACM"}
+
+MACRO {ibmjrd} {"IBM Journal of Research and Development"}
+
+MACRO {ibmsj} {"IBM Systems Journal"}
+
+MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
+
+MACRO {ieeetc} {"IEEE Transactions on Computers"}
+
+MACRO {ieeetcad}
+ {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
+
+MACRO {ipl} {"Information Processing Letters"}
+
+MACRO {jacm} {"Journal of the ACM"}
+
+MACRO {jcss} {"Journal of Computer and System Sciences"}
+
+MACRO {scp} {"Science of Computer Programming"}
+
+MACRO {sicomp} {"SIAM Journal on Computing"}
+
+MACRO {tocs} {"ACM Transactions on Computer Systems"}
+
+MACRO {tods} {"ACM Transactions on Database Systems"}
+
+MACRO {tog} {"ACM Transactions on Graphics"}
+
+MACRO {toms} {"ACM Transactions on Mathematical Software"}
+
+MACRO {toois} {"ACM Transactions on Office Information Systems"}
+
+MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
+
+MACRO {tcs} {"Theoretical Computer Science"}
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ {
+ pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+ duplicate$ missing$
+ {
+ swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ "empty " swap$ * " in " * cite$ * warning$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+INTEGERS { nameptr namesleft numnames }
+
+
+STRINGS { bibinfo}
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}{, f.}{, jj}"
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ {
+ " " * bbl.etal *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.names.ed}
+{
+ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{f.~}{vv~}{ll}{, jj}"
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ {
+
+ " " * bbl.etal *
+ }
+ {
+ bbl.and
+ space.word * t *
+ }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ } if$
+}
+FUNCTION {format.key}
+{ empty$
+ { key field.or.null }
+ { "" }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author "author" format.names
+}
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ {
+ "," *
+ " " *
+ get.bbl.editor
+ *
+ }
+ if$
+}
+FUNCTION {format.isbn}
+{ isbn "isbn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ new.block
+ "ISBN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.issn}
+{ issn "issn" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ new.block
+ "ISSN " swap$ *
+ }
+ if$
+}
+
+FUNCTION {format.doi}
+{ doi empty$
+ { "" }
+ {
+ new.block
+ "\doi{" doi * "}" *
+ }
+ if$
+}
+FUNCTION {format.note}
+{
+ note empty$
+ { "" }
+ { note #1 #1 substring$
+ duplicate$ "{" =
+ 'skip$
+ { output.state mid.sentence =
+ { "l" }
+ { "u" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ title
+ duplicate$ empty$ 'skip$
+ { "t" change.case$ }
+ if$
+ "title" bibinfo.check
+}
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem[" write$
+ label write$
+ "]{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {word.in}
+{ bbl.in capitalize
+ " " * }
+
+FUNCTION {format.date}
+{ year "year" bibinfo.check duplicate$ empty$
+ {
+ "empty year in " cite$ * "; set to ????" * warning$
+ pop$ "????"
+ }
+ 'skip$
+ if$
+ extra.label *
+}
+FUNCTION {format.btitle}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {
+ emphasize
+ }
+ if$
+}
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.prefix
+ "volume" bibinfo.check * *
+ series "series" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ bbl.of space.word * swap$
+ emphasize * }
+ if$
+ "volume and number" number either.or.check
+ }
+ if$
+}
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { number "number" bibinfo.check }
+ { output.state mid.sentence =
+ { bbl.number }
+ { bbl.number capitalize }
+ if$
+ number tie.or.space.prefix "number" bibinfo.check * *
+ bbl.in space.word *
+ series "series" bibinfo.check *
+ }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ {
+ output.state mid.sentence =
+ { "l" }
+ { "t" }
+ if$ change.case$
+ "edition" bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { duplicate$ multi.page.check
+ {
+ bbl.pages swap$
+ n.dashify
+ }
+ {
+ bbl.page swap$
+ }
+ if$
+ tie.or.space.prefix
+ "pages" bibinfo.check
+ * *
+ }
+ if$
+}
+FUNCTION {format.journal.pages}
+{ pages duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$
+ { pop$ pop$ format.pages }
+ {
+ ":" *
+ swap$
+ n.dashify
+ "pages" bibinfo.check
+ *
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.journal.eid}
+{ eid "eid" bibinfo.check
+ duplicate$ empty$ 'pop$
+ { swap$ duplicate$ empty$ 'skip$
+ {
+ ":" *
+ }
+ if$
+ swap$ *
+ }
+ if$
+}
+FUNCTION {format.vol.num.pages}
+{ volume field.or.null
+ duplicate$ empty$ 'skip$
+ {
+ "volume" bibinfo.check
+ }
+ if$
+ number "number" bibinfo.check duplicate$ empty$ 'skip$
+ {
+ swap$ duplicate$ empty$
+ { "there's a number but no volume in " cite$ * warning$ }
+ 'skip$
+ if$
+ swap$
+ "(" swap$ * ")" *
+ }
+ if$ *
+ eid empty$
+ { format.journal.pages }
+ { format.journal.eid }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+ 'format.pages
+ { type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ pages empty$
+ 'skip$
+ { ", " * format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.booktitle}
+{
+ booktitle "booktitle" bibinfo.check
+ emphasize
+}
+FUNCTION {format.in.ed.booktitle}
+{ format.booktitle duplicate$ empty$ 'skip$
+ {
+ editor "editor" format.names.ed duplicate$ empty$ 'pop$
+ {
+ "," *
+ " " *
+ get.bbl.editor
+ ", " *
+ * swap$
+ * }
+ if$
+ word.in swap$ *
+ }
+ if$
+}
+FUNCTION {format.thesis.type}
+{ type duplicate$ empty$
+ 'pop$
+ { swap$ pop$
+ "t" change.case$ "type" bibinfo.check
+ }
+ if$
+}
+FUNCTION {format.tr.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$ bbl.techrep }
+ 'skip$
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ "t" change.case$ }
+ { tie.or.space.prefix * * }
+ if$
+}
+FUNCTION {format.article.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.book.crossref}
+{ volume duplicate$ empty$
+ { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
+ pop$ word.in
+ }
+ { bbl.volume
+ capitalize
+ swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
+ }
+ if$
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.incoll.inproc.crossref}
+{
+ word.in
+ " \cite{" * crossref * "}" *
+}
+FUNCTION {format.org.or.pub}
+{ 't :=
+ ""
+ address empty$ t empty$ and
+ 'skip$
+ {
+ t empty$
+ { address "address" bibinfo.check *
+ }
+ { t *
+ address empty$
+ 'skip$
+ { ", " * address "address" bibinfo.check * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.warn format.org.or.pub
+}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.org.or.pub
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ {
+ journal
+ "journal" bibinfo.check
+ emphasize
+ "journal" output.check
+ format.vol.num.pages output
+ format.date "year" output.check
+ }
+ { format.article.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.issn output
+ format.doi output
+ new.block
+ format.note output
+ fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ { format.bvolume output
+ new.block
+ format.number.series output
+ new.sentence
+ format.publisher.address output
+ }
+ {
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ format.isbn output
+ format.doi output
+ new.block
+ format.note output
+ fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ howpublished "howpublished" bibinfo.check output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ format.isbn output
+ format.doi output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {inbook}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check
+ editor format.key output
+ }
+ { format.authors output.nonnull
+ crossref missing$
+ { "author and editor" editor either.or.check }
+ 'skip$
+ if$
+ }
+ if$
+ new.block
+ format.btitle "title" output.check
+ crossref missing$
+ {
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.number.series output
+ new.sentence
+ format.publisher.address output
+ }
+ {
+ format.chapter.pages "chapter and pages" output.check
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.edition output
+ format.date "year" output.check
+ crossref missing$
+ { format.isbn output }
+ 'skip$
+ if$
+ format.doi output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.chapter.pages output
+ new.sentence
+ format.publisher.address output
+ format.edition output
+ format.date "year" output.check
+ format.isbn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ format.doi output
+ new.block
+ format.note output
+ fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ new.block
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ format.bvolume output
+ format.number.series output
+ format.pages output
+ new.sentence
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.date "year" output.check
+ format.isbn output
+ format.issn output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ format.doi output
+ new.block
+ format.note output
+ fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ new.block
+ format.btitle "title" output.check
+ organization address new.block.checkb
+ organization "organization" bibinfo.check output
+ address "address" bibinfo.check output
+ format.edition output
+ format.date "year" output.check
+ format.doi output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.btitle
+ "title" output.check
+ new.block
+ bbl.mthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ format.doi output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ author format.key output
+ new.block
+ format.title output
+ new.block
+ howpublished "howpublished" bibinfo.check output
+ format.date "year" output.check
+ format.doi output
+ new.block
+ format.note output
+ fin.entry
+}
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.btitle
+ "title" output.check
+ new.block
+ bbl.phdthesis format.thesis.type output.nonnull
+ school "school" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ format.doi output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ format.editors output
+ editor format.key output
+ new.block
+ format.btitle "title" output.check
+ format.bvolume output
+ format.number.series output
+ new.sentence
+ publisher empty$
+ { format.organization.address output }
+ { organization "organization" bibinfo.check output
+ format.publisher.address output
+ }
+ if$
+ format.date "year" output.check
+ format.isbn output
+ format.issn output
+ format.doi output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title
+ "title" output.check
+ new.block
+ format.tr.number output.nonnull
+ institution "institution" bibinfo.warn output
+ address "address" bibinfo.check output
+ format.date "year" output.check
+ format.doi output
+ new.block
+ format.note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ author format.key output
+ new.block
+ format.title "title" output.check
+ format.date "year" output.check
+ format.doi output
+ new.block
+ format.note "note" output.check
+ fin.entry
+}
+
+FUNCTION {default.type} { misc }
+READ
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+FUNCTION {format.lab.names}
+{ 's :=
+ "" 't :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$
+ " " * bbl.etal *
+ }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ {
+ " " * bbl.etal *
+ }
+ { bbl.and space.word * s #2 "{vv~}{ll}" format.name$
+ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.label}
+{ editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.label
+ 'author.key.label
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ ", "
+ *
+ year duplicate$ empty$
+ short.list key field.or.null = or
+ { pop$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{ll{ }}{ f{ }}{ jj{ }}"
+ format.name$ 't :=
+ nameptr #1 >
+ {
+ " " *
+ namesleft #1 = t "others" = and
+ { "zzzzz" 't := }
+ 'skip$
+ if$
+ t sortify *
+ }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+FUNCTION {editor.sort}
+{ editor empty$
+ { key empty$
+ { "to sort, need editor or key in " cite$ * warning$
+ ""
+ }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+FUNCTION {presort}
+{ calc.label
+ label sortify
+ " "
+ *
+ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.sort
+ { type$ "proceedings" =
+ 'editor.sort
+ 'author.sort
+ if$
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.label :=
+ sort.label
+ *
+ " " * year field.or.null *
+ " " * month field.or.null *
+ " " * cite$ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+SORT
+STRINGS { last.label next.extra }
+INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank number.label }
+FUNCTION {initialize.extra.label.stuff}
+{ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'last.extra.num :=
+ "a" chr.to.int$ #1 - 'last.extra.num.blank :=
+ last.extra.num.blank 'last.extra.num.extended :=
+ #0 'number.label :=
+}
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num "z" chr.to.int$ >
+ { "a" chr.to.int$ 'last.extra.num :=
+ last.extra.num.extended #1 + 'last.extra.num.extended :=
+ }
+ 'skip$
+ if$
+ last.extra.num.extended last.extra.num.blank >
+ { last.extra.num.extended int.to.chr$
+ last.extra.num int.to.chr$
+ * 'extra.label := }
+ { last.extra.num int.to.chr$ 'extra.label := }
+ if$
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+ { "a" 'extra.label := }
+ 'skip$
+ if$
+ extra.label 'next.extra :=
+ extra.label
+ duplicate$ empty$
+ 'skip$
+ { "{\natexlab{" swap$ * "}}" * }
+ if$
+ 'extra.label :=
+ label extra.label * 'label :=
+}
+EXECUTE {initialize.extra.label.stuff}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+FUNCTION {bib.sort.order}
+{ sort.label
+ " "
+ *
+ year field.or.null sortify
+ swap$
+ *
+ " " * cite$ *
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+ITERATE {bib.sort.order}
+SORT
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\expandafter\ifx\csname urlstyle\endcsname\relax"
+ write$ newline$
+ " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else"
+ write$ newline$
+ " \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi"
+ write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+ITERATE {call.type$}
+FUNCTION {end.bib}
+{ newline$
+ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
+%% End of customized bst file
+%%
+%% End of file `u-aizu.bst'.
diff --git a/macros/latex/contrib/multibibliography/figure.pdf b/macros/latex/contrib/multibibliography/figure.pdf
new file mode 100644
index 0000000000..022002eaef
--- /dev/null
+++ b/macros/latex/contrib/multibibliography/figure.pdf
Binary files differ
diff --git a/macros/latex/contrib/multibibliography/multibibliography.bib b/macros/latex/contrib/multibibliography/multibibliography.bib
new file mode 100644
index 0000000000..e885fe3971
--- /dev/null
+++ b/macros/latex/contrib/multibibliography/multibibliography.bib
@@ -0,0 +1,613 @@
+@string{TUB = "TUGboat: Communications of the {\TeX} Users Group"}
+@string{TUG = "TUG: {\TeX} Users Group Meeting"}
+
+@book{Beaumont,
+ author = "Michael Beaumont",
+ title = "Type Design, Color, Character \& Use",
+ publisher = "North Light Books",
+ year = 1987,
+ note = "\initials{isbn}\,0-89134-191-9",
+ address = "1507 Dana Av.; Cincinnati, OH\ \ 45207"
+}
+
+@book{Craig+Meyer,
+ author = "James Craig",
+ editor = "Susan E. Meyer",
+ title = "Designing with Type",
+ publisher = "Watson-Guptill",
+ year = 1980,
+ address = "1515 Broadway; New York, NY\ \ 10036",
+ edition = "Revised",
+ note = "\initials{isbn}\,0-8230-1321-9"
+}
+
+@book{Pictogram,
+ author = "Yuko Ota",
+ title = "Pictogram Design",
+ publisher = "Kashiwa Shobo",
+ year = 1987,
+ note = "\initials{isbn}\,4-7601-0300-7"
+}
+
+@book{Wall+Schwartz:perl,
+ author = "Larry Wall and Randal L. Schwartz",
+ title = "Programming perl",
+ publisher = "{O'Reilly \& Associates}",
+ year = 1991,
+ note = "\initials{isbn}\,0-937175-64-1"
+}
+
+@book{Baecker,
+ author = "Ronald M. Baecker
+ and Aaron Marcus",
+ title = "Human Factors and Typography for More Readable Programs",
+ publisher = "ACM Press/Addison-Wesley",
+ year = 1990,
+ note = "\initials{isbn}\,0-201-10745-7"
+}
+
+@inproceedings{Baecker+Marcus:Principles,
+ author = "Ronald Baecker
+ and Aaron Marcus",
+ title = "{Design Principles for the Enhanced Presentation of Computer Program Source Text}",
+ booktitle = "Proc.\ of \acronym{chi} ({\bf C}omputer {\bf H}uman {\bf I}nteraction)",
+ year = 1986,
+ pages = "51-58",
+ organization = "\initials{acm}",
+ month = apr
+}
+
+@book{Marcus:Graphic,
+ author = "Aaron Marcus",
+ title = "Graphics Design for Electronic Documents and User Interfaces",
+ publisher = "ACM Press/Addison-Wesley",
+ year = 1992,
+ note = "\initials{isbn}\,0-201-54364-8"
+}
+
+@manual{Baldridge,
+ title = "{Seven Reading Strategies}",
+ organization = "Baldridge Reading Instruction Materials",
+ address = "14 Grigg St.; Greenwich, CT\ \ 06830",
+ year = 1970,
+ }
+
+@misc{parentheses,
+ author = "Michael Cohen",
+ title = "{\it Extended Parentheses}",
+ year = 1990
+}
+
+@article{Cohen:nesting,
+ author = "Michael Cohen",
+ title = "{Blush and Zebrackets: Two Schemes for Typographical Representation of Nested Associativity}",
+ journal = "Visible Language",
+ volume = 26,
+ number = "3+4",
+ month = "Summer/Autumn",
+ year = 1992,
+ pages = "436-449",
+ abstract = "Two systems are introduced
+that increase the information density of textual
+presentation
+by reconsidering text as pictures,
+expanding the range of written expression.
+Both schemes indicate nested associativity,
+and both employ stripes,
+but in different styles:
+{\it Blush} uses large-scale vertical gutters,
+superimposed as reverse-fielding on indented outlines or computer programs;
+{\it Zebrackets} uses small-scale horizontal striations,
+superimposed on parenthetical delimiters.
+These systems are implemented as computer programs,
+active filters that re-present textual information graphically.",
+ note = "\url{visiblelanguagejournal.com}"
+}
+
+@article{Lupton+Miller:structuralism,
+ author = "Ellen Lupton and J. Abbott Miller",
+ title = "Type Writing",
+ journal = "Emigre",
+ number = "15",
+ pages = "i-viii",
+ year = 1990
+}
+
+@inproceedings{Cohen:nestingVL92,
+ author = "Michael Cohen",
+ title = "{Blush and Zebrackets:
+Large- and Small-Scale Typographical Representation of Nested Associativity}",
+ booktitle = "VL92: Proc.\ \initials{ieee} Workshop on {\bf V}isual {\bf L}anguages",
+ year = 1992,
+ pages = "264-266",
+ month = sep,
+ address = "Seattle",
+ abstract = "Two systems are introduced
+that increase the information density of textual
+presentation
+by reconsidering text as pictures,
+expanding the range of written expression.
+Both schemes indicate nested associativity,
+and both employ stripes,
+but in different styles:
+{\it Blush} uses large-scale vertical gutters,
+superimposed as reverse-fielding on indented outlines or computer programs;
+{\it Zebrackets} uses small-scale horizontal striations,
+superimposed on parenthetical delimiters.
+These systems are implemented as computer programs,
+active filters that re-present textual information graphically."
+}
+
+@article{Cohen:TUGboat-zebrackets,
+ author = "Michael Cohen",
+ title = "{{\it Zebrackets}: a Pseudo-dynamic Contextually Adaptive Font}",
+ journal = TUB,
+ year = 1993,
+ pages = "118-122",
+ volume = 14,
+ number = 2,
+ month = jul,
+ note = "\initials{issn} 0896-3207; \url{www.tug.org/TUGboat/Articles/tb14-2/tb39cohen.pdf}",
+ abstract = "A system is introduced
+that increases the information density of textual
+presentation
+by reconsidering text as pictures,
+expanding the range of written expression.
+Indicating nested associativity with stripes,
+{\it Zebrackets} uses small-scale horizontal striations,
+superimposed on parenthetical delimiters.
+This system is implemented as an
+active filter that re-presents textual information graphically,
+using adaptive pseudo-dynamic character generation to reflect a context that can
+be as wide as the document."
+}
+
+@article{Cohen:TUG94-zebrackets,
+ author = "Michael Cohen",
+ title = "Adaptive character generation and spatial expressiveness",
+ journal = TUG,
+ year = 1994,
+ month = sept,
+ pages = "23-29",
+ volume = 15,
+ number = 3,
+ address = "Santa Barbara, CA",
+ note = "\url{www.tug.org/TUGboat/tb15-3/tb44cohen.pdf}",
+ abstract = "{\it Zebrackets} is a system of meta-{\MF}s to generate semi-custom striated parenthetical delimiters on demand.
+Contextualized by a pseudo-environment in {\LaTeX},
+and invoked by an aliased pre-compiler,
+{\it Zebrackets} are nearly seamlessly invokable in a variety of modes,
+manually or automatically generated marked matching pairs of background, foreground, or hybrid delimiters,
+according to a unique index or depth in the expression stack,
+in `demux,' unary, or binary encodings of nested associativity.
+Implemented as an active filter that re-presents textual information graphically,
+adaptive character generation can reflect an arbitrarily wide context,
+increasing the information density of textual
+presentation
+by reconsidering text as pictures and
+expanding the range of written spatial expression."
+}
+
+@article{Cohen:TUGboat94-zebrackets,
+ author = "Michael Cohen",
+ title = "Adaptive character generation and spatial expressiveness",
+ journal = TUB,
+ year = 1994,
+ month = sep,
+ volume = 15,
+ number = 3,
+ pages = "192-198",
+ abstract = "{\it Zebrackets} is a system of meta-Metafonts to generate semi-custom striated parenthetical delimiters on demand.
+Contextualized by a pseudo-environment in {\LaTeX},
+and invoked by an aliased pre-compiler,
+{\it Zebrackets} are nearly seamlessly invokable in a variety of modes,
+manually or automatically generated marked matching pairs of background, foreground, or hybrid delimiters,
+according to a unique index or depth in the expression stack,
+in `demux,' unary, or binary encodings of nested associativity.
+Implemented as an active filter that re-presents textual information graphically,
+adaptive character generation can reflect an arbitrarily wide context,
+increasing the information density of textual
+presentation
+by reconsidering text as pictures and
+expanding the range of written spatial expression."
+}
+
+@book{Tufte:Visual,
+ author = "Edward R. Tufte",
+ title = "{The Visual Display of Quantitative Information}",
+ publisher = "Graphics Press",
+ year = 1983
+}
+
+@book{Tufte:Envisioning,
+ author = "Edward R. Tufte",
+ title = "Envisioning Information",
+ publisher = "Graphics Press",
+ year = 1990
+}
+
+@book{Knuth:TeX,
+ author = "Donald E. Knuth",
+ title = "The {\TeX}book",
+ publisher = "Addison-Wesley",
+ year = 1984,
+ note = "\initials{isbn}\,0-201-13448-9"
+}
+
+@article{Knuth:punk,
+ author = "Donald E. Knuth",
+ title = "A punk meta-font",
+ journal = TUB,
+ year = 1988,
+ pages = "152-168",
+ volume = 9,
+ number = 2,
+ month = aug,
+ note = "\initials{issn} 0896-3207"
+}
+
+@book{Lamport:LaTeX,
+ author = "Leslie Lamport",
+ title = "\LaTeX: A Document Preparation System",
+ publisher = "Addison-Wesley",
+ year = 1986,
+ note = "0-201-15790-X"
+}
+
+@misc{StyleHandbook,
+ author = "Frederick C. Mish",
+ title = "A Handbook of Style",
+ howpublished = "NeXT Digital Webster",
+ year = 1988
+}
+
+@book{Rubinstein:DigitalTypography,
+ author = "Richard Rubinstein",
+ title = "Digital Typography:
+ An Introduction to Type and Composition
+ for Computer System Design",
+ publisher = "Addison-Wesley",
+ year = 1988,
+ note = "\initials{isbn}\,0-201-17633-5"
+}
+
+@article{Reynolds:Legibility,
+ author = "Linda Reynolds",
+ title = "Legibility of Type",
+ journal = "Baseline",
+ number = "Cassandre",
+ pages = "26-29",
+ year = 1988
+}
+
+@article{Lesley:Fonts,
+ author = "James Lesley",
+ title = "Fonts -- where to now?",
+ journal = "Baseline",
+ number = "17",
+ pages = "31-32",
+ year = 1994,
+ note = "\initials{issn}\,0954-9226"
+}
+
+@book{METAFONT,
+ author = "Donald E. Knuth",
+ title = "{The {\MF}book}",
+ publisher = "Addison-Wesley",
+ year = 1986,
+ note = "\initials{isbn}\,0-201-13444-6"
+}
+
+@book{GNU_Emacs,
+ author = "Richard M. Stallman",
+ title = "GNU Emacs Manual",
+ publisher = "Free Software Foundation",
+ year = 1988
+}
+
+@incollection{Andre+Borghi:Dynamic_fonts,
+ author = "Jacques Andr\'{e} and Bruno Borghi",
+ title = "Dynamic fonts",
+ booktitle = "Raster Imaging and Digital Typography",
+ year = 1989,
+ editor = "Jacques Andr\'{e} and Roger D. Hersh",
+ publisher = "Cambridge University Press",
+ pages = "198-204",
+ note = "\initials{isbn}\,0-521-37490-1"
+}
+
+@article{Andre+Ostromoukhov:Punk,
+ author = "Jacques Andr\'{e} and Victor Ostromoukhov",
+ title = "{Punk: de {\MF} \`{a} Postscript}",
+ journal = "Cahiers GUTenberg",
+ year = 1989,
+ volume = 4,
+ pages = "123-28",
+}
+
+@book{Langdon:Wordplay,
+ author = "John Langdon",
+ title = "Wordplay: ambigrams \& reflections on the art of ambigrams",
+ publisher = "Harcourt Brace Jovanovich",
+ year = 1992,
+ note = "\initials{isbn}\,0-15-198454-9"
+}
+
+@book{Templeton:rec.humor.funny,
+ editor = "Brad Templeton",
+ title = "{\tt Rec.Humor.Funny}/{\tt TeleJoke} Computer Network Humour Annual",
+ publisher = "ClariNet Communications Corp.",
+ year = 1989
+}
+
+@article{Nassi+Shneiderman:flowchart,
+ author = "I. Nassi and Ben Shneiderman",
+ title = "Flowchart Techniques for Structured Programming",
+ journal = "\acronym{SIGPLAN} Notices of the \acronym{Acm}",
+ year = 1973,
+ month = aug,
+ volume = 8,
+ number = 8,
+ pages = "12-26"
+}
+
+@book{Lunde:UJIP,
+ author = "Ken Lunde",
+ title = "Understanding Japanese Information Processing",
+ publisher = "{O'Reilly \& Associates}",
+ year = 1993,
+ note = "\initials{isbn}\,1-56592-043-0"
+}
+
+@misc{Rokicki:TeXview,
+ author = "Tomas Rokicki",
+ title = "{{\TeX}view}",
+ note = "3.0",
+ howpublished = "Radical Eye Software; Box 2081; Stanford, CA\ \ 94309",
+ year = 1993
+}
+
+@misc{Rokicki:dvips,
+ author = "Tomas G. Rokicki",
+ title = "{\tt dvips}",
+ note = "5.491",
+ howpublished = "Radical Eye Software; Box 2081; Stanford, CA\ \ 94309",
+ year = 1992
+}
+
+@manual{Rokicki:NeXTTeX,
+ author = "Tomas G. Rokicki",
+ title = "NeXT{\TeX}",
+ note = "3.141",
+ address = "Radical Eye Software; Box 2081; Stanford, CA\ \ 94309",
+ year = 1992,
+ month = aug
+}
+
+@manual{Schlangmann:TeXmenu,
+ author = "Harald Schlangmann",
+ title = "{{\TeX}menu}",
+ edition = "4.1",
+ year = 1992,
+ address = "Tumblingerstr. 17 Rgb.; 80337 M{\"u}nchen; F.R.G."
+}
+
+@book{Lennard:But,
+ author = "John Lennard",
+ title = "{But I Digress: Parentheses in English Printed Verse}",
+ publisher = "Oxford University Press",
+ year = 1991,
+ note = "\initials{isbn}\,0-19-811247-5"
+}
+
+@booklet{Adobe:F+F,
+ title = "Font \& Function",
+ key = "Adobe",
+ howpublished = "Adobe",
+ month = "Summer",
+ year = 1992
+}
+
+@book{Spiekermann+Ginger:sheep,
+ author = "Erik Spiekermann and E.M. Ginger",
+ title = "{Stop Stealing Sheep \& find out how type works}",
+ publisher = "Adobe Press",
+ year = 1993,
+ note = "\initials{isbn}\,0-672-48543-5"
+}
+
+@techreport{Adobe:multiple_masters,
+ author = "Adobe",
+ title = "{Adobe Type 1 Font Format: Multiple Master Extensions}",
+ institution = "Adobe Systems",
+ year = 1992,
+ month = feb
+}
+
+@book{Fenton:Macintosh_Font,
+ author = "Erfert Fenton",
+ title = "The Macintosh Font Book",
+ publisher = "Peachpit Press",
+ year = 1996,
+ address = "2414 Sith St.; Berkeley, CA\ \ 94710",
+ edition = "Third",
+ note = "\initials{isbn}\,0-201-88364-3"
+}
+
+@book{Haralambous:Fonts_and_Encodings,
+ author = "Yannis Haralambous",
+ title = "Fonts \& Encodings",
+ publisher = "O'Reilly",
+ year = 2007,
+ note = "\initials{isbn}-10\,0-596-10242-9, \initials{isbn}-13\,978-0-596-10242-5"
+}
+
+@article{Andre:Scrabble,
+ author = "Jacques Andr\'{e}",
+ title = "{The Scrabble font}",
+ journal = "The PostScript Journal",
+ year = 1990,
+ volume = 3,
+ number = 1,
+ pages = "53-55",
+}
+
+@book{Apollinaire:Calligrammes,
+ author = "Guillaume Apollinaire (Wilhelm Apollinaris de Kostrowitzky)",
+ title = "Po\'{e}mes de la paix et de la guerre 1913--1916 (Poems of war and peace 1913--1916)",
+ publisher = "Nouvelle Revue Fran\c{c}aise",
+ address = "Paris",
+ year = "1918, 1925"
+}
+
+@inproceedings{Haralambous+Gabor:Injecting_Information_into_Atomic_Units_of_Text,
+ author = "Yannis Haralambous and G\'{a}bor Bella",
+ title = "Injecting Information into Atomic Units of Text",
+ booktitle = "DocEng: Proc. of the ACM Symp. on Document Engineering ",
+ year = 2005,
+ month = nov,
+ pages = "134-142",
+ address = "Bristol, UK",
+ note = "\url{portal.acm.org/citation.cfm?id=1096637}"
+}
+
+@book{Graetzer:More_Math_Into_LATEX,
+ note = "\initials{isbn}\,0387322892, \initials{isbn}-13 978-0-387-32289-6, e-\initials{isbn}-13 978-0-387-68852-7",
+ year = 2007,
+ author = {George Gr\"atzer},
+ title = {More Math Into \LaTeX{}},
+ publisher = {Springer-Verlag}
+}
+
+@book{Victionary:Type_Addicted,
+ note = "\initials{isbn}\,9889822946",
+ year = 2007,
+ author = {Victionary},
+ title = {Type Addicted},
+ abstract = {Lettering is a key visual element of great design. The right type can transform any project from mundane to extraordinary, and how to choose and treat font and lettering is a common challenge among designers and artists from every discipline.
+Type Addicted not only presents a rich selection of experimental and inspirational typefaces and their applications, it also reveals the diversity of innovative approaches used by contemporary designers to set tone, add impact, reinforce brand identity, and lend character to print and design work in various disciplines. Solutions to any type of dilemma are sure to be discovered among the pages. Examples include work by up and coming names as well as renowned icons from around the world.},
+ publisher = {Victionary}
+}
+
+@book{Klanten+:Playful_Type_2,
+ note = "\initials{isbn}\,3899553187",
+ year = 2010,
+ author = {Robert Klanten and H. Hellige and J. Middendorp},
+ title = {Playful Type 2},
+ abstract = {A visual feast of experimental typography and illustrative lettering. The internet has radically changed our understanding of information and how we handle text. As more and more messages are being communicated in plain text on digital platforms such as cell phones, more and more designers are trying to find solutions to counter this development. Many of today's designers are developing innovative, more personal lettering techniques by hand that not only simply present content, but also enrich it creatively. Playful Type 2 examines how designers are using a variety of techniques to produce typography and lettering in a range of innovative styles. As in other creative disciplines, there is currently a perceptible trend toward handmade solutions in typography that is reflected in the high incidence of calligraphy and illustrative design presented in the book. This publication not only features high-quality type design, but also diverse applications for this original lettering.},
+ publisher = {Die Gestalten Verlag}
+}
+
+@book{kopka03,
+ ISBN = {0-321-17385-6},
+ keywords = {Typography, LaTeX, Word Processing},
+ year = {2003},
+ author = {Helmut Kopka and Patrick W. Daly},
+ title = {Guide to LaTeX},
+ pages = {624},
+ edition = {4th},
+ publisher = {Addison-Wesley Professional}
+}
+
+@article{Mori:Managing_bibliographies,
+ author = "Lapo F. Mori",
+ journal = TUG,
+ volume = 30,
+ number = 1,
+ year = 2009,
+ pages = "36-48",
+ title = "Managing bibliographies with {\LaTeX}"
+}
+
+@misc{Patashnik:bibtexing,
+ author = "Oren Patashnik",
+ year = "1998",
+ title = "Bib{\TeX}ing",
+ note = "\url{http://mirror.ctan.org/biblio/bibtex/contrib/doc/btxdoc.pdf}"
+}
+
+@misc{Daly:Customizing_Bibliographic_Style_Files,
+ author = "Patrick W. Daly",
+ year = "2007",
+ title = "Customizing Bibliographic Style Files",
+ note = "\url{http://mirror.ctan.org/macros/latex/contrib/custom-bib/makebst.pdf}"
+}
+
+@misc{Markey:Tame_the_BeaST,
+ author = "Nicolas Markey",
+ year = "2009",
+ month = oct,
+ title = "{Tame the BeaST: The B to X of Bib{\TeX}}",
+ note = "\url{ftp://ftp.tex.ac.uk/tex-archive/info/bibtex/tamethebeast/ttb_en.pdf}, v.\,1.4"
+}
+
+@misc{Daly:merlin.mbs,
+ author = "Patrick W. Daly",
+ year = "2011",
+ month = oct,
+ title = "{A Master Bibliographic Style File for numerical, author--year, multilingual applications}",
+ note = "\url{http://mirror.hmc.edu/ctan/macros/latex/contrib/custom-bib/merlin.pdf}, \url{http://ftp.jaist.ac.jp/pub/CTAN/macros/latex/contrib/custom-bib/merlin.pdf}, v.\,4.33"
+}
+
+@article{Cohen+Harralambous:multibibliography,
+ author = "Michael Cohen and Yannis Haralambous",
+ journal = TUG,
+ volume = 34,
+ number = 1,
+ year = 2013,
+ month = mar,
+ pages = "?",
+ title = "The Multibibliography Package",
+ abstract = "Conventional standards for bibliography styles entail
+a forced choice between index and name/year citations and corresponding references.
+We reject this false dichotomy,
+and describe a multibibliography,
+comprising alphabetic, sequenced, and even chronological orderings of references.
+An extended inline citation format is also proposed
+to integrate such heterogeneous styles,
+and is usable and useful even without separate bibliographies."
+}
+
+@inproceedings{dummy1,
+ author = "Yannis Haralambous and Gabor Bella",
+ title = "Injecting Information into Atomic Units of Text Nov",
+ booktitle = "DocEng: Proc. ACM Symp. on Document Engineering",
+ year = 2005,
+ month = nov,
+ pages = "134-142",
+ address = "Bristol, UK"
+}
+
+@book{dummy2,
+ author = "Yannis Haralambous and Gabor Bella",
+ title = "Injecting Information into Atomic Units of Text Dec",
+ booktitle = "DocEng: Proc. of the ACM Symp. on Document Engineering ",
+ year = 2005,
+ month = dec,
+ pages = "134-142",
+ address = "Bristol, UK",
+ note = "\url{portal.acm.org/citation.cfm?id=1096637}"
+}
+
+@inproceedings{dummy3,
+ author = "Yannis Haralambous and Gabor Bella",
+ title = "Injecting Information into Atomic Units of Text Oct",
+ booktitle = "DocEng: Proc. of the ACM Symp. on Document Engineering ",
+ year = 2005,
+ month = oct,
+ pages = "134-142",
+ address = "Bristol, UK",
+ note = "\url{portal.acm.org/citation.cfm?id=1096637}"
+}
+
+@Misc{TeXFAQ,
+ author = {{UK \TeX{} Users Group}},
+ title = {{UK} List of {\TeX} Frequently Asked Questions},
+ year = 2008,
+ howpublished = {\url{http://www.tex.ac.uk/cgi-bin/texfaq2html}}
+}
+
+@MISC{prime-number-theorem,
+ author = "Charles Louis Xavier Joseph de la Vall{\'e}e Poussin",
+ year = 1832,
+ note = "A strong form of the prime number theorem, 19th century" } \ No newline at end of file
diff --git a/macros/latex/contrib/multibibliography/multibibliography.dtx b/macros/latex/contrib/multibibliography/multibibliography.dtx
new file mode 100644
index 0000000000..62928a272c
--- /dev/null
+++ b/macros/latex/contrib/multibibliography/multibibliography.dtx
@@ -0,0 +1,443 @@
+% \iffalse
+% $Id: multibibliography.dtx,v 1.10 2013-05-30 02:22:26 boris Exp $
+%
+%% Copyright 2013, Michael Cohen <mcohen@u-aizu.ac.jp>
+%% and Yannis Haralambous, <yannis.haralambous@telecom-bretagne.eu>
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any
+%% later version.
+%% The latest version of the license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2003/06/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Michael Cohen
+%%
+%% This work consists of the file multibibliography.dtx, the
+%% derived file multibibliography.sty, and the files
+%% chronological.bst and multibibliography.pl
+%%
+%<*gobble>
+% \fi
+% \CheckSum{193}
+%
+%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%
+%\iffalse
+% \begin{macrocode}
+\documentclass{ltxdoc}
+\usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black,
+ pagecolor=black,urlcolor=black]{hyperref}
+\usepackage{multibibliography}
+\PageIndex
+\CodelineIndex
+\RecordChanges
+\EnableCrossrefs
+\begin{document}
+ \DocInput{multibibliography.dtx}
+\end{document}
+% \end{macrocode}
+%</gobble>
+% \fi
+% \MakeShortVerb{|}
+% \GetFileInfo{multibibliography.sty}
+%
+% \changes{v1.03}{2013/05/29}{Rewrote multibibliography.pl: no more
+% temp files}
+%
+% \title{The Multibibliography Package\thanks{\copyright 2013 Michael
+% Cohen and Yannis Haralambous}}
+% \author{Michael Cohen\thanks{mcohen@u-aizu.ac.jp} \and
+% Yannis Haralambous\thanks{yannis.haralambous@telecom-bretagne.eu}
+% \and Boris Veytsman \thanks{borisv@lk.net}}
+% \date{\filedate, \fileversion}
+% \maketitle
+%
+% \begin{abstract}
+% Conventional standards for bibliography styles entail a forced
+% choice between index and name/year citations and corresponding
+% references. We reject this false dichotomy, and describe a
+% multibibliography, comprising alphabetic, sequenced, and even
+% chronological orderings of references. An extended inline
+% citation format is also proposed to integrate such heterogeneous
+% styles, and is usable and useful even without separate
+% bibliographies.
+% \end{abstract}
+% \changes{v1.02}{2013/03/26}{Fixed the bug in multibibliography.pl
+% that prevented correct handling of accents}
+%
+% \tableofcontents
+%
+% \clearpage
+%
+%\section{Introduction}
+%\label{sec:intro}
+%
+% This package illustrates our novel system for a multibibliography, which
+% combines alphabetic, sequenced, and chronological ordering of
+% references. The rationale for the system is provided in the
+% enclosed TUG paper. This package provides the code for the
+% system.
+%
+%\section{User Interface}
+%\label{sec:interface}
+%
+% The installation of the class follows the usual
+% practice~\cite{TeXFAQ} for \LaTeX{} packages:
+% \begin{enumerate}
+% \item Run \textsf{latex} on |multibibliography.ins|. This will produce the file
+% |multibibliography.sty|.
+% \item Put the file |multibibliography.sty| to
+% the place where \LaTeX{} can find it (see
+% \cite{TeXFAQ} or the documentation for your \TeX{}
+% system).\label{item:install}
+% \item Put the file |chronological.bst| to the place where Bib\TeX\
+% can find it (see
+% \cite{TeXFAQ} or the documentation for your \TeX{}
+% system).
+% \item Put the file |multibibliography.pl| into the place where
+% binaries are stored on your system.
+% \item Update the database of file names. Again, see \cite{TeXFAQ}
+% or the documentation for your \TeX{} system for the system-specific
+% details.\label{item:update}
+% \item The files |multibibliography.pdf| and |tug-paper.pdf| provide
+% the documentation for the package
+% \end{enumerate}
+% As an alternative to items~\ref{item:install} and~\ref{item:update}
+% you can just put the files in the working directory where your
+% |.tex| file is.
+%
+%
+%
+% To use this package, add to the preamble of your document
+% the line |\usepackage{multibibliography}|. After |latex|'ing the
+% file, instead of running
+% \begin{verbatim}
+% bibtex FILE
+% \end{verbatim}
+% run
+% \begin{verbatim}
+% multibibliography.pl FILE.tex
+% \end{verbatim}
+% Then proceed in the usual way (run |latex| until the labels converge).
+%
+% \DescribeMacro{\bibliographysequence}
+% \DescribeMacro{\bibliographytimeline}
+% The file defines two new commands:
+% \cmd{\bibliographysequence}\marg{bib-files} and
+% \cmd{\bibliographytimeline}\marg{bib-files} which are similar to the
+% standard |\bibliography| command, but produce the reference lists
+% ordered according to the sequence of citations or chronologically.
+% They use |unsrt.bst| and |chronological.bst| styles
+% correspondingly. An example of usage can be found in the file
+% |tug-paper.tex|:
+% \begin{verbatim}
+% \renewcommand\refname{References sorted by name}
+% \bibliographystyle{apalike}
+% \bibliography{multibibliography}
+%
+% \renewcommand\refname{References sorted by appearance}
+% \bibliographysequence{multibibliography}
+%
+% \renewcommand\refname{References sorted by year}
+% \bibliographytimeline{multibibliography}
+%
+% \end{verbatim}
+%
+%
+%\StopEventually{\clearpage
+% \bibliography{multibibliography}
+% \bibliographystyle{unsrt}}
+%
+% \clearpage
+%
+% \section{Implementation}
+% \label{sec:implementation}
+%
+%
+%\subsection{Declarations}
+%\label{sec:decl}
+%
+% We start with declaration, who we are:
+%
+%
+% \begin{macrocode}
+%<style>\NeedsTeXFormat{LaTeX2e}
+%<*gobble>
+\ProvidesFile{multibibliography.dtx}
+%</gobble>
+%<style>\ProvidesPackage{multibibliography}
+%<*style>
+[2013/05/29 v1.03 Multibibliography support for LaTeX]
+% \end{macrocode}
+%
+%
+%
+%\subsection{Hyperref Patching}
+%\label{sec:hyperref}
+%
+% \begin{macro}{\NAT@parse}
+% \changes{v1.01}{2013/02/28}{Introduced the command}
+% Hyperref redefines a lot of bibliography related commands.
+% Fortunately, there is a mechanism in hyperref to prevent this: if
+% hyperref sees natbib, it defers to it. Well, we can dupe hyperref
+% into thinking natbib is loaded:
+% \begin{macrocode}
+\providecommand\NAT@parse[1]{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@extra@binfo}
+% \changes{v1.01}{2013/02/28}{Introduced the command}
+% This is a hook defined by natbib. We preserve it just in case:
+% \begin{macrocode}
+\providecommand*\@extra@binfo{}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\@extra@b@citeb}
+% \changes{v1.01}{2013/02/28}{Introduced the command}
+% Another natbib hook:
+% \begin{macrocode}
+\providecommand*\@extra@b@citeb{}
+% \end{macrocode}
+%
+% \end{macro}
+%
+% \begin{macro}{\@BIBLABEL}
+% \changes{v1.01}{2013/02/28}{Introduced the command}
+% This is a hyperref hook
+% \begin{macrocode}
+\providecommand*{\@BIBLABEL}{\@biblabel}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+% In case hyperref is not loaded, we provide some noops
+% \begin{macrocode}
+\AtBeginDocument{
+ \ifx\hyper@@link\@undefined
+ \providecommand\@skiphyperreftrue{}%
+ \providecommand\@skiphyperreffalse{}%
+ \let\H@item\item
+ \providecommand\Hy@raisedlink[1]{#1}%
+ \let\hyper@anchorstart\@gobble
+ \providecommand\hyper@@link[4][]{#4}%
+ \providecommand{\hyper@anchorend}{}%
+ \providecommand{\@currentHref}{}%
+ \fi}
+% \end{macrocode}
+%
+%
+%\subsection{Checking for backref}
+%\label{sec:backref}
+%
+% \begin{macro}{\if@BR@tocstarted}
+% \changes{v1.02}{2013/03/26}{Added macro}
+% Backref rewrites |.brf| file with each iteration. So we need to
+% make sure we call |\BR@starttoc| no more than once
+% \begin{macrocode}
+\newif\if@BR@tocstarted
+\@BR@tocstartedfalse
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+% \begin{macro}{\if@backref@loaded}
+% \changes{v1.02}{2013/03/26}{Added macro}
+% We need to check whether backref is loaded:
+% \begin{macrocode}
+\newif\if@backref@loaded
+\AtBeginDocument{%
+ \@ifpackageloaded{backref}{\@backref@loadedtrue
+ \let\BR@starttoc@orig\BR@starttoc
+ \def\BR@starttoc{\if@BR@tocstarted\else
+ \BR@starttoc@orig\@BR@tocstartedtrue\fi}
+}{\@backref@loadedfalse}}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%\subsection{Creating Bibliography Labels}
+%\label{sec:MBbibcite}
+%
+% \begin{macro}{\MBbibcite}
+% \changes{v1.01}{2013/02/28}{Introduced the command}
+% \changes{v1.02}{2013/03/26}{Added backref code}
+% The standard |\bibcite| command has two arguments: the label and
+% the typeset represenation. Our command has four arguments:
+% sequence number, name, date, label. We also write |\backcite| to
+% the aux file if backref is called.
+% \begin{macrocode}
+\def\MBbibcite#1#2#3#4{%
+ \@newl@bel{b}{#1\@extra@binfo}{%
+ \hyper@@link[cite]{}{cite.#1\@extra@b@citeb}{#3},
+ \hyper@@link[cite]{}{cite.#1\@extra@b@citeb-timeline}{#4}:
+ \hyper@@link[cite]{}{cite.#1\@extra@b@citeb-sequence}{#2}%
+ \if@filesw
+ \if@backref@loaded\phantomsection
+ \immediate\write\@mainaux{%
+ \string\backcite{#1}{{\thepage}{\@currentlabel}{\@currentHref}}}\fi\fi
+ }%
+}%
+% \end{macrocode}
+%
+% \end{macro}
+%
+%\subsection{Bibliography Commands}
+%\label{sec:default}
+%
+% The default command is defined for references sorted by
+% name---it is invoked by |\bibliography|.
+%
+% \begin{macro}{\@lbibitem}
+% \changes{v1.01}{2013/02/28}{Redefined}
+% \changes{v1.02}{2013/03/26}{Added interlinks}
+% By default |\@lbibitem| typesets the optional argument, creates a
+% hyperanchor and writes a command into the aux file. The following
+% uses hyperref code:
+% \begin{macrocode}
+ \def\@lbibitem[#1]#2{%
+ \gdef\MB@sequence{}%
+ \gdef\MB@name{}%
+ \gdef\MB@name{}%
+ \def\MBlabel##1##2##3{##2,
+ \hyper@@link[cite]{}{cite.#2\@extra@b@citeb-timeline}{##3}:
+ \hyper@@link[cite]{}{cite.#2\@extra@b@citeb-sequence}{##1}%
+ \gdef\MB@sequence{##1}%
+ \gdef\MB@name{##2}%
+ \gdef\MB@date{##3}%
+ }%
+ \@skiphyperreftrue
+ \H@item[%
+ \ifx\Hy@raisedlink\@empty
+ \hyper@anchorstart{cite.#2\@extra@b@citeb}%
+ \@BIBLABEL{#1}%
+ \hyper@anchorend
+ \else
+ \Hy@raisedlink{%
+ \hyper@anchorstart{cite.#2\@extra@b@citeb}\hyper@anchorend
+ }%
+ \@BIBLABEL{#1}%
+ \fi
+ \hfill
+ ]%
+ \@skiphyperreffalse
+ \if@filesw
+ \begingroup
+ \let\protect\noexpand
+ \immediate\write\@auxout{%
+ \string\MBbibcite{#2}{\MB@sequence}{\MB@name}{\MB@date}%
+ }%
+ \endgroup
+ \fi
+ \ignorespaces
+ }
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+%
+% \begin{macro}{\bibliographysequence}
+% \changes{v1.01}{2013/02/28}{Added hyperref-compatible code}
+% \changes{v1.02}{2013/03/26}{Added interlinks}
+% When we order by sequence, we do not write anything to the aux
+% file
+% \begin{macrocode}
+\def\bibliographysequence#1{%
+ \def\@lbibitem[##1]##2{%
+ \def\MBlabel####1####2####3{####1:
+ \hyper@@link[cite]{}{cite.##2\@extra@b@citeb}{####2},
+ \hyper@@link[cite]{}{cite.##2\@extra@b@citeb-timeline}{####3}}%
+ \@skiphyperreftrue
+ \H@item[%
+ \ifx\Hy@raisedlink\@empty
+ \hyper@anchorstart{cite.##2\@extra@b@citeb-sequence}%
+ \@BIBLABEL{##1}%
+ \hyper@anchorend
+ \else
+ \Hy@raisedlink{%
+ \hyper@anchorstart{cite.##2\@extra@b@citeb-sequence}\hyper@anchorend
+ }%
+ \@BIBLABEL{##1}%
+ \fi
+ \hfill
+ ]%
+ \@skiphyperreffalse
+ \ignorespaces
+ }
+ \@input@{\jobname-sequence.bbl}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\bibliographytimeline}
+% \changes{v1.01}{2013/02/28}{Added hyperref-compatible code}
+% \changes{v1.02}{2013/03/26}{Added interlinks}
+% This is the ordering by timeline:
+% \begin{macrocode}
+\def\bibliographytimeline#1{%
+ \def\@lbibitem[##1]##2{%
+ \def\MBlabel####1####2####3{%
+ \hyper@@link[cite]{}{cite.##2\@extra@b@citeb}{####2},
+ ####3:
+ \hyper@@link[cite]{}{cite.##2\@extra@b@citeb-sequence}{####1}}%
+ \@skiphyperreftrue
+ \H@item[%
+ \ifx\Hy@raisedlink\@empty
+ \hyper@anchorstart{cite.##2\@extra@b@citeb-timeline}%
+ \@BIBLABEL{##1}%
+ \hyper@anchorend
+ \else
+ \Hy@raisedlink{%
+ \hyper@anchorstart{cite.##2\@extra@b@citeb-timeline}\hyper@anchorend
+ }%
+ \@BIBLABEL{##1}%
+ \fi
+ \hfill
+ ]%
+ \@skiphyperreffalse
+ \ignorespaces
+ }
+ \@input@{\jobname-timeline.bbl}}
+% \end{macrocode}
+%
+% \end{macro}
+%
+%\subsection{Ending the Style}
+%\label{sec:end}
+%
+%
+%
+% \begin{macrocode}
+%</style>
+% \end{macrocode}
+%\Finale
+%\clearpage
+%
+%\PrintChanges
+%\clearpage
+%\PrintIndex
+%
+\endinput
diff --git a/macros/latex/contrib/multibibliography/multibibliography.ins b/macros/latex/contrib/multibibliography/multibibliography.ins
new file mode 100644
index 0000000000..ca0b4d75d0
--- /dev/null
+++ b/macros/latex/contrib/multibibliography/multibibliography.ins
@@ -0,0 +1,28 @@
+%
+% Doctrip file for multibibliography
+% This file is in public domain
+% $Id: multibibliography.ins,v 1.1 2013-02-04 00:06:55 boris Exp $
+%
+\def\batchfile{multibibliography.ins}
+\input docstrip
+\keepsilent
+\showprogress
+
+
+\askforoverwritefalse
+
+\generate{%
+ \file{multibibliography.sty}{\from{multibibliography.dtx}{style}}}
+
+\obeyspaces
+\Msg{*****************************************************}%
+\Msg{* Congratulations! You successfully generated the *}%
+\Msg{* multibibliography package. *}%
+\Msg{* *}%
+\Msg{* Please move the file multibibliography.sty to the *}%
+\Msg{* place where LaTeX files are kept in your system, *}%
+\Msg{* and the file chronological.bst to the place where *}%
+\Msg{* BibTeX files are. *}%
+\Msg{* *}%
+\Msg{* Happy TeXing! *}%
+\Msg{*****************************************************}% \ No newline at end of file
diff --git a/macros/latex/contrib/multibibliography/multibibliography.pdf b/macros/latex/contrib/multibibliography/multibibliography.pdf
new file mode 100644
index 0000000000..0e681b8ee5
--- /dev/null
+++ b/macros/latex/contrib/multibibliography/multibibliography.pdf
Binary files differ
diff --git a/macros/latex/contrib/multibibliography/multibibliography.pl b/macros/latex/contrib/multibibliography/multibibliography.pl
new file mode 100755
index 0000000000..1637470035
--- /dev/null
+++ b/macros/latex/contrib/multibibliography/multibibliography.pl
@@ -0,0 +1,154 @@
+#!/usr/bin/perl
+# Usage: perl multibibliography.pl jobname
+# By Yannis Haralambous and Michael Cohen
+
+# Changes by Boris Veytsman, $Revision: 1.6 $, $Date: 2013-06-25 03:37:30 $
+
+# This perl script does the bibtexing part, generating 3 separate .bbl
+# files with descriptive names derived from source file name, so no
+# need to separately invoke.
+
+use strict;
+
+sub cleanup {
+ local $/=undef;
+ my $file = shift;
+ open IN, $file;
+ my $BIG=<IN>;
+ close IN;
+ $BIG=~s/(\r\n|\r|\n)/ /g;
+ $BIG=~s/\\bibitem/\n\n\\bibitem/g;
+ $BIG=~s/\\newblock/\n\\newblock/g;
+ $BIG=~s/\\end\{thebibliography\}/\n\n\\end{thebibliography}/g;
+ $BIG=~s/[ ]+/ /g;
+ open OUT, ">$file";
+ print OUT $BIG;
+ close OUT;
+}
+
+# First, change "apalike" in the aux file to "unsrt" and generate bbl
+# file, renamed to "fn-sequence.bbl".
+my $filename=$ARGV[0];
+$filename=~s/\.(tex|bib|bbl|aux|log)$//;
+if (-e $filename.".aux") {
+ open IN, $filename.".aux";
+ my $BIG="";
+ while (<IN>) {
+ if (m/\\bibstyle\{apalike\}/) {
+ $BIG .= "\\bibstyle{unsrt}\n";
+ } else {
+ $BIG .= $_;
+ }
+ }
+ close IN;
+ open OUT, "> $filename-sequence.aux";
+ print OUT $BIG;
+ close OUT;
+ system("bibtex $filename-sequence");
+
+ # Now, change "unsrt" in the aux file to "chronological"
+ # and generate bbl file, renamed to "fn-timeline.bbl".
+
+ open IN, "$filename-sequence.aux";
+ $BIG="";
+ while (<IN>) {
+ if (m/\\bibstyle\{unsrt\}/) {
+ $BIG .= "\\bibstyle{chronological}\n";
+ } else {
+ $BIG .= $_;
+ }
+ }
+ close IN;
+ open OUT, "> $filename-timeline.aux";
+ print OUT $BIG;
+ close OUT;
+ system("bibtex $filename-timeline");
+
+ # Lastly, change "chronological" in the aux file to "apalike"
+ # and generate bbl file, retaining name "fn.bbl".
+
+ open IN, "$filename-timeline.aux";
+ $BIG="";
+ while (<IN>) {
+ if (m/\\bibstyle\{chronological\}/) {
+ $BIG .= "\\bibstyle{apalike}\n";
+ } else {
+ $BIG .= $_;
+ }
+ }
+ close IN;
+ open OUT, "> $filename.aux";
+ print OUT $BIG;
+ close OUT;
+ system("bibtex $filename");
+
+ cleanup("$filename.bbl");
+ cleanup("$filename-sequence.bbl");
+ cleanup("$filename-timeline.bbl");
+
+ open IN, "$filename-sequence.bbl";
+ my $counter=1;
+ my %UNSRT;
+ my %DATE;
+ my %NAME;
+ while (<IN>) {
+ if (m/\\bibitem{([^\}]+?)}/) {
+ $UNSRT{$1}=$counter;
+ $counter++;
+ }
+ }
+ close IN;
+
+ open IN, $filename.".bbl";
+ $counter=1;
+ while (<IN>) {
+ if (m/\\bibitem\[([^\]]+)\]{([^}]+?)}/) {
+ my $longdesc=$1;
+ my $label=$2;
+ if ($longdesc =~ /^(.*),\s+(\S+)$/) {
+ $NAME{$label}=$1;
+ $DATE{$label}=$2;
+ }
+ }
+ }
+ close IN;
+
+ open IN, $filename."-sequence.bbl";
+ $counter=1;
+ $BIG="";
+ while (<IN>) {
+ if (s/\\bibitem{(.+?)}/\\bibitem[\\MBlabel{$counter}{$NAME{$1}}{$DATE{$1}}]{$1}\n/) {
+ $counter++;
+ }
+ $BIG .= $_;
+ }
+ close IN;
+ open OUT, "> $filename-sequence.bbl";
+ print OUT $BIG;
+ close OUT;
+
+ open IN, $filename.".bbl";
+ $BIG="";
+ while (<IN>) {
+ s/\\bibitem\[[^\]]+\]{(.+?)}/\\bibitem[\\MBlabel{$UNSRT{$1}}{$NAME{$1}}{$DATE{$1}}]{$1}/;
+ $BIG .= $_;
+ }
+ close IN;
+ open OUT, ">$filename.bbl";
+ print OUT $BIG;
+ close OUT;
+
+ open IN, $filename."-timeline.bbl";
+ $BIG="";
+ while (<IN>) {
+ s/\\bibitem\[[^\]]+\]{(.+?)}/\\bibitem[\\MBlabel{$UNSRT{$1}}{$NAME{$1}}{$DATE{$1}}]{$1}/;
+ $BIG .= $_;
+ }
+ close IN;
+ open OUT, ">$filename-timeline.bbl";
+ print OUT $BIG;
+ close OUT;
+}
+
+
+
diff --git a/macros/latex/contrib/multibibliography/tug-paper.pdf b/macros/latex/contrib/multibibliography/tug-paper.pdf
new file mode 100644
index 0000000000..b5f7755de4
--- /dev/null
+++ b/macros/latex/contrib/multibibliography/tug-paper.pdf
Binary files differ
diff --git a/macros/latex/contrib/multibibliography/tug-paper.tex b/macros/latex/contrib/multibibliography/tug-paper.tex
new file mode 100644
index 0000000000..1c1a5c2999
--- /dev/null
+++ b/macros/latex/contrib/multibibliography/tug-paper.tex
@@ -0,0 +1,334 @@
+\documentclass[final]{ltugboat}
+
+% typeset with pdflatex (not latex & dvi) since figure is .pdf (so, in TeXShop, for instance, set Typeset > Pdftex )
+
+\usepackage{url}
+
+% original compilation yielded "\pdfendlink ended up in different nesting level than \pdfstartlink." error message,
+% but fix on http://www.tug.org/errors.html recommended using draft option to hyperref:
+%"This happens when hyperref is used under pdftex and a citation splits across a page boundary. To fix it, note the page number of the error and specify the draft option to hyperref so you get an output PDF. Then you can see the citation in question and rewrite to fix it. (Thanks to James Bednar's posting on the pdftex list about this.) "
+
+\usepackage{multibibliography}
+%\usepackage{backref} % (obviated by [backref=page] option to hyperref below)
+\usepackage{graphicx} % for pdf figure
+
+\usepackage{listings} % to pretty-print the LaTeX source, from http://www.ctan.org/tex-archive/macros/latex/contrib/listings
+\lstloadlanguages{TeX}
+\lstset{breaklines}
+
+\usepackage{ifpdf}
+\ifpdf
+%\usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black,urlcolor=black]{hyperref}
+%\usepackage[breaklinks,hidelinks,backref=page]{hyperref}
+\usepackage[backref=page]{hyperref}
+%\usepackage{hyperref}
+%\else
+\fi
+
+\title{The Multibibliography Package}
+
+\author{Michael Cohen}
+\address{Computer Arts Lab. \\ University of Aizu \\ Aizu-Wakamatsu, Fukushima\ \ 965-8580 \\ Japan}
+\netaddress{mcohen@u-aizu.ac.jp}
+\personalURL{www.u-aizu.ac.jp/~mcohen}
+
+\author{Yannis Haralambous}
+\address{D{\'{e}}partement Informatique T{\'{e}}l{\'{e}}com Bretagne \\ Technop{\^{o}}le de Brest Iroise, CS 83818 \\ 29238 Brest Cedex 3 \\ France}
+\netaddress{yannis.haralambous@telecom-bretagne.eu}
+\personalURL{international.telecom-bretagne.eu/welcome/studies/msc/professors/haralambous.php}
+
+\author{Boris Veytsman}
+\address{Systems Biology School and Computational Materials Science Center \\ MS 6A2 \\ George Mason University \\ Fairfax, VA\ \ 22030 \\ USA}
+\netaddress{borisv@lk.net}
+\personalURL{borisv.lk.net}
+
+\begin{document}
+
+\maketitle
+
+\begin{abstract}
+Conventional standards for bibliography styles entail
+a forced choice between index and name-year citations and corresponding references.
+We reject this false dichotomy,
+and describe a multibibliography,
+comprising alphabetic, sequenced, and also chronological orderings of references.
+An extended inline citation format is presented
+which integrates such heterogeneous styles,
+and is useful even without separate bibliographies.
+Richly hyperlinked for electronic browsing,
+the citations are articulated to select particular bibliographies,
+and the bibliographies are cross-referenced through their labels,
+linking among them.
+
+\end{abstract}
+
+\section{Introduction}
+
+One of the aims of the list of references in an academic paper or book
+is to show the reader the current state of the field. A good
+bibliography creates a narrative, showing the context of the current
+paper or book in the general picture of scientific inquiry\Dash those
+proverbial ``shoulders of giants'' on which it stands.
+
+There are two main ways to organize such a narrative:
+either around the ideas or around the authors.
+In the first case the order of citation follows the order of their mention in the main text.
+Thus the logic of the text is reflected in the bibliography list.
+In the second case the order of citations follows the authorship:
+we want alphabetic order by authors
+(with chronological subordering of works by the same authors).
+Accordingly, the inline citations in the first cases are usually numerical,
+whereas in the second case they are either numerical or, when possible,
+based on the authors' names and publication years (perhaps abbreviated or contracted).
+This is the main difference between ``numerical'' and ``named'' bibliography styles~\cite{Daly:merlin.mbs}.
+Both these styles have their own advantages and disadvantages.
+It is possible to imagine a third option:
+ordering the citation primarily accordingly to publication year,
+thus showing the chronology of the progress in the field.
+
+One may ask, why not use the advantages of both the currently employed
+styles, generating down not one, but multiple lists of references?
+In the old
+days, when bibliographies were created and sorted manually, such a task was prohibitively expensive.
+This is no longer true.
+
+Encouraged by the programmability of bibliographic styles
+and the flexibility of compiled formatting,
+we propose an extension of academic and scientific bibliographic styles.
+Conventional inline bibliographic citations,
+indicating full references in a separated bibliography,
+are either ordinal numbers generated according to first appearance in a document
+or a tag composed (perhaps abbreviated or contracted) of respective authors' names and publication year.
+To reconcile desire to simultaneously deploy these heretofore mutually exclusive styles,
+we introduce a ``multibibliography,''
+combining both ``numerical'' and ``named'' styles.
+We also add a chronological list,
+integrating all the information for the inline citation.
+This idea was conceived by the first author
+and implemented partly by the second author and the third author.
+
+Rather than having to choose between citations generated as
+\begin{description}
+\item[index numbers,] \hspace{1em}\vspace{-1em}
+\linebreak
+ \begin{itemize}
+ \item corresponding to alphabetically sorted authorsŐ names, as in {\BibTeX}Ős ``\texttt{plain}'' style,
+ \item in order of first appearance in the document, as in the ``\texttt{unsrt}'' style, or
+ \end{itemize}
+\item[author names and publication year] (or some abbreviation thereof), as in the ``\texttt{alpha}'' style,
+\end{description}
+we use both,
+mixing the two styles,
+as in ``(Suzuki, 2013: 57)'',
+or, in case of associated page numbers,
+``(Suzuki, 2013: 57, p.\,45--67)''.
+
+This is admittedly unorthodox,
+unusual and unique,
+but satisfies our desire to have
+ an easily understood cross-reference
+ (without ambiguity in the case of name collision) and
+ an ordinal reference (the last entry also serving as a cardinal reference count), and also
+ our preference to be able to see
+ an inline reminder of the respective authors.
+As a bonus highlighting such usefulness,
+a ``timeline'' bibliography is also generated in chronological order.
+
+\section{Implementation and Invocation}
+The multibibliography comprises three separate orderings.
+A perl script compiles the multibibliography source.
+Running ``\texttt{perl multibibliography.pl} $<$fn$>$,"
+instead of \texttt{bibtex}
+(after the 1st-pass ``\texttt{latex} $<$fn$>$" and before the usual 2nd and 3rd passes),
+generates three \texttt{.bbl} files:
+\begin{description}
+\item[ ``\texttt{apalike}'' style,] sorted alphabetically, by first author's family name,
+\item[ ``\texttt{unsrt}'' style,] in order of first appearance in the document,
+and with the label adjusted to lead with the sequence number,
+ and also
+\item[ ``\texttt{chronological}'' style,] sorted according to date of publication, as in a timeline.
+\end{description}
+
+This functionality is different from both the \texttt{multibib} package,\footnote{\url{www.ctan.org/pkg/multibib}}
+which facilitates having separate bibliographies for each chapter in a monograph,
+and the \texttt{multibbl} package,\footnote{\url{www.ctan.org/pkg/multibbl}}
+which facilitates separating referenced sources by their language
+\cite{Mori:Managing_bibliographies}.
+
+In \texttt{multibibliography.sty},
+which should be loaded at the top of any invoking document,
+the ``\texttt{thebibliography}'' command is redefined and the ``\texttt{bibliographysequence}'' and ``\texttt{bibliographytimeline}'' commands are newly defined,
+all of which respectively redefine the \texttt{bibitem} command accordingly to generate references in the appropriate format and order.
+The \texttt{chronological.bst} file in the package,
+made with the \texttt{makebst} \cite{Daly:Customizing_Bibliographic_Style_Files}
+and \texttt{docstrip} utilities
+and using the \texttt{merlin.mbs} generic bibliography \cite{Daly:merlin.mbs},
+augments the built-in \texttt{apalike} and \texttt{unsrt} styles.
+
+At the end of the document,
+the multibibliography is rendered thusly:
+
+\begin{lstlisting}[language=TeX]
+\renewcommand{\bibname}{References sorted by name}
+ \markboth{References sorted by name}{References sorted by name}
+\bibliographystyle{apalike}
+\addcontentsline{toc}{chapter}{References sorted by name}
+\bibliography{.bib files}
+
+\clearpage
+\renewcommand{\bibname}{References sorted by first appearance}
+ \markboth{References sorted by first appearance}{References sorted by first appearance}
+\addcontentsline{toc}{chapter}{References sorted by appearance}
+\bibliographysequence{.bib files}
+
+\clearpage
+\renewcommand{\bibname}{References sorted chronologically}
+ \markboth{References sorted chronologically}{References sorted chronologically}
+\addcontentsline{toc}{chapter}{References sorted chronologically}
+\bibliographytimeline{.bib files}
+\end{lstlisting}
+
+(For shorter document styles, such as this \texttt{article},
+\verb=\bibname= should be changed above to \verb=\refname=,
+and adjustments to the Table of Contents as well as the \verb=\clearpage=s
+may be elided.)
+
+\begin{figure*}[ht*]
+\begin{center}
+\includegraphics[width=\textwidth]{figure.pdf}
+\caption{Hyperreferential links across document and among the multibibliographies:
+Each inline citation,
+exemplified by the block in the center,
+is linked to references in three subbibliographies,
+which are cross-linked to each other
+and can also be linked back to the inline callout.
+Hollow arrowheads represent links provided by \texttt{backref};
+solid arrowheads represent links provided by the \texttt{multibibliography} package.}
+\label{fig-multibibliography}
+\end{center}
+\end{figure*}
+
+This multibibliography system is copotentiated by the hypertextual \texttt{hyperref}\footnote{\url{www.ctan.org/pkg/hyperref}} package.
+When using them together with an appropriate viewer or browser (such as \texttt{xdvi}, \texttt{acrobat}, or Adobe Reader),
+clicking an inline citation
+jumps to the respective entry in one of the reference lists.
+%Further refinements suggested themselves,
+As illustrated by Fig.\,\ref{fig-multibibliography},
+the \texttt{multibibliography} inline \texttt{hyperref} hotspot is articulated to allow clicking on
+\begin{description}
+\item[the name,] which jumps to the corresponding entry in the alphabetical bibliography;
+\item[the index number,] which jumps to the respective entry in the sequential bibliography; or
+\item[the date,] which jumps to the matching entry in the chronological bibliography.
+\end{description}
+
+Similarly,
+cross-references among the respective sub-bibliographies are also hyperlinked,
+although from the labels, and not the \texttt{bibitem} bodies of the citations.
+%(since it seemed too difficult to program).
+The ``\texttt{[backref=page]}'' \texttt{hyperref} extension\footnote{\url{www.tug.org/applications/hyperref/manual.html}} is also compatible,
+generating the familiar and useful back-references in all three subbibliographies:
+lists of clickable page number links
+associated with each entry in the bibliography
+pointing back to the respective citations
+(excepting those generated by \texttt{nocites}).
+The generation of these back-references,
+indicated by the hollow arrowheads in Fig.\,\ref{fig-multibibliography},
+represents ``closing the loop'' on the fully crossed relation set.
+
+We have not yet experimented with combining this package with other bibliographic packages
+\cite{Patashnik:bibtexing}
+such as \texttt{natbib}\footnote{\url{www.ctan.org/pkg/natbib}}
+or \texttt{chapterbib}\footnote{\url{www.ctan.org/pkg/chapterbib}} \cite[p.\,217--221]{kopka03}.
+
+\section{Implications}
+
+The extended inline citation style was designed for the multibibliography,
+but can be deployed and is useful even without it.
+The bibliographic dilation is perhaps more appropriate or at least more appealing for electronic dissemination,
+as traditional print-based publishers might resent the cost of extra pages.
+The fully crossed hyperreferential links are a convenient way of establishing the context of references,
+seamlessly expressing citations' appearances in the document and in time.
+
+Maybe the three ``slices'' through the bibliographic database that we have organized suffice for most ordinary publishing,
+but presumably someone could make even more styles of bibliographic lists,
+corresponding to special purposes,
+sorted by attributes such as
+number of authors,
+number of pages,
+conference or journal,
+location,
+etc.
+The philosophy is to leverage the power of hyperreferential idioms to augment reading
+by considering a document as a special kind of database
+that is indexed in appropriate dimensions,
+especially including the name--value pairs in its associated bibliographic information
+(such as that captured by \texttt{bibtex} files)
+plus derived information available after compilation
+(such as sequence number and appearance location).
+
+In the future,
+the date should be articulated to add the month to the \texttt{sort.label} in the presort \texttt{FUNCTION}
+in the \texttt{chronological.bst} file,
+since it isn't one of the built-in keys of the \texttt{makebst} package
+\cite{Markey:Tame_the_BeaST},
+as the merlin system didn't anticipate such fine-grained sortings.
+As \cite[p.\,13]{Markey:Tame_the_BeaST} observes,
+the month is somewhat problematic,
+since it is indicated by a character string,
+but is really an ordinal.
+If built-in macros (``\texttt{jan}'', ``\texttt{feb}'', etc.) are used,
+they can be easily mapped to months and used for sorting,
+but if, as is often the case, the field is reinterpreted to mean date
+(bimonthly publications indicated by something like \texttt{month = "March \& April"},
+quarterly dates as \texttt{month = "Autumn"}, etc.),
+this scheme will not easily generalize.
+
+It is our hope that old-fashioned conventions,
+established in the context of technological restrictions that have now been overcome,
+may be relaxed.
+We find this multidimensional presentation useful,
+are adopting it at the first author's university as a recommended style for masters theses and doctoral dissertations,
+and hereby encourage other institutions to emulate this innovation,
+especially for extended works
+such as monographs and books.
+
+%\bibliographystyle{apalike}
+%\begin{thebibliography}{99}
+%
+%\bibitem[Kopka and Daly, 2003: 2]{kopka03}
+% Kopka, H. and Daly, P.~W. (2003).
+%\newblock {\em Guide to LaTeX}.
+%\newblock Number~0. Addison-Wesley Professional, 4th edition.
+%
+%\bibitem[Mori, 2009: 3]{Mori:Managing_bibliographies}
+% Mori, L.~F. (2009).
+%\newblock Managing bibliographies with {\LaTeX}.
+%\newblock {\em TUG: {\TeX} Users Group Meeting}, 30:36--48.
+%
+%\bibitem[Patashnik, 1998: 1]{Patashnik:bibtexing}
+% Patashnik, O. (1998).
+%\newblock Bib{\TeX}ing.
+%\newblock \url{http://mirrror.ctan.org/biblio/bibtex/contrib/doc/btxdoc.pdf}.
+%
+%\end{thebibliography}
+
+%\bibliographystyle{apalike}
+%\bibliography{type}
+
+\renewcommand\refname{References sorted by name}
+\bibliographystyle{apalike}
+%%\addcontentsline{toc}{chapter}{References sorted by name}
+\bibliography{type}
+%
+%%\clearpage
+\renewcommand\refname{References sorted by appearance}
+%%\addcontentsline{toc}{chapter}{References sorted by appearance}
+\bibliographysequence{type}
+%%
+%%\clearpage
+\renewcommand\refname{References sorted by year}
+%%\addcontentsline{toc}{chapter}{References sorted by year}
+\bibliographytimeline{type}
+
+\makesignature
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/multibibliography/type.bib b/macros/latex/contrib/multibibliography/type.bib
new file mode 100644
index 0000000000..07f730e834
--- /dev/null
+++ b/macros/latex/contrib/multibibliography/type.bib
@@ -0,0 +1,54 @@
+@string{TUB = "TUGboat: Communications of the {\TeX} Users Group"}
+@string{TUG = "TUG: {\TeX} Users Group Meeting"}
+
+@misc{Daly:Customizing_Bibliographic_Style_Files,
+ author = "Patrick W. Daly",
+ year = "2007",
+ title = "Customizing Bibliographic Style Files",
+ note = "\url{http://mirror.ctan.org/macros/latex/contrib/custom-bib/makebst.pdf}"
+}
+
+@misc{Daly:merlin.mbs,
+ author = "Patrick W. Daly",
+ year = "2011",
+ month = oct,
+ title = "{A Master Bibliographic Style File for numerical, author--year, multilingual applications}",
+ note = "\url{http://mirror.hmc.edu/ctan/macros/latex/contrib/custom-bib/merlin.pdf}, \url{http://ftp.jaist.ac.jp/pub/CTAN/macros/latex/contrib/custom-bib/merlin.pdf}, v.\,4.33"
+}
+
+@book{kopka03,
+ ISBN = {0-321-17385-6},
+ keywords = {Typography, LaTeX, Word Processing},
+ year = {2003},
+ author = {Helmut Kopka and Patrick W. Daly},
+ title = {Guide to LaTeX},
+ pages = {624},
+ edition = {4th},
+ publisher = {Addison-Wesley Professional}
+}
+
+@misc{Markey:Tame_the_BeaST,
+ author = "Nicolas Markey",
+ year = "2009",
+ month = oct,
+ title = "{Tame the BeaST: The B to X of Bib{\TeX}}",
+ note = "\url{ftp://ftp.tex.ac.uk/tex-archive/info/bibtex/tamethebeast/ttb_en.pdf}, v.\,1.4"
+}
+
+@article{Mori:Managing_bibliographies,
+ author = "Lapo F. Mori",
+ journal = TUG,
+ volume = 30,
+ number = 1,
+ year = 2009,
+ pages = "36-48",
+ title = "Managing bibliographies with {\LaTeX}"
+}
+
+@misc{Patashnik:bibtexing,
+ author = "Oren Patashnik",
+ year = "1998",
+ title = "Bib{\TeX}ing",
+ note = "\url{http://mirror.ctan.org/biblio/bibtex/contrib/doc/btxdoc.pdf}"
+}
+