summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/bibtex/bib/urlbst/urlbst.bib178
-rw-r--r--Master/texmf-dist/bibtex/bst/urlbst/abbrvurl.bst303
-rw-r--r--Master/texmf-dist/bibtex/bst/urlbst/alphaurl.bst303
-rw-r--r--Master/texmf-dist/bibtex/bst/urlbst/plainurl.bst303
-rw-r--r--Master/texmf-dist/bibtex/bst/urlbst/unsrturl.bst303
-rw-r--r--Master/texmf-dist/doc/latex/urlbst/README302
-rw-r--r--Master/texmf-dist/doc/latex/urlbst/VERSION1
-rwxr-xr-xMaster/texmf-dist/doc/latex/urlbst/urlbst698
-rw-r--r--Master/texmf-dist/doc/latex/urlbst/urlbst.html347
-rw-r--r--Master/texmf-dist/doc/latex/urlbst/urlbst.html.in347
-rwxr-xr-xMaster/texmf-dist/doc/latex/urlbst/urlbst.in698
-rw-r--r--Master/texmf-dist/doc/latex/urlbst/urlbst.pdfbin0 -> 102644 bytes
-rw-r--r--Master/texmf-dist/doc/latex/urlbst/urlbst.tex255
-rw-r--r--Master/texmf-dist/doc/latex/urlbst/urlbst.tex.in255
-rw-r--r--Master/texmf-dist/source/latex/urlbst/Makefile.in150
-rw-r--r--Master/texmf-dist/source/latex/urlbst/VERSION1
-rwxr-xr-xMaster/texmf-dist/source/latex/urlbst/configure2779
-rw-r--r--Master/texmf-dist/source/latex/urlbst/configure.ac86
-rw-r--r--Master/texmf-dist/source/latex/urlbst/urlbst.pl405
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
20 files changed, 6996 insertions, 720 deletions
diff --git a/Master/texmf-dist/bibtex/bib/urlbst/urlbst.bib b/Master/texmf-dist/bibtex/bib/urlbst/urlbst.bib
index 6b4946d8142..d981b820df0 100644
--- a/Master/texmf-dist/bibtex/bib/urlbst/urlbst.bib
+++ b/Master/texmf-dist/bibtex/bib/urlbst/urlbst.bib
@@ -1,23 +1,31 @@
% Webpage with lastchecked and date
-@webpage{url:latex,
- author = {Barbara Beeton},
- year = 2001,
- month = may,
- url = {http://www.tug.org/docs/html/ptr-faq.html},
- title = {What is {\TeX}?},
- lastchecked = {20 August 2001}
+@webpage{url:weapas,
+ url = {http://www.beadsland.com/weapas/},
+ title = {Web Extension to {American Psychological Association} Style ({WEAPAS}) (Rev.2.0)},
+ author = {B Land},
+ year = 2001,
+ month = jul,
+ lastchecked = {23 October 2002}
+}
+
+@Webpage{apastyle,
+ url = {http://www.apastyle.org/elecref.html},
+ author = {{American Psychological Association}},
+ title = {Electronic References},
+ year = 2001,
+ lastchecked = {23 October 2002},
+ note = {Excerpted from 5th edition of the APA Publication Manual}
}
-% Webpage with lastchecked but no date
@webpage{url:iso690,
author = {{International Standards Organisation}},
title = {{ISO 690-2}},
- url = {http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm},
+ url = {http://www.collectionscanada.gc.ca/iso/tc46sc9/standard/690-2e.htm},
lastchecked = {20 August 2001}
}
-% Webpage with date but no lastchecked
-@Webpage{classroom96,
+% This one appears to be dead
+@Webpage{gone:classroom96,
title = {Citing Internet Addresses: how students should
reference online sources in their bibliographies},
year = 1996,
@@ -26,15 +34,57 @@
url = "http://www.classroom.net/classroom/CitingNetResources.html"
}
-% Webpage with neither date nor lastchecked
@Webpage{emory95,
author = "libsf@web.cc.emory.edu",
title = "Citation Formats",
- url = "http://www.cc.emory.edu/WHSCL/citation.formats.html"
+ date = {1997},
+ lastchecked = {23 October 2002},
+ url = {http://business.library.emory.edu/eresources/citing.html}
+}
+
+@Book{walker,
+ author = {Janice R. Walker and Todd Taylor},
+ title = {The Columbia Guide to Online Style},
+ publisher = {Columbia University Press},
+ year = 2006,
+ DEADurl = {http://www.columbia.edu/cu/cup/cgos/},
+ edition = {2nd},
+ isbn = {978-0-231-13211-4},
+ DEADlastchecked = {23 October 2002}
+}
+
+@Webpage{walker-orig,
+ title = {{MLA}-Style Citations of Electronic Sources},
+ author = {Janice R. Walker},
+ url = {http://www.cas.usf.edu/english/walker/mla.html},
+ year = 1995,
+ lastchecked = {23 October 2002},
+ note = {Updated and superceded by \cite{walker}}
+}
+
+@Webpage{texfaq,
+ url = {http://www.tex.ac.uk/cgi-bin/texfaq2html?label=citeURL},
+ title = {{UK \TeX\ FAQ: URLs in \BibTeX\ bibliographies}},
+ key = {UK TeX FAQ},
+ editor = {Robin Fairbairns},
+ year = 2002,
+ lastchecked = {23 October 2002}
}
+
+
+@Webpage{url:daly,
+ url = {http://www.tex.ac.uk/tex-archive/macros/latex/contrib/custom-bib/},
+ title = {Index of custom-bib},
+ author = {Patrick W Daly},
+ year = 2003,
+ lastchecked = {4 June 2003}
+}
+
+% Following are test entries
+
% Article with URL and lastchecked
-@article{url:towell,
+@article{test:towell,
title = {Presence in Text-Based Networked Virtual
Environments or `{MUDs}'},
author = {John Towell and Elizabeth Towell},
@@ -48,7 +98,7 @@
}
% Book with URL, lastchecked, and note.
-@Book{raymond99,
+@Book{test:raymond99,
author = {Eric S Raymond},
title = {The Cathedral and the Bazaar},
publisher = {O'Reilly},
@@ -60,12 +110,108 @@
}
% Plain book, no URLs at all
-@book{laurillard93,
+@book{test:laurillard93,
author = {Diana Laurillard},
title = {Rethinking University Teaching},
publisher = {Routledge},
year = 1993
}
+% Webpage with lastchecked but no date
+@webpage{test:iso690,
+ author = {{International Standards Organisation}},
+ title = {{ISO 690-2}},
+ url = {http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm},
+ lastchecked = {20 August 2001}
+}
+
+% Webpage with date but no lastchecked
+@Webpage{test:classroom96,
+ title = {Citing Internet Addresses: how students should
+ reference online sources in their bibliographies},
+ year = 1996,
+ month = mar,
+ key = {Classroom},
+ url = "http://www.classroom.net/classroom/CitingNetResources.html"
+}
+
+% Webpage with neither date nor lastchecked
+@Webpage{test:emory95,
+ author = "libsf@web.cc.emory.edu",
+ title = "Citation Formats",
+ url = "http://www.emory.edu/WHSCL/citation.formats.html"
+}
+
+% The same, but with no title either
+@Webpage{test:emory95x,
+ author = "libsf@web.cc.emory.edu",
+ url = "http://www.emory.edu/WHSCL/citation.formats.html"
+}
+
+% Article with eprint number
+@techreport{test:simkin,
+ author = {Mikhail Simkin and V. P. Roychowdhury},
+ title = {Read before you cite!},
+ year = 2002,
+ institution = {UCLA},
+ eprint = {cond-mat/0212043}
+}
+
+% Article with a DOI
+% an underscore
+@article{test:gray00c,
+ author = "Norman Gray",
+ title = "Automatic Reduction of Elliptic Integrals using
+ {Carlson's} Relations",
+ journal = {Mathematics of Computation},
+ volume = 71,
+ pages = {311-318},
+ year = 2002,
+ doi = {10.1090/S0025-5718-01-01333-3}
+}
+
+% Article with a PUBMED reference
+@Article{test:giffin03,
+ author = {M J Giffin and J C Stroud and D L Bates and von Koenig, K D and J Hardin and L Chen},
+ title = {Structure of {NFAT1} Bound as a Dimer to the {HIV-1 LTR} kappa {B} element},
+ journal = {Nature Structural Biology},
+ year = {2003},
+ volume = {10},
+ number = {10},
+ pages = {800-6},
+ month = oct,
+ pubmed = {12949493}
+}
+
+@ARTICLE{test:nastydoi,
+ author = {Zemla, Adam and Venclovas, Ceslovas and Moult, John and
+ Fidelis, Krzysztof},
+ title = {{P}rocessing and analysis of {CASP}3 protein structure predictions},
+ journal = {Proteins: Structure, Function, and Genetics},
+ year = {1999},
+ volume = {37},
+ pages = {22--29},
+ number = {S3},
+ month = jan,
+ comment = {Description of GDT measure.},
+ doi = {10.1002/(SICI)1097-0134(1999)37:3+<22::AID-PROT5>3.0.CO;2-W},
+ keywords = {CASP},
+ timestamp = {2007-03-13}
+}
+
+% Example from Jason Eisner, by mail (nothing special about the entry,
+% but he seemed to be having formatting problems with unsrturl and proceedings
+% entries.
+@InProceedings{test:eisner-sample,
+ author = {Damianos Karakos and Sanjeev Khudanpur and Jason
+ Eisner and Carey~E. Priebe},
+ title = {Iterative denoising using {J}ensen-{R}eny\'{\i}
+ divergences with an application to unsupervised
+ document categorization},
+ booktitle = {Proceedings of ICASSP},
+ year = 2007,
+ url = {http://cs.jhu.edu/~jason/papers/#icassp07}
+}
+
diff --git a/Master/texmf-dist/bibtex/bst/urlbst/abbrvurl.bst b/Master/texmf-dist/bibtex/bst/urlbst/abbrvurl.bst
index 1a99ffbd620..aefda0e00f9 100644
--- a/Master/texmf-dist/bibtex/bst/urlbst/abbrvurl.bst
+++ b/Master/texmf-dist/bibtex/bst/urlbst/abbrvurl.bst
@@ -1,8 +1,13 @@
-%%% Modification of BibTeX style file /local2/teTeX-1.0/share/texmf/bibtex/bst/base/abbrv.bst
-%%% to add webpage entry type, and url and lastchecked fields
-%%% Edits by urlbst.pl, version 0.1
-%%% (marked with % urlbst.pl)
+%%% Modification of BibTeX style file /usr/local/texlive/2007/texmf-dist/bibtex/bst/base/abbrv.bst
+%%% ... by urlbst, version 0.6-1 (marked with "% urlbst")
+%%% See <http://purl.org/nxg/dist/urlbst>
+%%% Added webpage entry type, and url and lastchecked fields.
+%%% Added eprint support.
+%%% Added DOI support.
+%%% Added PUBMED support.
+%%% Added hyperref support.
%%% Original headers follow...
+
% BibTeX standard bibliography style `abbrv'
% version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
% Copyright (C) 1985, all rights reserved.
@@ -36,22 +41,54 @@ ENTRY
type
volume
year
- url % urlbst.pl
- lastchecked
+ eprint % urlbst
+ doi % urlbst
+ pubmed % urlbst
+ url % urlbst
+ lastchecked % urlbst
}
{}
{ label }
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-INTEGERS { bracket.state outside.brackets open.brackets within.brackets close.brackets } % urlbst.pl
+STRINGS { urlintro eprinturl eprintprefix doiprefix doiurl pubmedprefix pubmedurl openinlinelink closeinlinelink } % urlbst...
+INTEGERS { hrefform inlinelinks makeinlinelink addeprints adddoiresolver addpubmedresolver }
+% Following constants may be adjusted by hand, if desired
+FUNCTION {init.urlbst.variables}
+{
+ "Available from: " 'urlintro := % prefix before URL
+ "http://arxiv.org/abs/" 'eprinturl := % prefix to make URL from eprint ref
+ "arXiv:" 'eprintprefix := % text prefix printed before eprint ref
+ "http://dx.doi.org/" 'doiurl := % prefix to make URL from DOI
+ "doi:" 'doiprefix := % text prefix printed before DOI ref
+ "http://www.ncbi.nlm.nih.gov/pubmed/" 'pubmedurl := % prefix to make URL from PUBMED
+ "PMID:" 'pubmedprefix := % text prefix printed before PUBMED ref
+ #1 'addeprints := % 0=no eprints; 1=include eprints
+ #1 'adddoiresolver := % 0=no DOI resolver; 1=include it
+ #1 'addpubmedresolver := % 0=no PUBMED resolver; 1=include it
+ #2 'hrefform := % 0=no crossrefs; 1=hypertex xrefs; 2=hyperref refs
+ #0 'inlinelinks := % 0=URLs explicit; 1=URLs attached to titles
+ % the following are internal state variables, not config constants
+ #0 'makeinlinelink := % state variable managed by setup.inlinelink
+ "" 'openinlinelink := % ditto
+ "" 'closeinlinelink := % ditto
+}
+INTEGERS {
+ bracket.state
+ outside.brackets
+ open.brackets
+ within.brackets
+ close.brackets
+}
+% ...urlbst to here
FUNCTION {init.state.consts}
-{ #0 'outside.brackets := % urlbst.pl
+{ #0 'outside.brackets := % urlbst
#1 'open.brackets :=
#2 'within.brackets :=
#3 'close.brackets :=
- #0 'before.all :=
+ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
@@ -59,7 +96,7 @@ FUNCTION {init.state.consts}
STRINGS { s t }
-% urlbst.pl
+% urlbst
FUNCTION {output.nonnull.original}
{ 's :=
output.state mid.sentence =
@@ -81,12 +118,50 @@ FUNCTION {output.nonnull.original}
s
}
-% urlbst.pl...
+% urlbst...
+% The following three functions are for handling inlinelink. They wrap
+% a block of text which is potentially output with write$ by multiple
+% other functions, so we don't know the content a priori.
+% They communicate between each other using the variables makeinlinelink
+% (which is true if a link should be made), and closeinlinelink (which holds
+% the string which should close any current link. They can be called
+% at any time, but start.inlinelink will be a no-op unless something has
+% previously set makeinlinelink true, and the two ...end.inlinelink functions
+% will only do their stuff if start.inlinelink has previously set
+% closeinlinelink to be non-empty.
+FUNCTION {setup.inlinelink}
+{ makeinlinelink
+ { hrefform #1 = % hypertex
+ { "\special {html:<a href=" quote$ * url * quote$ * "> }{" * 'openinlinelink :=
+ "\special {html:</a>}" 'closeinlinelink :=
+ }
+ { hrefform #2 = % hyperref
+ { "\href{" url * "}{" * 'openinlinelink :=
+ "}" 'closeinlinelink :=
+ }
+ 'skip$
+ if$ % hrefform #2 =
+ }
+ if$ % hrefform #1 =
+ #0 'makeinlinelink :=
+ }
+ 'skip$
+ if$ % makeinlinelink
+}
+FUNCTION {add.inlinelink}
+{ openinlinelink empty$
+ 'skip$
+ { openinlinelink swap$ * closeinlinelink *
+ "" 'openinlinelink :=
+ }
+ if$
+}
FUNCTION {output.nonnull}
{ % Save the thing we've been asked to output
's :=
- % If the bracket-state is close.brackets, then add a close-bracket to what's
- % currently at the top of the stack, and set bracket.state to outside.brackets
+ % If the bracket-state is close.brackets, then add a close-bracket to
+ % what is currently at the top of the stack, and set bracket.state
+ % to outside.brackets
bracket.state close.brackets =
{ "]" *
outside.brackets 'bracket.state :=
@@ -98,7 +173,8 @@ FUNCTION {output.nonnull}
% Write out what's currently at the top of the stack, using the
% original output.nonnull function.
s
- output.nonnull.original
+ add.inlinelink
+ output.nonnull.original % invoke the original output.nonnull
}
{ % Still in brackets. Add open-bracket or (continuation) comma, add the
% new text (in s) to the top of the stack, and move to the close-brackets
@@ -123,20 +199,13 @@ FUNCTION {inbrackets}
if$
}
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { "Available from World Wide Web: \url{" url * "}" * }
- if$
-}
-
FUNCTION {format.lastchecked}
{ lastchecked empty$
{ "" }
{ inbrackets "cited " lastchecked * }
if$
}
-% ...% urlbst.pl
+% ...urlbst to here
FUNCTION {output}
{ duplicate$ empty$
@@ -153,9 +222,8 @@ FUNCTION {output.check}
if$
}
-FUNCTION {output.bibitem}
-{ outside.brackets 'bracket.state := % urlbst.pl
- newline$
+FUNCTION {output.bibitem.original}
+{ newline$
"\bibitem{" write$
cite$ write$
"}" write$
@@ -164,13 +232,8 @@ FUNCTION {output.bibitem}
before.all 'output.state :=
}
-FUNCTION {fin.entry}
-{
- bracket.state close.brackets = % urlbst.pl
- { "]" * }
- 'skip$
- if$
- add.period$
+FUNCTION {fin.entry.original}
+{ add.period$
write$
newline$
}
@@ -612,7 +675,73 @@ FUNCTION {format.incoll.inproc.crossref}
" \cite{" * crossref * "}" *
}
-% urlbst.pl...
+% urlbst...
+% Functions for making hypertext links.
+% In all cases, the stack has (link-text href-url)
+%
+% make 'null' specials
+FUNCTION {make.href.null}
+{
+ pop$
+}
+% make hypertex specials
+FUNCTION {make.href.hypertex}
+{
+ "\special {html:<a href=" quote$ *
+ swap$ * quote$ * "> }" * swap$ *
+ "\special {html:</a>}" *
+}
+% make hyperref specials
+FUNCTION {make.href.hyperref}
+{
+ "\href {" swap$ * "} {\path{" * swap$ * "}}" *
+}
+FUNCTION {make.href}
+{ hrefform #2 =
+ 'make.href.hyperref % hrefform = 2
+ { hrefform #1 =
+ 'make.href.hypertex % hrefform = 1
+ 'make.href.null % hrefform = 0 (or anything else)
+ if$
+ }
+ if$
+}
+
+% If inlinelinks is true, then format.url should be a no-op, since it's
+% (a) redundant, and (b) could end up as a link-within-a-link.
+FUNCTION {format.url}
+{ inlinelinks #1 = url empty$ or
+ { "" }
+ { hrefform #1 =
+ { % special case -- add HyperTeX specials
+ urlintro "\url{" url * "}" * url make.href.hypertex * }
+ { urlintro "\url{" * url * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.eprint}
+{ eprint empty$
+ { "" }
+ { eprintprefix eprint * eprinturl eprint * make.href }
+ if$
+}
+
+FUNCTION {format.doi}
+{ doi empty$
+ { "" }
+ { doiprefix doi * doiurl doi * make.href }
+ if$
+}
+
+FUNCTION {format.pubmed}
+{ pubmed empty$
+ { "" }
+ { pubmedprefix pubmed * pubmedurl pubmed * make.href }
+ if$
+}
+
% Output a URL. We can't use the more normal idiom (something like
% `format.url output'), because the `inbrackets' within
% format.lastchecked applies to everything between calls to `output',
@@ -628,6 +757,51 @@ FUNCTION {output.url}
if$
}
+FUNCTION {output.web.refs}
+{
+ new.block
+ output.url
+ addeprints eprint empty$ not and
+ { format.eprint output.nonnull }
+ 'skip$
+ if$
+ adddoiresolver doi empty$ not and
+ { format.doi output.nonnull }
+ 'skip$
+ if$
+ addpubmedresolver pubmed empty$ not and
+ { format.pubmed output.nonnull }
+ 'skip$
+ if$
+}
+
+% Wrapper for output.bibitem.original.
+% If the URL field is not empty, set makeinlinelink to be true,
+% so that an inline link will be started at the next opportunity
+FUNCTION {output.bibitem}
+{ outside.brackets 'bracket.state :=
+ output.bibitem.original
+ inlinelinks url empty$ not and
+ { #1 'makeinlinelink := }
+ { #0 'makeinlinelink := }
+ if$
+}
+
+% Wrapper for fin.entry.original
+FUNCTION {fin.entry}
+{ output.web.refs % urlbst
+ makeinlinelink % ooops, it appears we didn't have a title for inlinelink
+ { setup.inlinelink % add some artificial link text here, as a fallback
+ "[link]" output.nonnull }
+ 'skip$
+ if$
+ bracket.state close.brackets = % urlbst
+ { "]" * }
+ 'skip$
+ if$
+ fin.entry.original
+}
+
% Webpage entry type.
% Title and url fields required;
% author, note, year, month, and lastchecked fields optional
@@ -640,10 +814,19 @@ FUNCTION {output.url}
FUNCTION {webpage}
{ output.bibitem
author empty$
- 'skip$
- { format.authors output.nonnull }
+ { editor empty$
+ 'skip$ % author and editor both optional
+ { format.editors output.nonnull }
+ if$
+ }
+ { editor empty$
+ { format.authors output.nonnull }
+ { "can't use both author and editor fields in " cite$ * warning$ }
+ if$
+ }
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$
format.title "title" output.check
inbrackets "online" output
new.block
@@ -651,23 +834,22 @@ FUNCTION {webpage}
'skip$
{ format.date "year" output.check }
if$
- lastchecked empty$
- 'skip$
- { format.lastchecked output }
- if$
- new.block
- format.url "url" output.check
+ % We don't need to output the URL details ('lastchecked' and 'url'),
+ % because fin.entry does that for us, using output.web.refs. The only
+ % reason we would want to put them here is if we were to decide that
+ % they should go in front of the rather miscellaneous information in 'note'.
new.block
note output
fin.entry
}
-% ...% urlbst.pl
+% ...urlbst to here
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
crossref missing$
@@ -680,8 +862,6 @@ FUNCTION {article}
}
if$
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -698,6 +878,7 @@ FUNCTION {book}
}
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
@@ -714,8 +895,6 @@ FUNCTION {book}
format.edition output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -724,14 +903,13 @@ FUNCTION {booklet}
{ output.bibitem
format.authors output
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
howpublished address new.block.checkb
howpublished output
address output
format.date output
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -748,6 +926,7 @@ FUNCTION {inbook}
}
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
@@ -766,8 +945,6 @@ FUNCTION {inbook}
format.edition output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -776,6 +953,7 @@ FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
crossref missing$
@@ -794,8 +972,6 @@ FUNCTION {incollection}
}
if$
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -804,6 +980,7 @@ FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
crossref missing$
@@ -830,8 +1007,6 @@ FUNCTION {inproceedings}
}
if$
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -851,6 +1026,7 @@ FUNCTION {manual}
{ format.authors output.nonnull }
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
author empty$
{ organization empty$
@@ -868,8 +1044,6 @@ FUNCTION {manual}
format.edition output
format.date output
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -878,6 +1052,7 @@ FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
"Master's thesis" format.thesis.type output.nonnull
@@ -885,8 +1060,6 @@ FUNCTION {mastersthesis}
address output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -895,13 +1068,12 @@ FUNCTION {misc}
{ output.bibitem
format.authors output
title howpublished new.block.checkb
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title output
howpublished new.block.checka
howpublished output
format.date output
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
empty.misc.check
@@ -911,6 +1083,7 @@ FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
new.block
"PhD thesis" format.thesis.type output.nonnull
@@ -918,8 +1091,6 @@ FUNCTION {phdthesis}
address output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -931,6 +1102,7 @@ FUNCTION {proceedings}
{ format.editors output.nonnull }
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
format.bvolume output
format.number.series output
@@ -955,8 +1127,6 @@ FUNCTION {proceedings}
}
if$
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -965,6 +1135,7 @@ FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
format.tr.number output.nonnull
@@ -972,8 +1143,6 @@ FUNCTION {techreport}
address output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -982,6 +1151,7 @@ FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
note "note" output.check
@@ -1238,6 +1408,7 @@ FUNCTION {begin.bib}
EXECUTE {begin.bib}
+EXECUTE {init.urlbst.variables}
EXECUTE {init.state.consts}
ITERATE {call.type$}
diff --git a/Master/texmf-dist/bibtex/bst/urlbst/alphaurl.bst b/Master/texmf-dist/bibtex/bst/urlbst/alphaurl.bst
index d18332871bd..19ed512e504 100644
--- a/Master/texmf-dist/bibtex/bst/urlbst/alphaurl.bst
+++ b/Master/texmf-dist/bibtex/bst/urlbst/alphaurl.bst
@@ -1,8 +1,13 @@
-%%% Modification of BibTeX style file /local2/teTeX-1.0/share/texmf/bibtex/bst/base/alpha.bst
-%%% to add webpage entry type, and url and lastchecked fields
-%%% Edits by urlbst.pl, version 0.1
-%%% (marked with % urlbst.pl)
+%%% Modification of BibTeX style file /usr/local/texlive/2007/texmf-dist/bibtex/bst/base/alpha.bst
+%%% ... by urlbst, version 0.6-1 (marked with "% urlbst")
+%%% See <http://purl.org/nxg/dist/urlbst>
+%%% Added webpage entry type, and url and lastchecked fields.
+%%% Added eprint support.
+%%% Added DOI support.
+%%% Added PUBMED support.
+%%% Added hyperref support.
%%% Original headers follow...
+
% BibTeX standard bibliography style `alpha'
% version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
% Copyright (C) 1985, all rights reserved.
@@ -36,22 +41,54 @@ ENTRY
type
volume
year
- url % urlbst.pl
- lastchecked
+ eprint % urlbst
+ doi % urlbst
+ pubmed % urlbst
+ url % urlbst
+ lastchecked % urlbst
}
{}
{ label extra.label sort.label }
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-INTEGERS { bracket.state outside.brackets open.brackets within.brackets close.brackets } % urlbst.pl
+STRINGS { urlintro eprinturl eprintprefix doiprefix doiurl pubmedprefix pubmedurl openinlinelink closeinlinelink } % urlbst...
+INTEGERS { hrefform inlinelinks makeinlinelink addeprints adddoiresolver addpubmedresolver }
+% Following constants may be adjusted by hand, if desired
+FUNCTION {init.urlbst.variables}
+{
+ "Available from: " 'urlintro := % prefix before URL
+ "http://arxiv.org/abs/" 'eprinturl := % prefix to make URL from eprint ref
+ "arXiv:" 'eprintprefix := % text prefix printed before eprint ref
+ "http://dx.doi.org/" 'doiurl := % prefix to make URL from DOI
+ "doi:" 'doiprefix := % text prefix printed before DOI ref
+ "http://www.ncbi.nlm.nih.gov/pubmed/" 'pubmedurl := % prefix to make URL from PUBMED
+ "PMID:" 'pubmedprefix := % text prefix printed before PUBMED ref
+ #1 'addeprints := % 0=no eprints; 1=include eprints
+ #1 'adddoiresolver := % 0=no DOI resolver; 1=include it
+ #1 'addpubmedresolver := % 0=no PUBMED resolver; 1=include it
+ #2 'hrefform := % 0=no crossrefs; 1=hypertex xrefs; 2=hyperref refs
+ #0 'inlinelinks := % 0=URLs explicit; 1=URLs attached to titles
+ % the following are internal state variables, not config constants
+ #0 'makeinlinelink := % state variable managed by setup.inlinelink
+ "" 'openinlinelink := % ditto
+ "" 'closeinlinelink := % ditto
+}
+INTEGERS {
+ bracket.state
+ outside.brackets
+ open.brackets
+ within.brackets
+ close.brackets
+}
+% ...urlbst to here
FUNCTION {init.state.consts}
-{ #0 'outside.brackets := % urlbst.pl
+{ #0 'outside.brackets := % urlbst
#1 'open.brackets :=
#2 'within.brackets :=
#3 'close.brackets :=
- #0 'before.all :=
+ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
@@ -59,7 +96,7 @@ FUNCTION {init.state.consts}
STRINGS { s t }
-% urlbst.pl
+% urlbst
FUNCTION {output.nonnull.original}
{ 's :=
output.state mid.sentence =
@@ -81,12 +118,50 @@ FUNCTION {output.nonnull.original}
s
}
-% urlbst.pl...
+% urlbst...
+% The following three functions are for handling inlinelink. They wrap
+% a block of text which is potentially output with write$ by multiple
+% other functions, so we don't know the content a priori.
+% They communicate between each other using the variables makeinlinelink
+% (which is true if a link should be made), and closeinlinelink (which holds
+% the string which should close any current link. They can be called
+% at any time, but start.inlinelink will be a no-op unless something has
+% previously set makeinlinelink true, and the two ...end.inlinelink functions
+% will only do their stuff if start.inlinelink has previously set
+% closeinlinelink to be non-empty.
+FUNCTION {setup.inlinelink}
+{ makeinlinelink
+ { hrefform #1 = % hypertex
+ { "\special {html:<a href=" quote$ * url * quote$ * "> }{" * 'openinlinelink :=
+ "\special {html:</a>}" 'closeinlinelink :=
+ }
+ { hrefform #2 = % hyperref
+ { "\href{" url * "}{" * 'openinlinelink :=
+ "}" 'closeinlinelink :=
+ }
+ 'skip$
+ if$ % hrefform #2 =
+ }
+ if$ % hrefform #1 =
+ #0 'makeinlinelink :=
+ }
+ 'skip$
+ if$ % makeinlinelink
+}
+FUNCTION {add.inlinelink}
+{ openinlinelink empty$
+ 'skip$
+ { openinlinelink swap$ * closeinlinelink *
+ "" 'openinlinelink :=
+ }
+ if$
+}
FUNCTION {output.nonnull}
{ % Save the thing we've been asked to output
's :=
- % If the bracket-state is close.brackets, then add a close-bracket to what's
- % currently at the top of the stack, and set bracket.state to outside.brackets
+ % If the bracket-state is close.brackets, then add a close-bracket to
+ % what is currently at the top of the stack, and set bracket.state
+ % to outside.brackets
bracket.state close.brackets =
{ "]" *
outside.brackets 'bracket.state :=
@@ -98,7 +173,8 @@ FUNCTION {output.nonnull}
% Write out what's currently at the top of the stack, using the
% original output.nonnull function.
s
- output.nonnull.original
+ add.inlinelink
+ output.nonnull.original % invoke the original output.nonnull
}
{ % Still in brackets. Add open-bracket or (continuation) comma, add the
% new text (in s) to the top of the stack, and move to the close-brackets
@@ -123,20 +199,13 @@ FUNCTION {inbrackets}
if$
}
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { "Available from World Wide Web: \url{" url * "}" * }
- if$
-}
-
FUNCTION {format.lastchecked}
{ lastchecked empty$
{ "" }
{ inbrackets "cited " lastchecked * }
if$
}
-% ...% urlbst.pl
+% ...urlbst to here
FUNCTION {output}
{ duplicate$ empty$
@@ -153,9 +222,8 @@ FUNCTION {output.check}
if$
}
-FUNCTION {output.bibitem}
-{ outside.brackets 'bracket.state := % urlbst.pl
- newline$
+FUNCTION {output.bibitem.original}
+{ newline$
"\bibitem[" write$
label write$
"]{" write$
@@ -166,13 +234,8 @@ FUNCTION {output.bibitem}
before.all 'output.state :=
}
-FUNCTION {fin.entry}
-{
- bracket.state close.brackets = % urlbst.pl
- { "]" * }
- 'skip$
- if$
- add.period$
+FUNCTION {fin.entry.original}
+{ add.period$
write$
newline$
}
@@ -614,7 +677,73 @@ FUNCTION {format.incoll.inproc.crossref}
" \cite{" * crossref * "}" *
}
-% urlbst.pl...
+% urlbst...
+% Functions for making hypertext links.
+% In all cases, the stack has (link-text href-url)
+%
+% make 'null' specials
+FUNCTION {make.href.null}
+{
+ pop$
+}
+% make hypertex specials
+FUNCTION {make.href.hypertex}
+{
+ "\special {html:<a href=" quote$ *
+ swap$ * quote$ * "> }" * swap$ *
+ "\special {html:</a>}" *
+}
+% make hyperref specials
+FUNCTION {make.href.hyperref}
+{
+ "\href {" swap$ * "} {\path{" * swap$ * "}}" *
+}
+FUNCTION {make.href}
+{ hrefform #2 =
+ 'make.href.hyperref % hrefform = 2
+ { hrefform #1 =
+ 'make.href.hypertex % hrefform = 1
+ 'make.href.null % hrefform = 0 (or anything else)
+ if$
+ }
+ if$
+}
+
+% If inlinelinks is true, then format.url should be a no-op, since it's
+% (a) redundant, and (b) could end up as a link-within-a-link.
+FUNCTION {format.url}
+{ inlinelinks #1 = url empty$ or
+ { "" }
+ { hrefform #1 =
+ { % special case -- add HyperTeX specials
+ urlintro "\url{" url * "}" * url make.href.hypertex * }
+ { urlintro "\url{" * url * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.eprint}
+{ eprint empty$
+ { "" }
+ { eprintprefix eprint * eprinturl eprint * make.href }
+ if$
+}
+
+FUNCTION {format.doi}
+{ doi empty$
+ { "" }
+ { doiprefix doi * doiurl doi * make.href }
+ if$
+}
+
+FUNCTION {format.pubmed}
+{ pubmed empty$
+ { "" }
+ { pubmedprefix pubmed * pubmedurl pubmed * make.href }
+ if$
+}
+
% Output a URL. We can't use the more normal idiom (something like
% `format.url output'), because the `inbrackets' within
% format.lastchecked applies to everything between calls to `output',
@@ -630,6 +759,51 @@ FUNCTION {output.url}
if$
}
+FUNCTION {output.web.refs}
+{
+ new.block
+ output.url
+ addeprints eprint empty$ not and
+ { format.eprint output.nonnull }
+ 'skip$
+ if$
+ adddoiresolver doi empty$ not and
+ { format.doi output.nonnull }
+ 'skip$
+ if$
+ addpubmedresolver pubmed empty$ not and
+ { format.pubmed output.nonnull }
+ 'skip$
+ if$
+}
+
+% Wrapper for output.bibitem.original.
+% If the URL field is not empty, set makeinlinelink to be true,
+% so that an inline link will be started at the next opportunity
+FUNCTION {output.bibitem}
+{ outside.brackets 'bracket.state :=
+ output.bibitem.original
+ inlinelinks url empty$ not and
+ { #1 'makeinlinelink := }
+ { #0 'makeinlinelink := }
+ if$
+}
+
+% Wrapper for fin.entry.original
+FUNCTION {fin.entry}
+{ output.web.refs % urlbst
+ makeinlinelink % ooops, it appears we didn't have a title for inlinelink
+ { setup.inlinelink % add some artificial link text here, as a fallback
+ "[link]" output.nonnull }
+ 'skip$
+ if$
+ bracket.state close.brackets = % urlbst
+ { "]" * }
+ 'skip$
+ if$
+ fin.entry.original
+}
+
% Webpage entry type.
% Title and url fields required;
% author, note, year, month, and lastchecked fields optional
@@ -642,10 +816,19 @@ FUNCTION {output.url}
FUNCTION {webpage}
{ output.bibitem
author empty$
- 'skip$
- { format.authors output.nonnull }
+ { editor empty$
+ 'skip$ % author and editor both optional
+ { format.editors output.nonnull }
+ if$
+ }
+ { editor empty$
+ { format.authors output.nonnull }
+ { "can't use both author and editor fields in " cite$ * warning$ }
+ if$
+ }
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$
format.title "title" output.check
inbrackets "online" output
new.block
@@ -653,23 +836,22 @@ FUNCTION {webpage}
'skip$
{ format.date "year" output.check }
if$
- lastchecked empty$
- 'skip$
- { format.lastchecked output }
- if$
- new.block
- format.url "url" output.check
+ % We don't need to output the URL details ('lastchecked' and 'url'),
+ % because fin.entry does that for us, using output.web.refs. The only
+ % reason we would want to put them here is if we were to decide that
+ % they should go in front of the rather miscellaneous information in 'note'.
new.block
note output
fin.entry
}
-% ...% urlbst.pl
+% ...urlbst to here
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
crossref missing$
@@ -682,8 +864,6 @@ FUNCTION {article}
}
if$
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -700,6 +880,7 @@ FUNCTION {book}
}
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
@@ -716,8 +897,6 @@ FUNCTION {book}
format.edition output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -726,14 +905,13 @@ FUNCTION {booklet}
{ output.bibitem
format.authors output
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
howpublished address new.block.checkb
howpublished output
address output
format.date output
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -750,6 +928,7 @@ FUNCTION {inbook}
}
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
@@ -768,8 +947,6 @@ FUNCTION {inbook}
format.edition output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -778,6 +955,7 @@ FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
crossref missing$
@@ -796,8 +974,6 @@ FUNCTION {incollection}
}
if$
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -806,6 +982,7 @@ FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
crossref missing$
@@ -832,8 +1009,6 @@ FUNCTION {inproceedings}
}
if$
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -853,6 +1028,7 @@ FUNCTION {manual}
{ format.authors output.nonnull }
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
author empty$
{ organization empty$
@@ -870,8 +1046,6 @@ FUNCTION {manual}
format.edition output
format.date output
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -880,6 +1054,7 @@ FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
"Master's thesis" format.thesis.type output.nonnull
@@ -887,8 +1062,6 @@ FUNCTION {mastersthesis}
address output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -897,13 +1070,12 @@ FUNCTION {misc}
{ output.bibitem
format.authors output
title howpublished new.block.checkb
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title output
howpublished new.block.checka
howpublished output
format.date output
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
empty.misc.check
@@ -913,6 +1085,7 @@ FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
new.block
"PhD thesis" format.thesis.type output.nonnull
@@ -920,8 +1093,6 @@ FUNCTION {phdthesis}
address output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -933,6 +1104,7 @@ FUNCTION {proceedings}
{ format.editors output.nonnull }
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
format.bvolume output
format.number.series output
@@ -957,8 +1129,6 @@ FUNCTION {proceedings}
}
if$
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -967,6 +1137,7 @@ FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
format.tr.number output.nonnull
@@ -974,8 +1145,6 @@ FUNCTION {techreport}
address output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -984,6 +1153,7 @@ FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
note "note" output.check
@@ -1398,6 +1568,7 @@ FUNCTION {begin.bib}
EXECUTE {begin.bib}
+EXECUTE {init.urlbst.variables}
EXECUTE {init.state.consts}
ITERATE {call.type$}
diff --git a/Master/texmf-dist/bibtex/bst/urlbst/plainurl.bst b/Master/texmf-dist/bibtex/bst/urlbst/plainurl.bst
index 78fecde3486..5c0788e1398 100644
--- a/Master/texmf-dist/bibtex/bst/urlbst/plainurl.bst
+++ b/Master/texmf-dist/bibtex/bst/urlbst/plainurl.bst
@@ -1,8 +1,13 @@
-%%% Modification of BibTeX style file /local2/teTeX-1.0/share/texmf/bibtex/bst/base/plain.bst
-%%% to add webpage entry type, and url and lastchecked fields
-%%% Edits by urlbst.pl, version 0.1
-%%% (marked with % urlbst.pl)
+%%% Modification of BibTeX style file /usr/local/texlive/2007/texmf-dist/bibtex/bst/base/plain.bst
+%%% ... by urlbst, version 0.6-1 (marked with "% urlbst")
+%%% See <http://purl.org/nxg/dist/urlbst>
+%%% Added webpage entry type, and url and lastchecked fields.
+%%% Added eprint support.
+%%% Added DOI support.
+%%% Added PUBMED support.
+%%% Added hyperref support.
%%% Original headers follow...
+
% BibTeX standard bibliography style `plain'
% version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
% Copyright (C) 1985, all rights reserved.
@@ -36,22 +41,54 @@ ENTRY
type
volume
year
- url % urlbst.pl
- lastchecked
+ eprint % urlbst
+ doi % urlbst
+ pubmed % urlbst
+ url % urlbst
+ lastchecked % urlbst
}
{}
{ label }
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-INTEGERS { bracket.state outside.brackets open.brackets within.brackets close.brackets } % urlbst.pl
+STRINGS { urlintro eprinturl eprintprefix doiprefix doiurl pubmedprefix pubmedurl openinlinelink closeinlinelink } % urlbst...
+INTEGERS { hrefform inlinelinks makeinlinelink addeprints adddoiresolver addpubmedresolver }
+% Following constants may be adjusted by hand, if desired
+FUNCTION {init.urlbst.variables}
+{
+ "Available from: " 'urlintro := % prefix before URL
+ "http://arxiv.org/abs/" 'eprinturl := % prefix to make URL from eprint ref
+ "arXiv:" 'eprintprefix := % text prefix printed before eprint ref
+ "http://dx.doi.org/" 'doiurl := % prefix to make URL from DOI
+ "doi:" 'doiprefix := % text prefix printed before DOI ref
+ "http://www.ncbi.nlm.nih.gov/pubmed/" 'pubmedurl := % prefix to make URL from PUBMED
+ "PMID:" 'pubmedprefix := % text prefix printed before PUBMED ref
+ #1 'addeprints := % 0=no eprints; 1=include eprints
+ #1 'adddoiresolver := % 0=no DOI resolver; 1=include it
+ #1 'addpubmedresolver := % 0=no PUBMED resolver; 1=include it
+ #2 'hrefform := % 0=no crossrefs; 1=hypertex xrefs; 2=hyperref refs
+ #0 'inlinelinks := % 0=URLs explicit; 1=URLs attached to titles
+ % the following are internal state variables, not config constants
+ #0 'makeinlinelink := % state variable managed by setup.inlinelink
+ "" 'openinlinelink := % ditto
+ "" 'closeinlinelink := % ditto
+}
+INTEGERS {
+ bracket.state
+ outside.brackets
+ open.brackets
+ within.brackets
+ close.brackets
+}
+% ...urlbst to here
FUNCTION {init.state.consts}
-{ #0 'outside.brackets := % urlbst.pl
+{ #0 'outside.brackets := % urlbst
#1 'open.brackets :=
#2 'within.brackets :=
#3 'close.brackets :=
- #0 'before.all :=
+ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
@@ -59,7 +96,7 @@ FUNCTION {init.state.consts}
STRINGS { s t }
-% urlbst.pl
+% urlbst
FUNCTION {output.nonnull.original}
{ 's :=
output.state mid.sentence =
@@ -81,12 +118,50 @@ FUNCTION {output.nonnull.original}
s
}
-% urlbst.pl...
+% urlbst...
+% The following three functions are for handling inlinelink. They wrap
+% a block of text which is potentially output with write$ by multiple
+% other functions, so we don't know the content a priori.
+% They communicate between each other using the variables makeinlinelink
+% (which is true if a link should be made), and closeinlinelink (which holds
+% the string which should close any current link. They can be called
+% at any time, but start.inlinelink will be a no-op unless something has
+% previously set makeinlinelink true, and the two ...end.inlinelink functions
+% will only do their stuff if start.inlinelink has previously set
+% closeinlinelink to be non-empty.
+FUNCTION {setup.inlinelink}
+{ makeinlinelink
+ { hrefform #1 = % hypertex
+ { "\special {html:<a href=" quote$ * url * quote$ * "> }{" * 'openinlinelink :=
+ "\special {html:</a>}" 'closeinlinelink :=
+ }
+ { hrefform #2 = % hyperref
+ { "\href{" url * "}{" * 'openinlinelink :=
+ "}" 'closeinlinelink :=
+ }
+ 'skip$
+ if$ % hrefform #2 =
+ }
+ if$ % hrefform #1 =
+ #0 'makeinlinelink :=
+ }
+ 'skip$
+ if$ % makeinlinelink
+}
+FUNCTION {add.inlinelink}
+{ openinlinelink empty$
+ 'skip$
+ { openinlinelink swap$ * closeinlinelink *
+ "" 'openinlinelink :=
+ }
+ if$
+}
FUNCTION {output.nonnull}
{ % Save the thing we've been asked to output
's :=
- % If the bracket-state is close.brackets, then add a close-bracket to what's
- % currently at the top of the stack, and set bracket.state to outside.brackets
+ % If the bracket-state is close.brackets, then add a close-bracket to
+ % what is currently at the top of the stack, and set bracket.state
+ % to outside.brackets
bracket.state close.brackets =
{ "]" *
outside.brackets 'bracket.state :=
@@ -98,7 +173,8 @@ FUNCTION {output.nonnull}
% Write out what's currently at the top of the stack, using the
% original output.nonnull function.
s
- output.nonnull.original
+ add.inlinelink
+ output.nonnull.original % invoke the original output.nonnull
}
{ % Still in brackets. Add open-bracket or (continuation) comma, add the
% new text (in s) to the top of the stack, and move to the close-brackets
@@ -123,20 +199,13 @@ FUNCTION {inbrackets}
if$
}
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { "Available from World Wide Web: \url{" url * "}" * }
- if$
-}
-
FUNCTION {format.lastchecked}
{ lastchecked empty$
{ "" }
{ inbrackets "cited " lastchecked * }
if$
}
-% ...% urlbst.pl
+% ...urlbst to here
FUNCTION {output}
{ duplicate$ empty$
@@ -153,9 +222,8 @@ FUNCTION {output.check}
if$
}
-FUNCTION {output.bibitem}
-{ outside.brackets 'bracket.state := % urlbst.pl
- newline$
+FUNCTION {output.bibitem.original}
+{ newline$
"\bibitem{" write$
cite$ write$
"}" write$
@@ -164,13 +232,8 @@ FUNCTION {output.bibitem}
before.all 'output.state :=
}
-FUNCTION {fin.entry}
-{
- bracket.state close.brackets = % urlbst.pl
- { "]" * }
- 'skip$
- if$
- add.period$
+FUNCTION {fin.entry.original}
+{ add.period$
write$
newline$
}
@@ -612,7 +675,73 @@ FUNCTION {format.incoll.inproc.crossref}
" \cite{" * crossref * "}" *
}
-% urlbst.pl...
+% urlbst...
+% Functions for making hypertext links.
+% In all cases, the stack has (link-text href-url)
+%
+% make 'null' specials
+FUNCTION {make.href.null}
+{
+ pop$
+}
+% make hypertex specials
+FUNCTION {make.href.hypertex}
+{
+ "\special {html:<a href=" quote$ *
+ swap$ * quote$ * "> }" * swap$ *
+ "\special {html:</a>}" *
+}
+% make hyperref specials
+FUNCTION {make.href.hyperref}
+{
+ "\href {" swap$ * "} {\path{" * swap$ * "}}" *
+}
+FUNCTION {make.href}
+{ hrefform #2 =
+ 'make.href.hyperref % hrefform = 2
+ { hrefform #1 =
+ 'make.href.hypertex % hrefform = 1
+ 'make.href.null % hrefform = 0 (or anything else)
+ if$
+ }
+ if$
+}
+
+% If inlinelinks is true, then format.url should be a no-op, since it's
+% (a) redundant, and (b) could end up as a link-within-a-link.
+FUNCTION {format.url}
+{ inlinelinks #1 = url empty$ or
+ { "" }
+ { hrefform #1 =
+ { % special case -- add HyperTeX specials
+ urlintro "\url{" url * "}" * url make.href.hypertex * }
+ { urlintro "\url{" * url * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.eprint}
+{ eprint empty$
+ { "" }
+ { eprintprefix eprint * eprinturl eprint * make.href }
+ if$
+}
+
+FUNCTION {format.doi}
+{ doi empty$
+ { "" }
+ { doiprefix doi * doiurl doi * make.href }
+ if$
+}
+
+FUNCTION {format.pubmed}
+{ pubmed empty$
+ { "" }
+ { pubmedprefix pubmed * pubmedurl pubmed * make.href }
+ if$
+}
+
% Output a URL. We can't use the more normal idiom (something like
% `format.url output'), because the `inbrackets' within
% format.lastchecked applies to everything between calls to `output',
@@ -628,6 +757,51 @@ FUNCTION {output.url}
if$
}
+FUNCTION {output.web.refs}
+{
+ new.block
+ output.url
+ addeprints eprint empty$ not and
+ { format.eprint output.nonnull }
+ 'skip$
+ if$
+ adddoiresolver doi empty$ not and
+ { format.doi output.nonnull }
+ 'skip$
+ if$
+ addpubmedresolver pubmed empty$ not and
+ { format.pubmed output.nonnull }
+ 'skip$
+ if$
+}
+
+% Wrapper for output.bibitem.original.
+% If the URL field is not empty, set makeinlinelink to be true,
+% so that an inline link will be started at the next opportunity
+FUNCTION {output.bibitem}
+{ outside.brackets 'bracket.state :=
+ output.bibitem.original
+ inlinelinks url empty$ not and
+ { #1 'makeinlinelink := }
+ { #0 'makeinlinelink := }
+ if$
+}
+
+% Wrapper for fin.entry.original
+FUNCTION {fin.entry}
+{ output.web.refs % urlbst
+ makeinlinelink % ooops, it appears we didn't have a title for inlinelink
+ { setup.inlinelink % add some artificial link text here, as a fallback
+ "[link]" output.nonnull }
+ 'skip$
+ if$
+ bracket.state close.brackets = % urlbst
+ { "]" * }
+ 'skip$
+ if$
+ fin.entry.original
+}
+
% Webpage entry type.
% Title and url fields required;
% author, note, year, month, and lastchecked fields optional
@@ -640,10 +814,19 @@ FUNCTION {output.url}
FUNCTION {webpage}
{ output.bibitem
author empty$
- 'skip$
- { format.authors output.nonnull }
+ { editor empty$
+ 'skip$ % author and editor both optional
+ { format.editors output.nonnull }
+ if$
+ }
+ { editor empty$
+ { format.authors output.nonnull }
+ { "can't use both author and editor fields in " cite$ * warning$ }
+ if$
+ }
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$
format.title "title" output.check
inbrackets "online" output
new.block
@@ -651,23 +834,22 @@ FUNCTION {webpage}
'skip$
{ format.date "year" output.check }
if$
- lastchecked empty$
- 'skip$
- { format.lastchecked output }
- if$
- new.block
- format.url "url" output.check
+ % We don't need to output the URL details ('lastchecked' and 'url'),
+ % because fin.entry does that for us, using output.web.refs. The only
+ % reason we would want to put them here is if we were to decide that
+ % they should go in front of the rather miscellaneous information in 'note'.
new.block
note output
fin.entry
}
-% ...% urlbst.pl
+% ...urlbst to here
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
crossref missing$
@@ -680,8 +862,6 @@ FUNCTION {article}
}
if$
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -698,6 +878,7 @@ FUNCTION {book}
}
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
@@ -714,8 +895,6 @@ FUNCTION {book}
format.edition output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -724,14 +903,13 @@ FUNCTION {booklet}
{ output.bibitem
format.authors output
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
howpublished address new.block.checkb
howpublished output
address output
format.date output
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -748,6 +926,7 @@ FUNCTION {inbook}
}
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
@@ -766,8 +945,6 @@ FUNCTION {inbook}
format.edition output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -776,6 +953,7 @@ FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
crossref missing$
@@ -794,8 +972,6 @@ FUNCTION {incollection}
}
if$
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -804,6 +980,7 @@ FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
crossref missing$
@@ -830,8 +1007,6 @@ FUNCTION {inproceedings}
}
if$
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -851,6 +1026,7 @@ FUNCTION {manual}
{ format.authors output.nonnull }
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
author empty$
{ organization empty$
@@ -868,8 +1044,6 @@ FUNCTION {manual}
format.edition output
format.date output
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -878,6 +1052,7 @@ FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
"Master's thesis" format.thesis.type output.nonnull
@@ -885,8 +1060,6 @@ FUNCTION {mastersthesis}
address output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -895,13 +1068,12 @@ FUNCTION {misc}
{ output.bibitem
format.authors output
title howpublished new.block.checkb
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title output
howpublished new.block.checka
howpublished output
format.date output
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
empty.misc.check
@@ -911,6 +1083,7 @@ FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
new.block
"PhD thesis" format.thesis.type output.nonnull
@@ -918,8 +1091,6 @@ FUNCTION {phdthesis}
address output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -931,6 +1102,7 @@ FUNCTION {proceedings}
{ format.editors output.nonnull }
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
format.bvolume output
format.number.series output
@@ -955,8 +1127,6 @@ FUNCTION {proceedings}
}
if$
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -965,6 +1135,7 @@ FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
format.tr.number output.nonnull
@@ -972,8 +1143,6 @@ FUNCTION {techreport}
address output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -982,6 +1151,7 @@ FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
note "note" output.check
@@ -1238,6 +1408,7 @@ FUNCTION {begin.bib}
EXECUTE {begin.bib}
+EXECUTE {init.urlbst.variables}
EXECUTE {init.state.consts}
ITERATE {call.type$}
diff --git a/Master/texmf-dist/bibtex/bst/urlbst/unsrturl.bst b/Master/texmf-dist/bibtex/bst/urlbst/unsrturl.bst
index 7c4426bd0dc..602c0f105c7 100644
--- a/Master/texmf-dist/bibtex/bst/urlbst/unsrturl.bst
+++ b/Master/texmf-dist/bibtex/bst/urlbst/unsrturl.bst
@@ -1,8 +1,13 @@
-%%% Modification of BibTeX style file /local2/teTeX-1.0/share/texmf/bibtex/bst/base/unsrt.bst
-%%% to add webpage entry type, and url and lastchecked fields
-%%% Edits by urlbst.pl, version 0.1
-%%% (marked with % urlbst.pl)
+%%% Modification of BibTeX style file /usr/local/texlive/2007/texmf-dist/bibtex/bst/base/unsrt.bst
+%%% ... by urlbst, version 0.6-1 (marked with "% urlbst")
+%%% See <http://purl.org/nxg/dist/urlbst>
+%%% Added webpage entry type, and url and lastchecked fields.
+%%% Added eprint support.
+%%% Added DOI support.
+%%% Added PUBMED support.
+%%% Added hyperref support.
%%% Original headers follow...
+
% BibTeX standard bibliography style `unsrt'
% version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.
% Copyright (C) 1985, all rights reserved.
@@ -36,22 +41,54 @@ ENTRY
type
volume
year
- url % urlbst.pl
- lastchecked
+ eprint % urlbst
+ doi % urlbst
+ pubmed % urlbst
+ url % urlbst
+ lastchecked % urlbst
}
{}
{ label }
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-INTEGERS { bracket.state outside.brackets open.brackets within.brackets close.brackets } % urlbst.pl
+STRINGS { urlintro eprinturl eprintprefix doiprefix doiurl pubmedprefix pubmedurl openinlinelink closeinlinelink } % urlbst...
+INTEGERS { hrefform inlinelinks makeinlinelink addeprints adddoiresolver addpubmedresolver }
+% Following constants may be adjusted by hand, if desired
+FUNCTION {init.urlbst.variables}
+{
+ "Available from: " 'urlintro := % prefix before URL
+ "http://arxiv.org/abs/" 'eprinturl := % prefix to make URL from eprint ref
+ "arXiv:" 'eprintprefix := % text prefix printed before eprint ref
+ "http://dx.doi.org/" 'doiurl := % prefix to make URL from DOI
+ "doi:" 'doiprefix := % text prefix printed before DOI ref
+ "http://www.ncbi.nlm.nih.gov/pubmed/" 'pubmedurl := % prefix to make URL from PUBMED
+ "PMID:" 'pubmedprefix := % text prefix printed before PUBMED ref
+ #1 'addeprints := % 0=no eprints; 1=include eprints
+ #1 'adddoiresolver := % 0=no DOI resolver; 1=include it
+ #1 'addpubmedresolver := % 0=no PUBMED resolver; 1=include it
+ #2 'hrefform := % 0=no crossrefs; 1=hypertex xrefs; 2=hyperref refs
+ #0 'inlinelinks := % 0=URLs explicit; 1=URLs attached to titles
+ % the following are internal state variables, not config constants
+ #0 'makeinlinelink := % state variable managed by setup.inlinelink
+ "" 'openinlinelink := % ditto
+ "" 'closeinlinelink := % ditto
+}
+INTEGERS {
+ bracket.state
+ outside.brackets
+ open.brackets
+ within.brackets
+ close.brackets
+}
+% ...urlbst to here
FUNCTION {init.state.consts}
-{ #0 'outside.brackets := % urlbst.pl
+{ #0 'outside.brackets := % urlbst
#1 'open.brackets :=
#2 'within.brackets :=
#3 'close.brackets :=
- #0 'before.all :=
+ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
@@ -59,7 +96,7 @@ FUNCTION {init.state.consts}
STRINGS { s t }
-% urlbst.pl
+% urlbst
FUNCTION {output.nonnull.original}
{ 's :=
output.state mid.sentence =
@@ -81,12 +118,50 @@ FUNCTION {output.nonnull.original}
s
}
-% urlbst.pl...
+% urlbst...
+% The following three functions are for handling inlinelink. They wrap
+% a block of text which is potentially output with write$ by multiple
+% other functions, so we don't know the content a priori.
+% They communicate between each other using the variables makeinlinelink
+% (which is true if a link should be made), and closeinlinelink (which holds
+% the string which should close any current link. They can be called
+% at any time, but start.inlinelink will be a no-op unless something has
+% previously set makeinlinelink true, and the two ...end.inlinelink functions
+% will only do their stuff if start.inlinelink has previously set
+% closeinlinelink to be non-empty.
+FUNCTION {setup.inlinelink}
+{ makeinlinelink
+ { hrefform #1 = % hypertex
+ { "\special {html:<a href=" quote$ * url * quote$ * "> }{" * 'openinlinelink :=
+ "\special {html:</a>}" 'closeinlinelink :=
+ }
+ { hrefform #2 = % hyperref
+ { "\href{" url * "}{" * 'openinlinelink :=
+ "}" 'closeinlinelink :=
+ }
+ 'skip$
+ if$ % hrefform #2 =
+ }
+ if$ % hrefform #1 =
+ #0 'makeinlinelink :=
+ }
+ 'skip$
+ if$ % makeinlinelink
+}
+FUNCTION {add.inlinelink}
+{ openinlinelink empty$
+ 'skip$
+ { openinlinelink swap$ * closeinlinelink *
+ "" 'openinlinelink :=
+ }
+ if$
+}
FUNCTION {output.nonnull}
{ % Save the thing we've been asked to output
's :=
- % If the bracket-state is close.brackets, then add a close-bracket to what's
- % currently at the top of the stack, and set bracket.state to outside.brackets
+ % If the bracket-state is close.brackets, then add a close-bracket to
+ % what is currently at the top of the stack, and set bracket.state
+ % to outside.brackets
bracket.state close.brackets =
{ "]" *
outside.brackets 'bracket.state :=
@@ -98,7 +173,8 @@ FUNCTION {output.nonnull}
% Write out what's currently at the top of the stack, using the
% original output.nonnull function.
s
- output.nonnull.original
+ add.inlinelink
+ output.nonnull.original % invoke the original output.nonnull
}
{ % Still in brackets. Add open-bracket or (continuation) comma, add the
% new text (in s) to the top of the stack, and move to the close-brackets
@@ -123,20 +199,13 @@ FUNCTION {inbrackets}
if$
}
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { "Available from World Wide Web: \url{" url * "}" * }
- if$
-}
-
FUNCTION {format.lastchecked}
{ lastchecked empty$
{ "" }
{ inbrackets "cited " lastchecked * }
if$
}
-% ...% urlbst.pl
+% ...urlbst to here
FUNCTION {output}
{ duplicate$ empty$
@@ -153,9 +222,8 @@ FUNCTION {output.check}
if$
}
-FUNCTION {output.bibitem}
-{ outside.brackets 'bracket.state := % urlbst.pl
- newline$
+FUNCTION {output.bibitem.original}
+{ newline$
"\bibitem{" write$
cite$ write$
"}" write$
@@ -164,13 +232,8 @@ FUNCTION {output.bibitem}
before.all 'output.state :=
}
-FUNCTION {fin.entry}
-{
- bracket.state close.brackets = % urlbst.pl
- { "]" * }
- 'skip$
- if$
- add.period$
+FUNCTION {fin.entry.original}
+{ add.period$
write$
newline$
}
@@ -611,7 +674,73 @@ FUNCTION {format.incoll.inproc.crossref}
" \cite{" * crossref * "}" *
}
-% urlbst.pl...
+% urlbst...
+% Functions for making hypertext links.
+% In all cases, the stack has (link-text href-url)
+%
+% make 'null' specials
+FUNCTION {make.href.null}
+{
+ pop$
+}
+% make hypertex specials
+FUNCTION {make.href.hypertex}
+{
+ "\special {html:<a href=" quote$ *
+ swap$ * quote$ * "> }" * swap$ *
+ "\special {html:</a>}" *
+}
+% make hyperref specials
+FUNCTION {make.href.hyperref}
+{
+ "\href {" swap$ * "} {\path{" * swap$ * "}}" *
+}
+FUNCTION {make.href}
+{ hrefform #2 =
+ 'make.href.hyperref % hrefform = 2
+ { hrefform #1 =
+ 'make.href.hypertex % hrefform = 1
+ 'make.href.null % hrefform = 0 (or anything else)
+ if$
+ }
+ if$
+}
+
+% If inlinelinks is true, then format.url should be a no-op, since it's
+% (a) redundant, and (b) could end up as a link-within-a-link.
+FUNCTION {format.url}
+{ inlinelinks #1 = url empty$ or
+ { "" }
+ { hrefform #1 =
+ { % special case -- add HyperTeX specials
+ urlintro "\url{" url * "}" * url make.href.hypertex * }
+ { urlintro "\url{" * url * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.eprint}
+{ eprint empty$
+ { "" }
+ { eprintprefix eprint * eprinturl eprint * make.href }
+ if$
+}
+
+FUNCTION {format.doi}
+{ doi empty$
+ { "" }
+ { doiprefix doi * doiurl doi * make.href }
+ if$
+}
+
+FUNCTION {format.pubmed}
+{ pubmed empty$
+ { "" }
+ { pubmedprefix pubmed * pubmedurl pubmed * make.href }
+ if$
+}
+
% Output a URL. We can't use the more normal idiom (something like
% `format.url output'), because the `inbrackets' within
% format.lastchecked applies to everything between calls to `output',
@@ -627,6 +756,51 @@ FUNCTION {output.url}
if$
}
+FUNCTION {output.web.refs}
+{
+ new.block
+ output.url
+ addeprints eprint empty$ not and
+ { format.eprint output.nonnull }
+ 'skip$
+ if$
+ adddoiresolver doi empty$ not and
+ { format.doi output.nonnull }
+ 'skip$
+ if$
+ addpubmedresolver pubmed empty$ not and
+ { format.pubmed output.nonnull }
+ 'skip$
+ if$
+}
+
+% Wrapper for output.bibitem.original.
+% If the URL field is not empty, set makeinlinelink to be true,
+% so that an inline link will be started at the next opportunity
+FUNCTION {output.bibitem}
+{ outside.brackets 'bracket.state :=
+ output.bibitem.original
+ inlinelinks url empty$ not and
+ { #1 'makeinlinelink := }
+ { #0 'makeinlinelink := }
+ if$
+}
+
+% Wrapper for fin.entry.original
+FUNCTION {fin.entry}
+{ output.web.refs % urlbst
+ makeinlinelink % ooops, it appears we didn't have a title for inlinelink
+ { setup.inlinelink % add some artificial link text here, as a fallback
+ "[link]" output.nonnull }
+ 'skip$
+ if$
+ bracket.state close.brackets = % urlbst
+ { "]" * }
+ 'skip$
+ if$
+ fin.entry.original
+}
+
% Webpage entry type.
% Title and url fields required;
% author, note, year, month, and lastchecked fields optional
@@ -639,10 +813,19 @@ FUNCTION {output.url}
FUNCTION {webpage}
{ output.bibitem
author empty$
- 'skip$
- { format.authors output.nonnull }
+ { editor empty$
+ 'skip$ % author and editor both optional
+ { format.editors output.nonnull }
+ if$
+ }
+ { editor empty$
+ { format.authors output.nonnull }
+ { "can't use both author and editor fields in " cite$ * warning$ }
+ if$
+ }
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$
format.title "title" output.check
inbrackets "online" output
new.block
@@ -650,23 +833,22 @@ FUNCTION {webpage}
'skip$
{ format.date "year" output.check }
if$
- lastchecked empty$
- 'skip$
- { format.lastchecked output }
- if$
- new.block
- format.url "url" output.check
+ % We don't need to output the URL details ('lastchecked' and 'url'),
+ % because fin.entry does that for us, using output.web.refs. The only
+ % reason we would want to put them here is if we were to decide that
+ % they should go in front of the rather miscellaneous information in 'note'.
new.block
note output
fin.entry
}
-% ...% urlbst.pl
+% ...urlbst to here
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
crossref missing$
@@ -679,8 +861,6 @@ FUNCTION {article}
}
if$
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -697,6 +877,7 @@ FUNCTION {book}
}
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
@@ -713,8 +894,6 @@ FUNCTION {book}
format.edition output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -723,14 +902,13 @@ FUNCTION {booklet}
{ output.bibitem
format.authors output
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
howpublished address new.block.checkb
howpublished output
address output
format.date output
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -747,6 +925,7 @@ FUNCTION {inbook}
}
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
@@ -765,8 +944,6 @@ FUNCTION {inbook}
format.edition output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -775,6 +952,7 @@ FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
crossref missing$
@@ -793,8 +971,6 @@ FUNCTION {incollection}
}
if$
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -803,6 +979,7 @@ FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
crossref missing$
@@ -829,8 +1006,6 @@ FUNCTION {inproceedings}
}
if$
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -850,6 +1025,7 @@ FUNCTION {manual}
{ format.authors output.nonnull }
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
author empty$
{ organization empty$
@@ -867,8 +1043,6 @@ FUNCTION {manual}
format.edition output
format.date output
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -877,6 +1051,7 @@ FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
"Master's thesis" format.thesis.type output.nonnull
@@ -884,8 +1059,6 @@ FUNCTION {mastersthesis}
address output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -894,13 +1067,12 @@ FUNCTION {misc}
{ output.bibitem
format.authors output
title howpublished new.block.checkb
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title output
howpublished new.block.checka
howpublished output
format.date output
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
empty.misc.check
@@ -910,6 +1082,7 @@ FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
new.block
"PhD thesis" format.thesis.type output.nonnull
@@ -917,8 +1090,6 @@ FUNCTION {phdthesis}
address output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -930,6 +1101,7 @@ FUNCTION {proceedings}
{ format.editors output.nonnull }
if$
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.btitle "title" output.check
format.bvolume output
format.number.series output
@@ -954,8 +1126,6 @@ FUNCTION {proceedings}
}
if$
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -964,6 +1134,7 @@ FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
format.tr.number output.nonnull
@@ -971,8 +1142,6 @@ FUNCTION {techreport}
address output
format.date "year" output.check
new.block
- output.url % urlbst.pl
- new.block
note output
fin.entry
}
@@ -981,6 +1150,7 @@ FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
new.block
+ title empty$ 'skip$ 'setup.inlinelink if$ % urlbst
format.title "title" output.check
new.block
note "note" output.check
@@ -1092,6 +1262,7 @@ FUNCTION {begin.bib}
EXECUTE {begin.bib}
+EXECUTE {init.urlbst.variables}
EXECUTE {init.state.consts}
ITERATE {call.type$}
diff --git a/Master/texmf-dist/doc/latex/urlbst/README b/Master/texmf-dist/doc/latex/urlbst/README
index ed3af19c36a..7e30209d774 100644
--- a/Master/texmf-dist/doc/latex/urlbst/README
+++ b/Master/texmf-dist/doc/latex/urlbst/README
@@ -1,47 +1,283 @@
-Adds a `webpage' BibTeX entry type, and support for general `url' and
-`lastchecked' fields, to arbitrary BibTeX style files.
+ Urlbst
- %%VERSION%% 0.1
+ A script to add a webpage BibTeX entry type, and add support for
+ general url and lastchecked fields, to (most) BibTeX .bst files.
+ Optionally adds basic support for eprint and doi fields, and
+ hypertex/hyperref support, too.
-The Perl script urlbst.pl can be used to add this support to an
-arbitrary .bst file which has a reasonably `conventional' structure.
-The result is meant to be robust rather than pretty.
+ The Persistent URL for this page is http://purl.org/nxg/dist/urlbst.
- Usage: urlbst.pl [input-file [output-file]]
+ Version 0.6-1, 2008 June 16.
-if either the input-file or the output-file is omitted, they default
-to stdin and stdout respectively. If the input file already has a URL
-entry type, then the script objects.
+ Contents
+ * Usage
+ * For example...
+ * Download and installation
+ * Further Information
+ * Version history
-For example:
+ The standard BibTeX styles have no explicit support for the web, in
+ that they include no `webpage' type, and have no support for adding
+ URLs to references. There are rumours that such support might appear in
+ BibTeX 1.0, but there is no estimate of when that is likely to arrive.
- urlbst.pl `kpsewhich siam.bst` siamurl.bst
+ The Perl script urlbst can be used to add this support to an arbitrary
+ .bst file which has a reasonably `conventional' structure. The result
+ is meant to be robust rather than pretty.
-The distributed files abbrvurl.bst, alphaurl.bst, plainurl.bst and
-unsrturl.bst are versions of the standard style files which have been
-pre-converted.
+ It has a different goal from Patrick Daly's `custom-bib' package --
+ that is intended to create a BibTeX style .bst file from scratch, and
+ supports `url' and `eprint' fields. This package, on the other hand, is
+ intended for the case where you already have a style file that works
+ (or at least, which you cannot or will not change), and edits it to add
+ the new webpage entry type, plus the url, lastchecked and eprint
+ fields. Fuller details are in the manual.
-Only the style files which result from conversion of the standard
-styles are checked in the regression tests. Other style files which
-are known to work include
+Usage
- acm.bst, amsalpha.bst, amsplain.bst, apalike.bst, gerabbrv.bst,
- geralpha.bst, gerapali.bst, gerplain.bst, gerunsrt.bst, ieeetr.bst and
- siam.bst
+urlbst [--eprint] [--doi]
+ [--inlinelinks] [--nohyperlinks] [--hypertex] [--hyperref]
+ [input-file [output-file]]
-Style files known not to work, because they are too different from the
-standard styles, include the koma-script styles and the refer styles
-(they are not designed to produce conventional .bbl files). The
-natbib and revtex style files already have URL fields. If you have a
-BibTeX style file which you think ought to work, but with which the
-script fails, send it to me, and I'll try to work out what I've missed.
+ if either the input-file or the output-file is omitted, they default to
+ stdin and stdout respectively. If the input file already has a URL
+ entry type, then the script objects.
-
+ If the option --eprint is present, then include support for a eprint
+ field in the modified .bst file, with a citation format matching that
+ recommended in the arXiv documentation. Similarly, if the option --doi
+ is present, then include support for a doi field, referring to a DOI
+ for the bibliographic item.
+ If either of the --hypertex or --hyperref options is present, then the
+ generated .bst file includes support for hyperlinks in the generated
+ eprint entries in the bibliography, with the format being either
+ HyperTeX (see arXiv, again), supported by xdvi, dvips and others, or
+ using the support available from the hyperref package. These options
+ have no effect unless one of the --eprint or --doi options is given:
+ when URLs are included in the bibliography, they are written out using
+ the \url{...} command, and hyperref automatically processes that in the
+ correct way to include a hyperlink.
-Copyright 2002, Norman Gray.
-Released under the terms of the GNU General Public Licence.
+ The --inlinelinks option tells urlbst not to write out the URL as text
+ within the bibliography entry. Instead, urlbst will produce a more
+ conventional-looking and compact bibliography entry, but the entry's
+ title will now be a hyperlink to that URL. This hyperlink may be useful
+ to anyone who reads your document online (this option can only be used
+ with --hyperref or --hypertex). Any DOI or eprint text which would be
+ produced as a result of the appropriate option will still appear in
+ this mode.
- Norman Gray
- norman@astro.gla.ac.uk
- $Date: 2002/04/22 15:49:06 $
+ The distribution includes preconverted versions of the four standard
+ BibTeX .bst style files.
+
+ Only the style files which result from conversion of the standard
+ styles are checked in the regression tests. Other style files which are
+ known to work include
+
+ acm.bst, amsalpha.bst, amsplain.bst, apalike.bst, gerabbrv.bst,
+ geralpha.bst, gerapali.bst, gerplain.bst, gerunsrt.bst, ieeetr.bst,
+ siam.bst, mla.bst
+
+ Style files which are known to fail:
+ * Currently (v0.5), there exists a style achicago.bst which seems to
+ fox urlbst; it turns out that there's a simpler but almost
+ equivalent style chicago.bst which works.
+ * Some APA-like styles, including at least apager.bst, seem to be
+ sufficiently different from the most common styles, that they
+ confuse urlbst completely.
+ * The koma-script styles and the refer styles are not designed to
+ produce conventional .bbl files, and urlbst does not aim to produce
+ anything useful from these.
+
+ This might be a good time for me to revisit the rather convoluted logic
+ within the script, to make it a little more robust in the face of
+ variants like these, but don't hold your breath...
+
+ The natbib and revtex style files already have URL fields. If you have
+ a BibTeX style file which you think ought to work, but with which the
+ script fails, send it to me, and I'll try to work out what I've missed
+ (no promises, though).
+
+ Note that the command to invoke the script changed from `urlbst.pl' to
+ plain `urlbst' between versions 0.3 and 0.4.
+
+For example...
+
+ To add URL support to the standard siam.bst file, you can give the
+ command
+% urlbst /path/to/original/siam.bst siamurl.bst
+
+ Your TeX installation will likely have some way of helping you find
+ where the original .bst files are. On teTeX-based systems, for example,
+ the command kpsewhich siam.bst returns the full path of the siam.bst
+ file which BibTeX would find.
+
+ The distributed files abbrvurl.bst, alphaurl.bst, plainurl.bst and
+ unsrturl.bst are versions of the standard style files which have been
+ pre-converted.
+
+ There is more general discussion of including URLs in bibliographies in
+ the UK TeX FAQ.
+
+Download and installation
+
+ Download the file urlbst-0.6-1.tar.gz and unpack it.
+
+ To install, you should simply copy the distributed urlbst script to
+ someplace on the path (such as /usr/local/bin, or ~/local/bin,
+ depending on your privileges and tastes).
+
+ If you (might) want to use the pre-converted standard .bst files, then
+ you'll need to copy these to somewhere in the BibTeX search path. Type
+ kpsepath bst on Unix to find out the list of places BibTeX searches,
+ and pick either one of the user-local locations, or a system-wide one.
+ If you're installing in a system-wide location, you'll need admin
+ privileges, obviously, and you will probably need to use texhash,
+ mktexlsr or its equivalent, to update LaTeX's filename cache. For
+ further hints here, see the TeX FAQ entries on installing a package and
+ where LaTeX puts files.
+
+ That should be all you have to do.
+
+ The urlbst script is distributed with a path which should just work, as
+ long as the Perl binary is in your path, but if you have problems here,
+ then you might want to change the first line to something like
+#! /usr/local/bin/perl
+
+ if that's where your Perl binary is.
+
+ You can also use the conventional ./configure; make; make install to
+ configure and install the package (as root, or using sudo if you're
+ installing it in a system location), though you still have to install
+ the .bst files by hand. This is rather heavyweight for the trivial
+ amount of configuration required, so it's almost always simpler just to
+ do things by hand.
+
+ If you need to change some of the urlbst defaults, however, or if your
+ fingers type ./configure spontaneously, then you can be reassured that
+ the configure script supports the standard --prefix option, plus the
+ following options setting defaults:
+
+ --with-eprints=url, --without-eprints
+ This makes the --eprints option to urlbst available by default,
+ and allows you to optionally specify a prefix for creating URLs
+ from eprint numbers. The default for this URL is
+ http://arxiv.org/abs/ -- this is appropriate for arXiv,
+ obviously, but there are now a variety of other preprint
+ archives appearing, for which this might be inappropriate. If
+ you have comments on this default, or alternatives, please let
+ me know. This option is enabled by default; if you have some
+ reason for disabling the --eprints option for urlbst, the give
+ the configure option --without-eprints
+
+ --with-doi=url, --without-doi
+ This makes available the --doi option to urlbst and, as with the
+ --with-eprints option, allows you to customise the DOI resolver
+ URL. The --doi option to urlbst is on by default.
+
+ --with-href=0/1/2
+ This allows you to specify the type of hyperlinks which are
+ inserted in the bibliography. Values 0, 1 and 2, indicating no
+ hyperlinks, hypertex-style links, and hyperref-style links,
+ respectively. The default is --with-href=0. The hyperref-style
+ option is intended to complement the increasingly standard
+ hyperref package.
+
+ The first two options simply change defaults, and if you never use the
+ new eprints or doi fields, then the defaults don't matter to you.
+
+ Since the modified style generates URLs wrapped in the \url{} macro, it
+ is useful to use the resulting bibliography style alongside the url
+ package. Since this tends to work with hyperref anyway, where possible,
+ you don't get any extra goodness by changing the --with-href default at
+ configuration time.
+
+ Documentation
+
+ Basic documentation is in the file urlbst.tex. This is distributed as a
+ PDF file, but if you want to regenerate it, use
+% latex urlbst
+% bibtex urlbst
+% latex urlbst
+% latex urlbst
+
+Further Information
+
+ urlbst is archived on CTAN at biblio/bibtex/contrib/urlbst/, and
+ discussed in the TeX FAQ.
+
+ The home page of urlbst might possibly have more recent versions than
+ the one you're looking at now.
+
+ Copyright 2002-8, Norman Gray. Released under the terms of the GNU
+ General Public Licence.
+
+Version history
+
+ 0.6-1, 2008 June 16
+ Fixed some broken links to the various citation standards (I
+ think in this context this should probably not be happening,
+ yes?). The distributed *url.bst no longer have the --inlinelinks
+ option turned on by default.
+
+ 0.6, 2007 March 26
+ Added the option --inlinelinks, which adds inline hyperlinks to
+ any bibliography entries which have URLs, but does so inline,
+ rather than printing the URL explicitly in the bibliography.
+ This is (primarily) useful if you're preparing a version of a
+ document which will be read on-screen. Thanks to Jason Eisner
+ for the suggestion, and much testing.
+
+ Incorporate hyperref bugfixes from Pawel/ Widera.
+
+ 0.6b3
+ Further reworkings of the inlinelinks support, so that
+ it's now fired by a format.title (or format.btitle) line,
+ with a fallback in fin.entry. This should be more robust,
+ and allows me to delete some of the previous version's
+ gymnastics.
+
+ 0.6b2
+ Reworked inlinelinks support; should now be more robust.
+ Incorporate hyperref bugfixes from Pawel/ Widera.
+
+ 0.6b1
+ Added the option inlinelinks, which adds inline hyperlinks
+ to any bibliography entries which have URLs, but does so
+ inline, rather than printing the URL explicitly in the
+ bibliography. This is (only) useful if you're preparing a
+ version of a document which will be read on-screen.
+
+ 0.5.2, 2006 September 6
+ Another set of documentation-only changes, hopefully clarifying
+ installation.
+
+ 0.5.1, 2006 January 10
+ No functionality changes. Documentation and webpage changes
+ only, hopefully clarifying usage and configuration
+
+ 0.5, 2005 June 3
+ Added support for Digital Object Identifiers (DOI) fields in
+ bibliographies.
+
+ 0.4-1, 2005 April 12
+ Documentation improvements -- there are now examples in the help
+ text!
+
+ 0.4, 2004 December 1
+ Bug fixes: now compatible with mla.bst and friends. Now uses
+ ./configure (optionally). Assorted reorganisation.
+
+ 0.3, 2003 June 4
+ Added --eprint, --hypertex and --hyperref options.
+
+ 0.2, 2002 October 23
+ The `editor' field is now supported in the webpage entry type.
+ Basic documentation added.
+
+ 0.1, 2002 April
+ Initial version
+
+ Norman Gray
+ 2008 June 16
diff --git a/Master/texmf-dist/doc/latex/urlbst/VERSION b/Master/texmf-dist/doc/latex/urlbst/VERSION
new file mode 100644
index 00000000000..6a4461b90b2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/urlbst/VERSION
@@ -0,0 +1 @@
+urlbst-0.6-1
diff --git a/Master/texmf-dist/doc/latex/urlbst/urlbst b/Master/texmf-dist/doc/latex/urlbst/urlbst
new file mode 100755
index 00000000000..18501bd58b3
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/urlbst/urlbst
@@ -0,0 +1,698 @@
+#! /usr/bin/env perl
+#
+# Usage: ./urlbst.pl [--eprint] [--doi] [--pubmed]
+# [--nohyperlinks] [--inlinelinks] [--hypertex] [--hyperref]
+# [input-file [output-file]]
+# If either input-file or output-file is omitted, they are replaced by
+# stdin or stdout respectively.
+#
+# See http://purl.org/nxg/dist/urlbst for documentation
+#
+# $Id: urlbst.in,v 1.10 2008/01/27 23:18:54 norman Exp $
+
+$version = '0.6-1';
+($progname = $0) =~ s/.*\///;
+$mymarker = "% $progname";
+$mymarkerend = "% ...$progname to here";
+$myurl = 'http://purl.org/nxg/dist/urlbst';
+
+
+$infile = '-';
+$outfile = '-';
+
+$addeprints = 0; # if true (nonzero) we add support for eprints
+$eprintprefix = 'arXiv:'; # make these settable with --eprint? syntax?
+$eprinturl = 'http://arxiv.org/abs/';
+
+$adddoiresolver = 0;
+$doiprefix = 'doi:';
+$doiurl = 'http://dx.doi.org/';
+
+$addpubmedresolver = 0;
+$pubmedprefix = 'PMID:';
+$pubmedurl = 'http://www.ncbi.nlm.nih.gov/pubmed/';
+
+$makehref = 0;
+$availablestring = "Available from: ";
+$inlinelinks = 0;
+
+$Usage = "$progname [--eprint] [--doi] [--pubmed]\n [--nohyperlinks] [--inlinelinks] [--hypertex] [--hyperref]\n [--help] [input-file [output-file]]";
+
+while ($#ARGV >= 0) {
+ if ($ARGV[0] eq '--eprint') {
+ $addeprints = 1;
+ } elsif ($ARGV[0] eq '--doi') {
+ $adddoiresolver = 1;
+ } elsif ($ARGV[0] eq '--pubmed') {
+ $addpubmedresolver = 1;
+ } elsif ($ARGV[0] eq '--nohyperlinks') {
+ $makehref = 0;
+ } elsif ($ARGV[0] eq '--hypertex') {
+ $makehref = 1;
+ } elsif ($ARGV[0] eq '--hyperref') {
+ $makehref = 2;
+ } elsif ($ARGV[0] eq '--inlinelinks') {
+ $inlinelinks = 1;
+ } elsif ($ARGV[0] eq '--help') {
+ print <<EOD;
+urlbst version $version
+ Usage: $Usage
+ --eprint: include support for `eprint' fields
+ --doi: include support for `doi' field
+ --pubmed: include support for `pubmed' field
+ --nohyperlinks do not include active links anywhere
+ --inlinelinks add hyperlinks to entry titles
+ --hypertex: include HyperTeX-style hyperlink support
+ --hyperref: include {hyperref}-style hyperlink support
+ (generally better)
+ --help: print this help
+ Input and output files may be given as `-' (default) to indicate stdin/out
+EOD
+ exit(0);
+ } elsif ($ARGV[0] =~ /^-/) {
+ die "Unrecognised option $ARGV[0]: Usage: $Usage\n";
+ } elsif ($infile eq '-') {
+ $infile = $ARGV[0];
+ } elsif ($outfile eq '-') {
+ $outfile = $ARGV[0];
+ } else {
+ die "Usage: $Usage\n";
+ }
+ shift(@ARGV);
+}
+
+if ($inlinelinks && $makehref == 0) {
+ print <<'EOD';
+Warning: --inlinelinks and --nohyperlinks were both specified (possibly
+ implicitly). That combination makes no sense, so I'll ignore
+ --nohyperlinks and use --hyperref instead
+EOD
+ $makehref = 2;
+}
+
+$exitstatus = 0; # success status
+
+open (IN, "<$infile") || die "Can't open $infile to read";
+open (OUT, ">$outfile") || die "Can't open $outfile to write";
+
+# We have to make certain assumptions about the source files, in order
+# to patch them at the correct places. Specifically, we assume that
+#
+# - there's a function init.state.consts
+#
+# - ...and an output.nonnull which does the actual outputting, which
+# has the `usual' interface.
+#
+# - we can replace
+# fin.entry
+# by
+# new.block
+# output.url % the function which formats and displays any URL
+# fin.entry
+#
+# - there is a function which handles the `article' entry type (this
+# will always be true)
+#
+# - there is a function output.bibitem which is called at the
+# beginning of each entry type
+# - ...and one called fin.entry which is called at the end
+#
+# If the functions format.date, format.title or new.block are not defined (the
+# former is not in apalike, for example, and the last is not in the
+# AMS styles), then replacements are included in the output.
+#
+# All these assumptions are true of the standard files and, since most
+# style files derive from them more or less directly, are true of most (?)
+# other style files, too.
+#
+# There's some rather ugly Perl down here. The parsing for
+# brace-matching could probably do with being rewritten in places, to
+# make it less ugly, and more robust.
+
+print OUT "%%% Modification of BibTeX style file ", ($infile eq '-' ? '<stdin>' : $infile), "\n";
+print OUT "%%% ... by $progname, version $version (marked with \"$mymarker\")\n%%% See <$myurl>\n";
+print OUT "%%% Added webpage entry type, and url and lastchecked fields.\n";
+print OUT "%%% Added eprint support.\n" if ($addeprints);
+print OUT "%%% Added DOI support.\n" if ($adddoiresolver);
+print OUT "%%% Added PUBMED support.\n" if ($addpubmedresolver);
+print OUT "%%% Added HyperTeX support.\n" if ($makehref == 1);
+print OUT "%%% Added hyperref support.\n" if ($makehref == 2);
+print OUT "%%% Original headers follow...\n\n";
+
+$found{initconsts} = 0;
+$found{outputnonnull} = 0;
+$found{article} = 0;
+$found{outputbibitem} = 0;
+$found{finentry} = 0;
+$found{formatdate} = 0;
+$found{formattitle} = 0;
+$found{newblock} = 0;
+
+while (<IN>) {
+ /^ *%/ && do {
+ # Pass commented lines unchanged
+ print OUT;
+ next;
+ };
+
+ /^ *ENTRY/ && do {
+ # Work through the list of entry types, finding what ones are there.
+ # If we find a URL entry there already, object, since these edits
+ # will mess things up.
+ $line = $_;
+ until ($line =~ /\{\s*(\w*)/) {
+ $line .= <IN>;
+ }
+ $bracematchtotal = 0; # reset
+ bracematcher($line);
+ $line =~ /\{\s*(\w*)/;
+ $found{'entry'.$1} = 1;
+ print OUT $line;
+ $line = <IN>;
+ until (bracematcher($line) == 0) {
+ # XXX deal with multiple entries on one line
+ ($line =~ /^\s*(\w*)/) && ($found{'entry'.$1} = 1);
+ print OUT $line;
+ $line = <IN>;
+ }
+ if (defined($found{entryurl})) {
+ print STDERR "$progname: style file $infile already has URL entry!\n";
+ # print out the rest of the file, and give up
+ print OUT $line;
+ while (<IN>) {
+ print OUT;
+ }
+ $exitstatus = 1;
+ last;
+ } else {
+ print OUT " eprint $mymarker\n doi $mymarker\n pubmed $mymarker\n url $mymarker\n lastchecked $mymarker\n";
+ }
+ print OUT $line;
+ next;
+ };
+
+ /^ *FUNCTION *\{init\.state\.consts\}/ && do {
+ # In the init.state.consts function, add an extra set of
+ # constants at the beginning. Also use this as the marker for
+ # the place to add the init strings function.
+ print OUT <<EOD;
+STRINGS { urlintro eprinturl eprintprefix doiprefix doiurl pubmedprefix pubmedurl openinlinelink closeinlinelink } $mymarker...
+INTEGERS { hrefform inlinelinks makeinlinelink addeprints adddoiresolver addpubmedresolver }
+% Following constants may be adjusted by hand, if desired
+FUNCTION {init.urlbst.variables}
+{
+ "$availablestring" 'urlintro := % prefix before URL
+ "$eprinturl" 'eprinturl := % prefix to make URL from eprint ref
+ "$eprintprefix" 'eprintprefix := % text prefix printed before eprint ref
+ "$doiurl" 'doiurl := % prefix to make URL from DOI
+ "$doiprefix" 'doiprefix := % text prefix printed before DOI ref
+ "$pubmedurl" 'pubmedurl := % prefix to make URL from PUBMED
+ "$pubmedprefix" 'pubmedprefix := % text prefix printed before PUBMED ref
+ #$addeprints 'addeprints := % 0=no eprints; 1=include eprints
+ #$adddoiresolver 'adddoiresolver := % 0=no DOI resolver; 1=include it
+ #$addpubmedresolver 'addpubmedresolver := % 0=no PUBMED resolver; 1=include it
+ #$makehref 'hrefform := % 0=no crossrefs; 1=hypertex xrefs; 2=hyperref refs
+ #$inlinelinks 'inlinelinks := % 0=URLs explicit; 1=URLs attached to titles
+ % the following are internal state variables, not config constants
+ #0 'makeinlinelink := % state variable managed by setup.inlinelink
+ "" 'openinlinelink := % ditto
+ "" 'closeinlinelink := % ditto
+}
+INTEGERS {
+ bracket.state
+ outside.brackets
+ open.brackets
+ within.brackets
+ close.brackets
+}
+$mymarkerend
+EOD
+ $line = $_;
+ until ($line =~ /\{.*\}.*\{/s) {
+ $line .= <IN>;
+ }
+ $line =~ s/(\{.*?\}.*?\{)/$1 #0 'outside.brackets := $mymarker
+ #1 'open.brackets :=
+ #2 'within.brackets :=
+ #3 'close.brackets :=
+
+ /s;
+ print OUT $line;
+ $found{initconsts} = 1;
+ next;
+ };
+
+ /^ *EXECUTE *\{init\.state\.consts\}/ && do {
+ print OUT "EXECUTE {init.urlbst.variables}\n";
+ print OUT;
+ next;
+ };
+
+ /^ *FUNCTION *\{new.block\}/ && do {
+ $found{newblock} = 1;
+ };
+
+ /^ *FUNCTION *{output\.nonnull}/ && do {
+ print OUT "$mymarker\n";
+ print OUT "FUNCTION {output.nonnull.original}\n";
+ copy_block();
+ print_output_functions();
+ $found{outputnonnull} = 1;
+ next;
+ };
+
+ /FUNCTION *\{fin.entry\}/ && do {
+ # Rename fin.entry to fin.entry.original (wrapped below)
+ s/fin.entry/fin.entry.original/;
+ $found{finentry} = 1;
+ print OUT;
+ next;
+ };
+
+ /^ *FUNCTION *{format\.date}/ && do {
+ $found{formatdate} = 1;
+ print OUT;
+ next;
+ };
+
+ /^ *FUNCTION *{format\.title}/ && do {
+ # record that we found this
+ $found{formattitle} = 1;
+ print OUT;
+ next;
+ };
+
+ /^ *format\.b?title/ && do {
+ # interpolate a call to setup.inlinelink
+ print OUT " title empty\$ 'skip\$ 'setup\.inlinelink if\$ $mymarker\n";
+ print OUT;
+ next;
+ };
+
+ /^ *FUNCTION *\{article\}/ && do {
+
+ print_missing_functions();
+ print_webpage_def();
+
+ print OUT;
+ $found{article} = 1;
+ next;
+ };
+
+ /FUNCTION *\{output.bibitem\}/ && do {
+ # Rename output.bibitem to output.bibitem.original (wrapped below)
+ s/{output.bibitem\}/\{output.bibitem.original\}/;
+ $found{outputbibitem} = 1;
+ print OUT;
+ next;
+ };
+
+ print OUT;
+};
+
+if ($exitstatus == 0) {
+ # Skip this if we've already reported an error -- it'll only be confusing
+ foreach $k (keys %found) {
+ if ($found{$k} == 0) {
+ print STDERR "$progname: $infile: failed to find feature $k\n";
+ }
+ }
+}
+
+close (IN);
+close (OUT);
+
+exit $exitstatus;;
+
+
+
+
+
+
+sub print_output_functions {
+ print OUT "$mymarker...\n";
+
+ print OUT <<'EOD';
+% The following three functions are for handling inlinelink. They wrap
+% a block of text which is potentially output with write$ by multiple
+% other functions, so we don't know the content a priori.
+% They communicate between each other using the variables makeinlinelink
+% (which is true if a link should be made), and closeinlinelink (which holds
+% the string which should close any current link. They can be called
+% at any time, but start.inlinelink will be a no-op unless something has
+% previously set makeinlinelink true, and the two ...end.inlinelink functions
+% will only do their stuff if start.inlinelink has previously set
+% closeinlinelink to be non-empty.
+FUNCTION {setup.inlinelink}
+{ makeinlinelink
+ { hrefform #1 = % hypertex
+ { "\special {html:<a href=" quote$ * url * quote$ * "> }{" * 'openinlinelink :=
+ "\special {html:</a>}" 'closeinlinelink :=
+ }
+ { hrefform #2 = % hyperref
+ { "\href{" url * "}{" * 'openinlinelink :=
+ "}" 'closeinlinelink :=
+ }
+ 'skip$
+ if$ % hrefform #2 =
+ }
+ if$ % hrefform #1 =
+ #0 'makeinlinelink :=
+ }
+ 'skip$
+ if$ % makeinlinelink
+}
+FUNCTION {add.inlinelink}
+{ openinlinelink empty$
+ 'skip$
+ { openinlinelink swap$ * closeinlinelink *
+ "" 'openinlinelink :=
+ }
+ if$
+}
+EOD
+
+ # new.block is defined elsewhere
+
+ print OUT <<'EOD';
+FUNCTION {output.nonnull}
+{ % Save the thing we've been asked to output
+ 's :=
+ % If the bracket-state is close.brackets, then add a close-bracket to
+ % what is currently at the top of the stack, and set bracket.state
+ % to outside.brackets
+ bracket.state close.brackets =
+ { "]" *
+ outside.brackets 'bracket.state :=
+ }
+ 'skip$
+ if$
+ bracket.state outside.brackets =
+ { % We're outside all brackets -- this is the normal situation.
+ % Write out what's currently at the top of the stack, using the
+ % original output.nonnull function.
+ s
+ add.inlinelink
+ output.nonnull.original % invoke the original output.nonnull
+ }
+ { % Still in brackets. Add open-bracket or (continuation) comma, add the
+ % new text (in s) to the top of the stack, and move to the close-brackets
+ % state, ready for next time (unless inbrackets resets it). If we come
+ % into this branch, then output.state is carefully undisturbed.
+ bracket.state open.brackets =
+ { " [" * }
+ { ", " * } % bracket.state will be within.brackets
+ if$
+ s *
+ close.brackets 'bracket.state :=
+ }
+ if$
+}
+
+% Call this function just before adding something which should be presented in
+% brackets. bracket.state is handled specially within output.nonnull.
+FUNCTION {inbrackets}
+{ bracket.state close.brackets =
+ { within.brackets 'bracket.state := } % reset the state: not open nor closed
+ { open.brackets 'bracket.state := }
+ if$
+}
+
+FUNCTION {format.lastchecked}
+{ lastchecked empty$
+ { "" }
+ { inbrackets "cited " lastchecked * }
+ if$
+}
+EOD
+ print OUT "$mymarkerend\n";
+}
+
+sub print_webpage_def {
+ print OUT "$mymarker...\n";
+
+ # Some of the functions below call new.block, so we need a dummy
+ # version, in the case where the style being edited doesn't supply
+ # that function.
+ if (! $found{newblock}) {
+ print OUT "FUNCTION {new.block} % dummy new.block function\n{\n % empty\n}\n\n";
+ $found{newblock} = 1;
+ }
+
+ print OUT <<'EOD';
+% Functions for making hypertext links.
+% In all cases, the stack has (link-text href-url)
+%
+% make 'null' specials
+FUNCTION {make.href.null}
+{
+ pop$
+}
+% make hypertex specials
+FUNCTION {make.href.hypertex}
+{
+ "\special {html:<a href=" quote$ *
+ swap$ * quote$ * "> }" * swap$ *
+ "\special {html:</a>}" *
+}
+% make hyperref specials
+FUNCTION {make.href.hyperref}
+{
+ "\href {" swap$ * "} {\path{" * swap$ * "}}" *
+}
+FUNCTION {make.href}
+{ hrefform #2 =
+ 'make.href.hyperref % hrefform = 2
+ { hrefform #1 =
+ 'make.href.hypertex % hrefform = 1
+ 'make.href.null % hrefform = 0 (or anything else)
+ if$
+ }
+ if$
+}
+
+% If inlinelinks is true, then format.url should be a no-op, since it's
+% (a) redundant, and (b) could end up as a link-within-a-link.
+FUNCTION {format.url}
+{ inlinelinks #1 = url empty$ or
+ { "" }
+ { hrefform #1 =
+ { % special case -- add HyperTeX specials
+ urlintro "\url{" url * "}" * url make.href.hypertex * }
+ { urlintro "\url{" * url * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.eprint}
+{ eprint empty$
+ { "" }
+ { eprintprefix eprint * eprinturl eprint * make.href }
+ if$
+}
+
+FUNCTION {format.doi}
+{ doi empty$
+ { "" }
+ { doiprefix doi * doiurl doi * make.href }
+ if$
+}
+
+FUNCTION {format.pubmed}
+{ pubmed empty$
+ { "" }
+ { pubmedprefix pubmed * pubmedurl pubmed * make.href }
+ if$
+}
+
+% Output a URL. We can't use the more normal idiom (something like
+% `format.url output'), because the `inbrackets' within
+% format.lastchecked applies to everything between calls to `output',
+% so that `format.url format.lastchecked * output' ends up with both
+% the URL and the lastchecked in brackets.
+FUNCTION {output.url}
+{ url empty$
+ 'skip$
+ { new.block
+ format.url output
+ format.lastchecked output
+ }
+ if$
+}
+
+FUNCTION {output.web.refs}
+{
+ new.block
+ output.url
+ addeprints eprint empty$ not and
+ { format.eprint output.nonnull }
+ 'skip$
+ if$
+ adddoiresolver doi empty$ not and
+ { format.doi output.nonnull }
+ 'skip$
+ if$
+ addpubmedresolver pubmed empty$ not and
+ { format.pubmed output.nonnull }
+ 'skip$
+ if$
+}
+
+% Wrapper for output.bibitem.original.
+% If the URL field is not empty, set makeinlinelink to be true,
+% so that an inline link will be started at the next opportunity
+FUNCTION {output.bibitem}
+{ outside.brackets 'bracket.state :=
+ output.bibitem.original
+ inlinelinks url empty$ not and
+ { #1 'makeinlinelink := }
+ { #0 'makeinlinelink := }
+ if$
+}
+
+% Wrapper for fin.entry.original
+FUNCTION {fin.entry}
+{ output.web.refs % urlbst
+ makeinlinelink % ooops, it appears we didn't have a title for inlinelink
+ { setup.inlinelink % add some artificial link text here, as a fallback
+ "[link]" output.nonnull }
+ 'skip$
+ if$
+ bracket.state close.brackets = % urlbst
+ { "]" * }
+ 'skip$
+ if$
+ fin.entry.original
+}
+
+% Webpage entry type.
+% Title and url fields required;
+% author, note, year, month, and lastchecked fields optional
+% See references
+% ISO 690-2 http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm
+% http://www.classroom.net/classroom/CitingNetResources.html
+% http://neal.ctstateu.edu/history/cite.html
+% http://www.cas.usf.edu/english/walker/mla.html
+% for citation formats for web pages.
+FUNCTION {webpage}
+{ output.bibitem
+ author empty$
+ { editor empty$
+ 'skip$ % author and editor both optional
+ { format.editors output.nonnull }
+ if$
+ }
+ { editor empty$
+ { format.authors output.nonnull }
+ { "can't use both author and editor fields in " cite$ * warning$ }
+ if$
+ }
+ if$
+ new.block
+ title empty$ 'skip$ 'setup.inlinelink if$
+ format.title "title" output.check
+ inbrackets "online" output
+ new.block
+ year empty$
+ 'skip$
+ { format.date "year" output.check }
+ if$
+ % We don't need to output the URL details ('lastchecked' and 'url'),
+ % because fin.entry does that for us, using output.web.refs. The only
+ % reason we would want to put them here is if we were to decide that
+ % they should go in front of the rather miscellaneous information in 'note'.
+ new.block
+ note output
+ fin.entry
+}
+EOD
+
+ print OUT "$mymarkerend\n\n\n";
+}
+
+
+sub print_missing_functions {
+ # We've got to the bit of the file which handles the entry
+ # types, so write out the webpage entry handler. This uses
+ # the format.date function, which which many but not all
+ # bst files have (for example, apalike doesn't). So
+ # check that we either have found this function already, or
+ # add it.
+ if (! $found{formatdate}) {
+ if ($found{entrymonth}) {
+ print OUT <<'EOD';
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+EOD
+ } else {
+ print OUT <<'EOD';
+FUNCTION {format.date}
+{ year empty$
+ 'skip$
+ { %write$
+ "(" year * ")" *
+ }
+ if$
+}
+EOD
+ }
+ $found{formatdate} = 1;
+ }
+
+ # If the style file didn't supply a format.title function, then supply
+ # one here (the {webpage} function requires it).
+ if (! $found{formattitle}) {
+ print OUT <<'EOD';
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+EOD
+ $found{formattitle} = 1;
+ }
+}
+
+# Utility function: Keep track of open and close braces in the string argument.
+# Keep state in $bracematchtotal, return the current value.
+sub bracematcher {
+ my $s = shift;
+ $s =~ s/[^\{\}]//g;
+ #print "s=$s\n";
+ foreach my $c (split (//, $s)) {
+ $bracematchtotal += ($c eq '{' ? 1 : -1);
+ }
+ return $bracematchtotal;
+}
+
+# Utility function: use bracematcher to copy the complete block which starts
+# on or after the current line.
+sub copy_block {
+ $bracematchtotal = 0;
+ # copy any leading lines which don't have braces (presumably comments)
+ while (defined ($line = <IN>) && ($line !~ /{/)) {
+ print OUT $line;
+ }
+ while (defined ($line) && bracematcher($line) > 0) {
+ print OUT $line;
+ $line = <IN>;
+ }
+ print OUT "$line\n"; # print out terminating \} (assumed
+ # alone on the line)
+}
diff --git a/Master/texmf-dist/doc/latex/urlbst/urlbst.html b/Master/texmf-dist/doc/latex/urlbst/urlbst.html
new file mode 100644
index 00000000000..eac33dfa948
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/urlbst/urlbst.html
@@ -0,0 +1,347 @@
+<?xml version="1.0"?>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Urlbst</title>
+<link href="http://nxg.me.uk/" rev="author"/>
+<link type="text/css" rel="stylesheet"
+ href="http://nxg.me.uk/style/base.css"/>
+</head>
+
+<body>
+<h1>Urlbst</h1>
+<div class="abstract">
+<p>A script to add a <code>webpage</code> BibTeX entry type, and add
+support for general <code>url</code> and <code>lastchecked</code>
+fields, to (most) BibTeX <code>.bst</code> files. Optionally adds
+basic support for <code>eprint</code> and <code>doi</code> fields, and
+hypertex/hyperref support, too.</p>
+
+<p>The Persistent URL for this page is
+<code>http://purl.org/nxg/dist/urlbst</code>.</p>
+
+<p>Version 0.6-1, 2008 June 16.</p>
+</div>
+
+<p>Contents</p>
+<ul>
+<li><a href='#usage'>Usage</a></li>
+<li><a href='#example'>For example...</a></li>
+<li><a href='#download'>Download and installation</a></li>
+<li><a href='#information'>Further Information</a></li>
+<li><a href='#history'>Version history</a></li>
+</ul>
+
+<p>The standard BibTeX styles have no explicit support for the web, in
+that they include no `webpage' type, and have no support for adding
+URLs to references. There are rumours that such support might appear
+in BibTeX 1.0, but there is no estimate of when that is likely to arrive.</p>
+
+<p>The Perl script <code>urlbst</code> can be used to add this support to an
+arbitrary <code>.bst</code> file which has a reasonably `conventional'
+structure. The result is meant to be robust rather than pretty.</p>
+
+<p>It has a different goal from Patrick Daly's `custom-bib' package --
+that is intended to create a BibTeX style .bst file from scratch, and
+supports `url' and `eprint' fields. This package, on the other hand,
+is intended for the case where you already have a style file that
+works (or at least, which you cannot or will not change), and edits it
+to add the new webpage entry type, plus the url, lastchecked and
+eprint fields. Fuller details are in the <a href="urlbst.pdf"
+>manual</a>.</p>
+
+<h2><a name='usage'>Usage</a></h2>
+<pre>
+urlbst [--eprint] [--doi]
+ [--inlinelinks] [--nohyperlinks] [--hypertex] [--hyperref]
+ [input-file [output-file]]
+</pre>
+<p>if either the input-file or the output-file is omitted, they default
+to stdin and stdout respectively. If the input file already has a URL
+entry type, then the script objects.</p>
+
+<p>If the option <code>--eprint</code> is present, then include
+support for a <code>eprint</code> field in the modified
+<code>.bst</code> file, with a citation format matching that
+recommended in <a href="http://arxiv.org/help/faq/references" >the
+arXiv documentation</a>. Similarly, if the option <code>--doi</code>
+is present, then include support for a <code>doi</code> field,
+referring to a <a href="http://www.doi.org/">DOI</a> for the
+bibliographic item.</p>
+
+<p>If either of the <code>--hypertex</code> or <code>--hyperref</code>
+options is present, then the generated <code>.bst</code> file includes
+support for hyperlinks in the generated eprint entries in the
+bibliography, with the format being either HyperTeX (see <a
+href="http://arxiv.org/hypertex/#implementation" >arXiv, again</a>),
+supported by xdvi, dvips and others, or using the support available
+from the hyperref package. These options have no effect unless one of
+the <code>--eprint</code> or <code>--doi</code> options is given: when
+URLs are included in the bibliography, they are written out using the
+<code>\url{...}</code> command, and hyperref automatically processes
+that in the correct way to include a hyperlink.</p>
+
+<p>The <code>--inlinelinks</code> option tells urlbst not to write out
+the URL as text within the bibliography entry. Instead, urlbst will
+produce a more conventional-looking and compact bibliography entry,
+but the entry's title will now be a hyperlink to that URL. This
+hyperlink may be useful to anyone who reads your document online
+(this option can only be used with <code>--hyperref</code> or
+<code>--hypertex</code>). Any DOI or eprint text which would be
+produced as a result of the appropriate option will still appear in
+this mode.</p>
+
+<p>The distribution includes preconverted versions of the four
+standard BibTeX .bst style files.</p>
+
+<p>Only the style files which result from conversion of the standard
+styles are checked in the regression tests. Other style files which
+are known to work include</p>
+<blockquote>
+acm.bst, amsalpha.bst, amsplain.bst, apalike.bst, gerabbrv.bst,
+geralpha.bst, gerapali.bst, gerplain.bst, gerunsrt.bst, ieeetr.bst,
+siam.bst, mla.bst
+</blockquote>
+
+<p>Style files which are known to fail:</p>
+<ul>
+<li>Currently (v0.5), there exists a style <code>achicago.bst</code>
+which seems to fox <code>urlbst</code>; it turns out that there's a
+simpler but almost equivalent style <code>chicago.bst</code> which
+works.</li>
+
+<li>Some APA-like styles, including at least <code>apager.bst</code>,
+seem to be sufficiently different from the most common styles, that
+they confuse <code>urlbst</code> completely.</li>
+
+<li>The <em>koma-script</em> styles and the <em>refer</em> styles are
+not designed to produce conventional <code>.bbl</code> files, and
+<code>urlbst</code> does not aim to produce anything useful from these.</li>
+</ul>
+<p>This might be a good time for me to revisit the rather
+convoluted logic within the script, to make it a little more robust in
+the face of variants like these, but don't hold your breath...</p>
+
+<p>The natbib and revtex style files already have URL fields. If you have a
+BibTeX style file which you think ought to work, but with which the
+script fails, send it to me, and I'll try to work out what I've
+missed (no promises, though).</p>
+
+<p>Note that the command to invoke the script changed from `urlbst.pl'
+to plain `urlbst' between versions 0.3 and 0.4.</p>
+
+<h2><a name='example'>For example...</a></h2>
+<p>To add URL support to the standard <code>siam.bst</code> file, you
+can give the command</p>
+<pre>
+% urlbst /path/to/original/siam.bst siamurl.bst
+</pre>
+<p>Your TeX installation will likely have some way of helping you find where
+the original <code>.bst</code> files are. On teTeX-based systems, for
+example, the command <code>kpsewhich siam.bst</code> returns the full
+path of the <code>siam.bst</code> file which BibTeX would find.</p>
+
+<p>The distributed files <code>abbrvurl.bst</code>,
+<code>alphaurl.bst</code>, <code>plainurl.bst</code> and
+<code>unsrturl.bst</code> are versions of the standard style files
+which have been pre-converted.</p>
+
+<p>There is more general discussion of including URLs in
+bibliographies in the <a
+href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=citeURL" >UK TeX
+FAQ</a>.</p>
+
+<h2><a name='download'>Download and installation</a></h2>
+
+<p>Download the file
+<a href="urlbst-0.6-1.tar.gz" >urlbst-0.6-1.tar.gz</a>
+and unpack it.</p>
+
+<p>To install, you should simply copy the distributed
+<code>urlbst</code> script to someplace on the path (such as
+<code>/usr/local/bin</code>, or <code>~/local/bin</code>, depending on
+your privileges and tastes).</p>
+
+<p>If you (might) want to use the pre-converted standard
+<code>.bst</code> files, then you'll need to copy these to somewhere
+in the BibTeX search path. Type <kbd>kpsepath bst</kbd> on Unix to
+find out the list of places BibTeX searches, and pick either one of
+the user-local locations, or a system-wide one. If you're installing
+in a system-wide location, you'll need admin privileges, obviously,
+and you will probably need to use <code>texhash</code>,
+<code>mktexlsr</code> or its equivalent, to update LaTeX's filename
+cache. For further hints here, see
+the TeX FAQ entries on <a
+href='http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages'
+>installing a package</a> and <a
+href='http://www.tex.ac.uk/cgi-bin/texfaq2html?label=wherefiles'
+>where LaTeX puts files</a>.</p>
+
+<p>That should be all you have to do.</p>
+
+<p>The urlbst script is distributed with a path which should just work,
+as long as the Perl binary is in your path, but if you have problems
+here, then you might want to change the first line to something like</p>
+<pre>
+#! /usr/local/bin/perl
+</pre>
+<p>if that's where your Perl binary is.</p>
+
+<p>You can also use the conventional <code>./configure; make; make
+install</code> to configure and install the package (as root, or using
+<code>sudo</code> if you're installing it in a system location),
+though you still have to install the <code>.bst</code> files by hand.
+This is rather heavyweight for the trivial amount of configuration
+required, so it's almost always simpler just to do things by hand.</p>
+
+<p>If you need to change some of the <code>urlbst</code> defaults,
+however, or if your fingers type <code>./configure</code>
+spontaneously, then you can be reassured that the configure script
+supports the standard <code>--prefix</code> option, plus the following
+options setting defaults:</p>
+<dl>
+
+<dt><code>--with-eprints=url</code>, <code>--without-eprints</code></dt>
+
+<dd>This makes the <code>--eprints</code> option to urlbst available
+by default, and allows you to optionally specify a prefix for creating
+URLs from eprint numbers. The default for this URL is
+<code>http://arxiv.org/abs/</code> -- this is appropriate for arXiv,
+obviously, but there are now a variety of other preprint archives
+appearing, for which this might be inappropriate. If you have
+comments on this default, or alternatives, please let me know. This
+option is enabled by default; if you have some reason for disabling
+the <code>--eprints</code> option for urlbst, the give the configure
+option <code>--without-eprints</code></dd>
+
+<dt><code>--with-doi=url</code>, <code>--without-doi</code></dt>
+
+<dd>This makes available the <code>--doi</code> option to urlbst and,
+as with the <code>--with-eprints</code> option, allows you to
+customise the DOI resolver URL. The <code>--doi</code> option to
+urlbst is on by default.</dd>
+
+<dt><code>--with-href=0/1/2</code></dt>
+
+<dd>This allows you to specify the type of hyperlinks which are
+inserted in the bibliography. Values 0, 1 and 2, indicating no
+hyperlinks, hypertex-style links, and hyperref-style links,
+respectively. The default is <code>--with-href=0</code>. The
+<code>hyperref</code>-style option is intended to complement the
+increasingly standard <code>hyperref</code> package.</dd>
+
+</dl>
+
+<p>The first two options simply change defaults, and if you never use
+the new <code>eprints</code> or <code>doi</code> fields, then the
+defaults don't matter to you. </p>
+
+<p>Since the modified style generates URLs wrapped in the
+<code>\url{}</code> macro, it is useful to use the resulting
+bibliography style alongside the <code>url</code> package. Since this
+tends to work with <code>hyperref</code> anyway, where possible, you
+don't get any extra goodness by changing the <code>--with-href</code>
+default at configuration time.</p>
+
+<h3>Documentation</h3>
+
+<p>Basic documentation is in the file <code>urlbst.tex</code>. This
+is distributed as a PDF file, but if you want to regenerate it, use</p>
+<pre>
+% latex urlbst
+% bibtex urlbst
+% latex urlbst
+% latex urlbst
+</pre>
+
+<h2><a name='information'>Further Information</a></h2>
+
+<p><code>urlbst</code> is archived on CTAN at <a
+href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/contrib/urlbst/"
+><code>biblio/bibtex/contrib/urlbst/</code></a>, and discussed in the
+<a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=citeURL" >TeX
+FAQ</a>.</p>
+
+<p>The <a href="http://purl.org/nxg/dist/urlbst"
+>home page of urlbst</a> might possibly have more recent versions than the
+one you're looking at now.</p>
+
+<p>Copyright 2002-8, Norman Gray. Released under the terms of the GNU
+General Public Licence.</p>
+
+<h2><a name='history'>Version history</a></h2>
+<dl>
+
+<dt>0.6-1, 2008 June 16</dt>
+<dd>Fixed some broken links to the various citation standards (I think
+in this context this should probably <em>not</em> be happening,
+yes?). The distributed <code>*url.bst</code> no longer have the
+<code>--inlinelinks</code> option turned on by default.</dd>
+
+<dt>0.6, 2007 March 26</dt>
+<dd><p>Added the option <code>--inlinelinks</code>, which adds inline hyperlinks
+to any bibliography entries which have URLs, but does so inline, rather
+than printing the URL explicitly in the bibliography. This is (primarily)
+useful if you're preparing a version of a document which will be read
+on-screen. Thanks to Jason Eisner for the suggestion, and much testing.</p>
+<p>Incorporate hyperref bugfixes from Pawe&#x0142; Widera.</p>
+<dl>
+<dt>0.6b3</dt>
+<dd>Further reworkings of the inlinelinks support, so that it's now
+fired by a format.title (or format.btitle) line, with a fallback in
+fin.entry. This should be more robust, and allows me to delete some
+of the previous version's gymnastics.</dd>
+
+<dt>0.6b2</dt>
+<dd>Reworked <code>inlinelinks</code> support; should now be more
+robust. Incorporate hyperref bugfixes from Pawe&#x0142; Widera.</dd>
+
+<dt>0.6b1</dt>
+<dd>Added the option <code>inlinelinks</code>, which adds inline hyperlinks
+to any bibliography entries which have URLs, but does so inline, rather
+than printing the URL explicitly in the bibliography. This is (only)
+useful if you're preparing a version of a document which will be read
+on-screen.</dd>
+</dl>
+</dd>
+
+<dt>0.5.2, 2006 September 6</dt>
+<dd>Another set of documentation-only changes, hopefully clarifying
+installation.</dd>
+
+<dt>0.5.1, 2006 January 10</dt>
+<dd>No functionality changes. Documentation and webpage changes only,
+hopefully clarifying usage and configuration</dd>
+
+<dt>0.5, 2005 June 3</dt>
+<dd>Added support for Digital Object Identifiers (DOI) fields in
+bibliographies.</dd>
+
+<dt>0.4-1, 2005 April 12</dt>
+<dd>Documentation improvements -- there are now examples in the help text!</dd>
+
+<dt>0.4, 2004 December 1</dt>
+<dd>Bug fixes: now compatible with mla.bst and friends. Now uses
+./configure (optionally). Assorted reorganisation.</dd>
+
+<dt>0.3, 2003 June 4</dt>
+<dd>Added --eprint, --hypertex and --hyperref options.</dd>
+
+<dt>0.2, 2002 October 23</dt>
+<dd>The `editor' field is now supported in the webpage entry type. Basic
+documentation added.</dd>
+
+<dt>0.1, 2002 April</dt>
+<dd>Initial version</dd>
+
+</dl>
+
+
+<div class="signature">
+<a href="http://nxg.me.uk"
+ >Norman Gray</a><br/>
+2008 June 16
+</div>
+
+</body>
+</html>
diff --git a/Master/texmf-dist/doc/latex/urlbst/urlbst.html.in b/Master/texmf-dist/doc/latex/urlbst/urlbst.html.in
new file mode 100644
index 00000000000..6facc246252
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/urlbst/urlbst.html.in
@@ -0,0 +1,347 @@
+<?xml version="1.0"?>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Urlbst</title>
+<link href="http://nxg.me.uk/" rev="author"/>
+<link type="text/css" rel="stylesheet"
+ href="http://nxg.me.uk/style/base.css"/>
+</head>
+
+<body>
+<h1>Urlbst</h1>
+<div class="abstract">
+<p>A script to add a <code>webpage</code> BibTeX entry type, and add
+support for general <code>url</code> and <code>lastchecked</code>
+fields, to (most) BibTeX <code>.bst</code> files. Optionally adds
+basic support for <code>eprint</code> and <code>doi</code> fields, and
+hypertex/hyperref support, too.</p>
+
+<p>The Persistent URL for this page is
+<code>http://purl.org/nxg/dist/urlbst</code>.</p>
+
+<p>Version @PACKAGE_VERSION@, @RELEASEDATE@.</p>
+</div>
+
+<p>Contents</p>
+<ul>
+<li><a href='#usage'>Usage</a></li>
+<li><a href='#example'>For example...</a></li>
+<li><a href='#download'>Download and installation</a></li>
+<li><a href='#information'>Further Information</a></li>
+<li><a href='#history'>Version history</a></li>
+</ul>
+
+<p>The standard BibTeX styles have no explicit support for the web, in
+that they include no `webpage' type, and have no support for adding
+URLs to references. There are rumours that such support might appear
+in BibTeX 1.0, but there is no estimate of when that is likely to arrive.</p>
+
+<p>The Perl script <code>urlbst</code> can be used to add this support to an
+arbitrary <code>.bst</code> file which has a reasonably `conventional'
+structure. The result is meant to be robust rather than pretty.</p>
+
+<p>It has a different goal from Patrick Daly's `custom-bib' package --
+that is intended to create a BibTeX style .bst file from scratch, and
+supports `url' and `eprint' fields. This package, on the other hand,
+is intended for the case where you already have a style file that
+works (or at least, which you cannot or will not change), and edits it
+to add the new webpage entry type, plus the url, lastchecked and
+eprint fields. Fuller details are in the <a href="urlbst.pdf"
+>manual</a>.</p>
+
+<h2><a name='usage'>Usage</a></h2>
+<pre>
+urlbst [--eprint] [--doi]
+ [--inlinelinks] [--nohyperlinks] [--hypertex] [--hyperref]
+ [input-file [output-file]]
+</pre>
+<p>if either the input-file or the output-file is omitted, they default
+to stdin and stdout respectively. If the input file already has a URL
+entry type, then the script objects.</p>
+
+<p>If the option <code>--eprint</code> is present, then include
+support for a <code>eprint</code> field in the modified
+<code>.bst</code> file, with a citation format matching that
+recommended in <a href="http://arxiv.org/help/faq/references" >the
+arXiv documentation</a>. Similarly, if the option <code>--doi</code>
+is present, then include support for a <code>doi</code> field,
+referring to a <a href="http://www.doi.org/">DOI</a> for the
+bibliographic item.</p>
+
+<p>If either of the <code>--hypertex</code> or <code>--hyperref</code>
+options is present, then the generated <code>.bst</code> file includes
+support for hyperlinks in the generated eprint entries in the
+bibliography, with the format being either HyperTeX (see <a
+href="http://arxiv.org/hypertex/#implementation" >arXiv, again</a>),
+supported by xdvi, dvips and others, or using the support available
+from the hyperref package. These options have no effect unless one of
+the <code>--eprint</code> or <code>--doi</code> options is given: when
+URLs are included in the bibliography, they are written out using the
+<code>\url{...}</code> command, and hyperref automatically processes
+that in the correct way to include a hyperlink.</p>
+
+<p>The <code>--inlinelinks</code> option tells urlbst not to write out
+the URL as text within the bibliography entry. Instead, urlbst will
+produce a more conventional-looking and compact bibliography entry,
+but the entry's title will now be a hyperlink to that URL. This
+hyperlink may be useful to anyone who reads your document online
+(this option can only be used with <code>--hyperref</code> or
+<code>--hypertex</code>). Any DOI or eprint text which would be
+produced as a result of the appropriate option will still appear in
+this mode.</p>
+
+<p>The distribution includes preconverted versions of the four
+standard BibTeX .bst style files.</p>
+
+<p>Only the style files which result from conversion of the standard
+styles are checked in the regression tests. Other style files which
+are known to work include</p>
+<blockquote>
+acm.bst, amsalpha.bst, amsplain.bst, apalike.bst, gerabbrv.bst,
+geralpha.bst, gerapali.bst, gerplain.bst, gerunsrt.bst, ieeetr.bst,
+siam.bst, mla.bst
+</blockquote>
+
+<p>Style files which are known to fail:</p>
+<ul>
+<li>Currently (v0.5), there exists a style <code>achicago.bst</code>
+which seems to fox <code>urlbst</code>; it turns out that there's a
+simpler but almost equivalent style <code>chicago.bst</code> which
+works.</li>
+
+<li>Some APA-like styles, including at least <code>apager.bst</code>,
+seem to be sufficiently different from the most common styles, that
+they confuse <code>urlbst</code> completely.</li>
+
+<li>The <em>koma-script</em> styles and the <em>refer</em> styles are
+not designed to produce conventional <code>.bbl</code> files, and
+<code>urlbst</code> does not aim to produce anything useful from these.</li>
+</ul>
+<p>This might be a good time for me to revisit the rather
+convoluted logic within the script, to make it a little more robust in
+the face of variants like these, but don't hold your breath...</p>
+
+<p>The natbib and revtex style files already have URL fields. If you have a
+BibTeX style file which you think ought to work, but with which the
+script fails, send it to me, and I'll try to work out what I've
+missed (no promises, though).</p>
+
+<p>Note that the command to invoke the script changed from `urlbst.pl'
+to plain `urlbst' between versions 0.3 and 0.4.</p>
+
+<h2><a name='example'>For example...</a></h2>
+<p>To add URL support to the standard <code>siam.bst</code> file, you
+can give the command</p>
+<pre>
+% urlbst /path/to/original/siam.bst siamurl.bst
+</pre>
+<p>Your TeX installation will likely have some way of helping you find where
+the original <code>.bst</code> files are. On teTeX-based systems, for
+example, the command <code>kpsewhich siam.bst</code> returns the full
+path of the <code>siam.bst</code> file which BibTeX would find.</p>
+
+<p>The distributed files <code>abbrvurl.bst</code>,
+<code>alphaurl.bst</code>, <code>plainurl.bst</code> and
+<code>unsrturl.bst</code> are versions of the standard style files
+which have been pre-converted.</p>
+
+<p>There is more general discussion of including URLs in
+bibliographies in the <a
+href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=citeURL" >UK TeX
+FAQ</a>.</p>
+
+<h2><a name='download'>Download and installation</a></h2>
+
+<p>Download the file
+<a href="urlbst-@PACKAGE_VERSION@.tar.gz" >urlbst-@PACKAGE_VERSION@.tar.gz</a>
+and unpack it.</p>
+
+<p>To install, you should simply copy the distributed
+<code>urlbst</code> script to someplace on the path (such as
+<code>/usr/local/bin</code>, or <code>~/local/bin</code>, depending on
+your privileges and tastes).</p>
+
+<p>If you (might) want to use the pre-converted standard
+<code>.bst</code> files, then you'll need to copy these to somewhere
+in the BibTeX search path. Type <kbd>kpsepath bst</kbd> on Unix to
+find out the list of places BibTeX searches, and pick either one of
+the user-local locations, or a system-wide one. If you're installing
+in a system-wide location, you'll need admin privileges, obviously,
+and you will probably need to use <code>texhash</code>,
+<code>mktexlsr</code> or its equivalent, to update LaTeX's filename
+cache. For further hints here, see
+the TeX FAQ entries on <a
+href='http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages'
+>installing a package</a> and <a
+href='http://www.tex.ac.uk/cgi-bin/texfaq2html?label=wherefiles'
+>where LaTeX puts files</a>.</p>
+
+<p>That should be all you have to do.</p>
+
+<p>The urlbst script is distributed with a path which should just work,
+as long as the Perl binary is in your path, but if you have problems
+here, then you might want to change the first line to something like</p>
+<pre>
+#! /usr/local/bin/perl
+</pre>
+<p>if that's where your Perl binary is.</p>
+
+<p>You can also use the conventional <code>./configure; make; make
+install</code> to configure and install the package (as root, or using
+<code>sudo</code> if you're installing it in a system location),
+though you still have to install the <code>.bst</code> files by hand.
+This is rather heavyweight for the trivial amount of configuration
+required, so it's almost always simpler just to do things by hand.</p>
+
+<p>If you need to change some of the <code>urlbst</code> defaults,
+however, or if your fingers type <code>./configure</code>
+spontaneously, then you can be reassured that the configure script
+supports the standard <code>--prefix</code> option, plus the following
+options setting defaults:</p>
+<dl>
+
+<dt><code>--with-eprints=url</code>, <code>--without-eprints</code></dt>
+
+<dd>This makes the <code>--eprints</code> option to urlbst available
+by default, and allows you to optionally specify a prefix for creating
+URLs from eprint numbers. The default for this URL is
+<code>http://arxiv.org/abs/</code> -- this is appropriate for arXiv,
+obviously, but there are now a variety of other preprint archives
+appearing, for which this might be inappropriate. If you have
+comments on this default, or alternatives, please let me know. This
+option is enabled by default; if you have some reason for disabling
+the <code>--eprints</code> option for urlbst, the give the configure
+option <code>--without-eprints</code></dd>
+
+<dt><code>--with-doi=url</code>, <code>--without-doi</code></dt>
+
+<dd>This makes available the <code>--doi</code> option to urlbst and,
+as with the <code>--with-eprints</code> option, allows you to
+customise the DOI resolver URL. The <code>--doi</code> option to
+urlbst is on by default.</dd>
+
+<dt><code>--with-href=0/1/2</code></dt>
+
+<dd>This allows you to specify the type of hyperlinks which are
+inserted in the bibliography. Values 0, 1 and 2, indicating no
+hyperlinks, hypertex-style links, and hyperref-style links,
+respectively. The default is <code>--with-href=0</code>. The
+<code>hyperref</code>-style option is intended to complement the
+increasingly standard <code>hyperref</code> package.</dd>
+
+</dl>
+
+<p>The first two options simply change defaults, and if you never use
+the new <code>eprints</code> or <code>doi</code> fields, then the
+defaults don't matter to you. </p>
+
+<p>Since the modified style generates URLs wrapped in the
+<code>\url{}</code> macro, it is useful to use the resulting
+bibliography style alongside the <code>url</code> package. Since this
+tends to work with <code>hyperref</code> anyway, where possible, you
+don't get any extra goodness by changing the <code>--with-href</code>
+default at configuration time.</p>
+
+<h3>Documentation</h3>
+
+<p>Basic documentation is in the file <code>urlbst.tex</code>. This
+is distributed as a PDF file, but if you want to regenerate it, use</p>
+<pre>
+% latex urlbst
+% bibtex urlbst
+% latex urlbst
+% latex urlbst
+</pre>
+
+<h2><a name='information'>Further Information</a></h2>
+
+<p><code>urlbst</code> is archived on CTAN at <a
+href="http://www.tex.ac.uk/tex-archive/biblio/bibtex/contrib/urlbst/"
+><code>biblio/bibtex/contrib/urlbst/</code></a>, and discussed in the
+<a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=citeURL" >TeX
+FAQ</a>.</p>
+
+<p>The <a href="http://purl.org/nxg/dist/urlbst"
+>home page of urlbst</a> might possibly have more recent versions than the
+one you're looking at now.</p>
+
+<p>Copyright 2002-8, Norman Gray. Released under the terms of the GNU
+General Public Licence.</p>
+
+<h2><a name='history'>Version history</a></h2>
+<dl>
+
+<dt>0.6-1, 2008 June 16</dt>
+<dd>Fixed some broken links to the various citation standards (I think
+in this context this should probably <em>not</em> be happening,
+yes?). The distributed <code>*url.bst</code> no longer have the
+<code>--inlinelinks</code> option turned on by default.</dd>
+
+<dt>0.6, 2007 March 26</dt>
+<dd><p>Added the option <code>--inlinelinks</code>, which adds inline hyperlinks
+to any bibliography entries which have URLs, but does so inline, rather
+than printing the URL explicitly in the bibliography. This is (primarily)
+useful if you're preparing a version of a document which will be read
+on-screen. Thanks to Jason Eisner for the suggestion, and much testing.</p>
+<p>Incorporate hyperref bugfixes from Pawe&#x0142; Widera.</p>
+<dl>
+<dt>0.6b3</dt>
+<dd>Further reworkings of the inlinelinks support, so that it's now
+fired by a format.title (or format.btitle) line, with a fallback in
+fin.entry. This should be more robust, and allows me to delete some
+of the previous version's gymnastics.</dd>
+
+<dt>0.6b2</dt>
+<dd>Reworked <code>inlinelinks</code> support; should now be more
+robust. Incorporate hyperref bugfixes from Pawe&#x0142; Widera.</dd>
+
+<dt>0.6b1</dt>
+<dd>Added the option <code>inlinelinks</code>, which adds inline hyperlinks
+to any bibliography entries which have URLs, but does so inline, rather
+than printing the URL explicitly in the bibliography. This is (only)
+useful if you're preparing a version of a document which will be read
+on-screen.</dd>
+</dl>
+</dd>
+
+<dt>0.5.2, 2006 September 6</dt>
+<dd>Another set of documentation-only changes, hopefully clarifying
+installation.</dd>
+
+<dt>0.5.1, 2006 January 10</dt>
+<dd>No functionality changes. Documentation and webpage changes only,
+hopefully clarifying usage and configuration</dd>
+
+<dt>0.5, 2005 June 3</dt>
+<dd>Added support for Digital Object Identifiers (DOI) fields in
+bibliographies.</dd>
+
+<dt>0.4-1, 2005 April 12</dt>
+<dd>Documentation improvements -- there are now examples in the help text!</dd>
+
+<dt>0.4, 2004 December 1</dt>
+<dd>Bug fixes: now compatible with mla.bst and friends. Now uses
+./configure (optionally). Assorted reorganisation.</dd>
+
+<dt>0.3, 2003 June 4</dt>
+<dd>Added --eprint, --hypertex and --hyperref options.</dd>
+
+<dt>0.2, 2002 October 23</dt>
+<dd>The `editor' field is now supported in the webpage entry type. Basic
+documentation added.</dd>
+
+<dt>0.1, 2002 April</dt>
+<dd>Initial version</dd>
+
+</dl>
+
+
+<div class="signature">
+<a href="http://nxg.me.uk"
+ >Norman Gray</a><br/>
+@RELEASEDATE@
+</div>
+
+</body>
+</html>
diff --git a/Master/texmf-dist/doc/latex/urlbst/urlbst.in b/Master/texmf-dist/doc/latex/urlbst/urlbst.in
new file mode 100755
index 00000000000..0bb468f6322
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/urlbst/urlbst.in
@@ -0,0 +1,698 @@
+#! @PERL@ -w
+#
+# Usage: ./urlbst.pl [--eprint] [--doi] [--pubmed]
+# [--nohyperlinks] [--inlinelinks] [--hypertex] [--hyperref]
+# [input-file [output-file]]
+# If either input-file or output-file is omitted, they are replaced by
+# stdin or stdout respectively.
+#
+# See http://purl.org/nxg/dist/urlbst for documentation
+#
+# $Id: urlbst.in,v 1.10 2008/01/27 23:18:54 norman Exp $
+
+$version = '@PACKAGE_VERSION@';
+($progname = $0) =~ s/.*\///;
+$mymarker = "% $progname";
+$mymarkerend = "% ...$progname to here";
+$myurl = 'http://purl.org/nxg/dist/urlbst';
+
+
+$infile = '-';
+$outfile = '-';
+
+$addeprints = @WITHEPRINTS@; # if true (nonzero) we add support for eprints
+$eprintprefix = 'arXiv:'; # make these settable with --eprint? syntax?
+$eprinturl = '@EPRINTURL@';
+
+$adddoiresolver = @WITHDOIRESOLVER@;
+$doiprefix = 'doi:';
+$doiurl = '@DOIURL@';
+
+$addpubmedresolver = @WITHPUBMEDRESOLVER@;
+$pubmedprefix = 'PMID:';
+$pubmedurl = '@PUBMEDURL@';
+
+$makehref = @WITHHREF@;
+$availablestring = "Available from: ";
+$inlinelinks = 0;
+
+$Usage = "$progname [--eprint] [--doi] [--pubmed]\n [--nohyperlinks] [--inlinelinks] [--hypertex] [--hyperref]\n [--help] [input-file [output-file]]";
+
+while ($#ARGV >= 0) {
+ if ($ARGV[0] eq '--eprint') {
+ $addeprints = 1;
+ } elsif ($ARGV[0] eq '--doi') {
+ $adddoiresolver = 1;
+ } elsif ($ARGV[0] eq '--pubmed') {
+ $addpubmedresolver = 1;
+ } elsif ($ARGV[0] eq '--nohyperlinks') {
+ $makehref = 0;
+ } elsif ($ARGV[0] eq '--hypertex') {
+ $makehref = 1;
+ } elsif ($ARGV[0] eq '--hyperref') {
+ $makehref = 2;
+ } elsif ($ARGV[0] eq '--inlinelinks') {
+ $inlinelinks = 1;
+ } elsif ($ARGV[0] eq '--help') {
+ print <<EOD;
+urlbst version $version
+ Usage: $Usage
+ --eprint: include support for `eprint' fields
+ --doi: include support for `doi' field
+ --pubmed: include support for `pubmed' field
+ --nohyperlinks do not include active links anywhere
+ --inlinelinks add hyperlinks to entry titles
+ --hypertex: include HyperTeX-style hyperlink support
+ --hyperref: include {hyperref}-style hyperlink support
+ (generally better)
+ --help: print this help
+ Input and output files may be given as `-' (default) to indicate stdin/out
+EOD
+ exit(0);
+ } elsif ($ARGV[0] =~ /^-/) {
+ die "Unrecognised option $ARGV[0]: Usage: $Usage\n";
+ } elsif ($infile eq '-') {
+ $infile = $ARGV[0];
+ } elsif ($outfile eq '-') {
+ $outfile = $ARGV[0];
+ } else {
+ die "Usage: $Usage\n";
+ }
+ shift(@ARGV);
+}
+
+if ($inlinelinks && $makehref == 0) {
+ print <<'EOD';
+Warning: --inlinelinks and --nohyperlinks were both specified (possibly
+ implicitly). That combination makes no sense, so I'll ignore
+ --nohyperlinks and use --hyperref instead
+EOD
+ $makehref = 2;
+}
+
+$exitstatus = 0; # success status
+
+open (IN, "<$infile") || die "Can't open $infile to read";
+open (OUT, ">$outfile") || die "Can't open $outfile to write";
+
+# We have to make certain assumptions about the source files, in order
+# to patch them at the correct places. Specifically, we assume that
+#
+# - there's a function init.state.consts
+#
+# - ...and an output.nonnull which does the actual outputting, which
+# has the `usual' interface.
+#
+# - we can replace
+# fin.entry
+# by
+# new.block
+# output.url % the function which formats and displays any URL
+# fin.entry
+#
+# - there is a function which handles the `article' entry type (this
+# will always be true)
+#
+# - there is a function output.bibitem which is called at the
+# beginning of each entry type
+# - ...and one called fin.entry which is called at the end
+#
+# If the functions format.date, format.title or new.block are not defined (the
+# former is not in apalike, for example, and the last is not in the
+# AMS styles), then replacements are included in the output.
+#
+# All these assumptions are true of the standard files and, since most
+# style files derive from them more or less directly, are true of most (?)
+# other style files, too.
+#
+# There's some rather ugly Perl down here. The parsing for
+# brace-matching could probably do with being rewritten in places, to
+# make it less ugly, and more robust.
+
+print OUT "%%% Modification of BibTeX style file ", ($infile eq '-' ? '<stdin>' : $infile), "\n";
+print OUT "%%% ... by $progname, version $version (marked with \"$mymarker\")\n%%% See <$myurl>\n";
+print OUT "%%% Added webpage entry type, and url and lastchecked fields.\n";
+print OUT "%%% Added eprint support.\n" if ($addeprints);
+print OUT "%%% Added DOI support.\n" if ($adddoiresolver);
+print OUT "%%% Added PUBMED support.\n" if ($addpubmedresolver);
+print OUT "%%% Added HyperTeX support.\n" if ($makehref == 1);
+print OUT "%%% Added hyperref support.\n" if ($makehref == 2);
+print OUT "%%% Original headers follow...\n\n";
+
+$found{initconsts} = 0;
+$found{outputnonnull} = 0;
+$found{article} = 0;
+$found{outputbibitem} = 0;
+$found{finentry} = 0;
+$found{formatdate} = 0;
+$found{formattitle} = 0;
+$found{newblock} = 0;
+
+while (<IN>) {
+ /^ *%/ && do {
+ # Pass commented lines unchanged
+ print OUT;
+ next;
+ };
+
+ /^ *ENTRY/ && do {
+ # Work through the list of entry types, finding what ones are there.
+ # If we find a URL entry there already, object, since these edits
+ # will mess things up.
+ $line = $_;
+ until ($line =~ /\{\s*(\w*)/) {
+ $line .= <IN>;
+ }
+ $bracematchtotal = 0; # reset
+ bracematcher($line);
+ $line =~ /\{\s*(\w*)/;
+ $found{'entry'.$1} = 1;
+ print OUT $line;
+ $line = <IN>;
+ until (bracematcher($line) == 0) {
+ # XXX deal with multiple entries on one line
+ ($line =~ /^\s*(\w*)/) && ($found{'entry'.$1} = 1);
+ print OUT $line;
+ $line = <IN>;
+ }
+ if (defined($found{entryurl})) {
+ print STDERR "$progname: style file $infile already has URL entry!\n";
+ # print out the rest of the file, and give up
+ print OUT $line;
+ while (<IN>) {
+ print OUT;
+ }
+ $exitstatus = 1;
+ last;
+ } else {
+ print OUT " eprint $mymarker\n doi $mymarker\n pubmed $mymarker\n url $mymarker\n lastchecked $mymarker\n";
+ }
+ print OUT $line;
+ next;
+ };
+
+ /^ *FUNCTION *\{init\.state\.consts\}/ && do {
+ # In the init.state.consts function, add an extra set of
+ # constants at the beginning. Also use this as the marker for
+ # the place to add the init strings function.
+ print OUT <<EOD;
+STRINGS { urlintro eprinturl eprintprefix doiprefix doiurl pubmedprefix pubmedurl openinlinelink closeinlinelink } $mymarker...
+INTEGERS { hrefform inlinelinks makeinlinelink addeprints adddoiresolver addpubmedresolver }
+% Following constants may be adjusted by hand, if desired
+FUNCTION {init.urlbst.variables}
+{
+ "$availablestring" 'urlintro := % prefix before URL
+ "$eprinturl" 'eprinturl := % prefix to make URL from eprint ref
+ "$eprintprefix" 'eprintprefix := % text prefix printed before eprint ref
+ "$doiurl" 'doiurl := % prefix to make URL from DOI
+ "$doiprefix" 'doiprefix := % text prefix printed before DOI ref
+ "$pubmedurl" 'pubmedurl := % prefix to make URL from PUBMED
+ "$pubmedprefix" 'pubmedprefix := % text prefix printed before PUBMED ref
+ #$addeprints 'addeprints := % 0=no eprints; 1=include eprints
+ #$adddoiresolver 'adddoiresolver := % 0=no DOI resolver; 1=include it
+ #$addpubmedresolver 'addpubmedresolver := % 0=no PUBMED resolver; 1=include it
+ #$makehref 'hrefform := % 0=no crossrefs; 1=hypertex xrefs; 2=hyperref refs
+ #$inlinelinks 'inlinelinks := % 0=URLs explicit; 1=URLs attached to titles
+ % the following are internal state variables, not config constants
+ #0 'makeinlinelink := % state variable managed by setup.inlinelink
+ "" 'openinlinelink := % ditto
+ "" 'closeinlinelink := % ditto
+}
+INTEGERS {
+ bracket.state
+ outside.brackets
+ open.brackets
+ within.brackets
+ close.brackets
+}
+$mymarkerend
+EOD
+ $line = $_;
+ until ($line =~ /\{.*\}.*\{/s) {
+ $line .= <IN>;
+ }
+ $line =~ s/(\{.*?\}.*?\{)/$1 #0 'outside.brackets := $mymarker
+ #1 'open.brackets :=
+ #2 'within.brackets :=
+ #3 'close.brackets :=
+
+ /s;
+ print OUT $line;
+ $found{initconsts} = 1;
+ next;
+ };
+
+ /^ *EXECUTE *\{init\.state\.consts\}/ && do {
+ print OUT "EXECUTE {init.urlbst.variables}\n";
+ print OUT;
+ next;
+ };
+
+ /^ *FUNCTION *\{new.block\}/ && do {
+ $found{newblock} = 1;
+ };
+
+ /^ *FUNCTION *{output\.nonnull}/ && do {
+ print OUT "$mymarker\n";
+ print OUT "FUNCTION {output.nonnull.original}\n";
+ copy_block();
+ print_output_functions();
+ $found{outputnonnull} = 1;
+ next;
+ };
+
+ /FUNCTION *\{fin.entry\}/ && do {
+ # Rename fin.entry to fin.entry.original (wrapped below)
+ s/fin.entry/fin.entry.original/;
+ $found{finentry} = 1;
+ print OUT;
+ next;
+ };
+
+ /^ *FUNCTION *{format\.date}/ && do {
+ $found{formatdate} = 1;
+ print OUT;
+ next;
+ };
+
+ /^ *FUNCTION *{format\.title}/ && do {
+ # record that we found this
+ $found{formattitle} = 1;
+ print OUT;
+ next;
+ };
+
+ /^ *format\.b?title/ && do {
+ # interpolate a call to setup.inlinelink
+ print OUT " title empty\$ 'skip\$ 'setup\.inlinelink if\$ $mymarker\n";
+ print OUT;
+ next;
+ };
+
+ /^ *FUNCTION *\{article\}/ && do {
+
+ print_missing_functions();
+ print_webpage_def();
+
+ print OUT;
+ $found{article} = 1;
+ next;
+ };
+
+ /FUNCTION *\{output.bibitem\}/ && do {
+ # Rename output.bibitem to output.bibitem.original (wrapped below)
+ s/{output.bibitem\}/\{output.bibitem.original\}/;
+ $found{outputbibitem} = 1;
+ print OUT;
+ next;
+ };
+
+ print OUT;
+};
+
+if ($exitstatus == 0) {
+ # Skip this if we've already reported an error -- it'll only be confusing
+ foreach $k (keys %found) {
+ if ($found{$k} == 0) {
+ print STDERR "$progname: $infile: failed to find feature $k\n";
+ }
+ }
+}
+
+close (IN);
+close (OUT);
+
+exit $exitstatus;;
+
+
+
+
+
+
+sub print_output_functions {
+ print OUT "$mymarker...\n";
+
+ print OUT <<'EOD';
+% The following three functions are for handling inlinelink. They wrap
+% a block of text which is potentially output with write$ by multiple
+% other functions, so we don't know the content a priori.
+% They communicate between each other using the variables makeinlinelink
+% (which is true if a link should be made), and closeinlinelink (which holds
+% the string which should close any current link. They can be called
+% at any time, but start.inlinelink will be a no-op unless something has
+% previously set makeinlinelink true, and the two ...end.inlinelink functions
+% will only do their stuff if start.inlinelink has previously set
+% closeinlinelink to be non-empty.
+FUNCTION {setup.inlinelink}
+{ makeinlinelink
+ { hrefform #1 = % hypertex
+ { "\special {html:<a href=" quote$ * url * quote$ * "> }{" * 'openinlinelink :=
+ "\special {html:</a>}" 'closeinlinelink :=
+ }
+ { hrefform #2 = % hyperref
+ { "\href{" url * "}{" * 'openinlinelink :=
+ "}" 'closeinlinelink :=
+ }
+ 'skip$
+ if$ % hrefform #2 =
+ }
+ if$ % hrefform #1 =
+ #0 'makeinlinelink :=
+ }
+ 'skip$
+ if$ % makeinlinelink
+}
+FUNCTION {add.inlinelink}
+{ openinlinelink empty$
+ 'skip$
+ { openinlinelink swap$ * closeinlinelink *
+ "" 'openinlinelink :=
+ }
+ if$
+}
+EOD
+
+ # new.block is defined elsewhere
+
+ print OUT <<'EOD';
+FUNCTION {output.nonnull}
+{ % Save the thing we've been asked to output
+ 's :=
+ % If the bracket-state is close.brackets, then add a close-bracket to
+ % what is currently at the top of the stack, and set bracket.state
+ % to outside.brackets
+ bracket.state close.brackets =
+ { "]" *
+ outside.brackets 'bracket.state :=
+ }
+ 'skip$
+ if$
+ bracket.state outside.brackets =
+ { % We're outside all brackets -- this is the normal situation.
+ % Write out what's currently at the top of the stack, using the
+ % original output.nonnull function.
+ s
+ add.inlinelink
+ output.nonnull.original % invoke the original output.nonnull
+ }
+ { % Still in brackets. Add open-bracket or (continuation) comma, add the
+ % new text (in s) to the top of the stack, and move to the close-brackets
+ % state, ready for next time (unless inbrackets resets it). If we come
+ % into this branch, then output.state is carefully undisturbed.
+ bracket.state open.brackets =
+ { " [" * }
+ { ", " * } % bracket.state will be within.brackets
+ if$
+ s *
+ close.brackets 'bracket.state :=
+ }
+ if$
+}
+
+% Call this function just before adding something which should be presented in
+% brackets. bracket.state is handled specially within output.nonnull.
+FUNCTION {inbrackets}
+{ bracket.state close.brackets =
+ { within.brackets 'bracket.state := } % reset the state: not open nor closed
+ { open.brackets 'bracket.state := }
+ if$
+}
+
+FUNCTION {format.lastchecked}
+{ lastchecked empty$
+ { "" }
+ { inbrackets "cited " lastchecked * }
+ if$
+}
+EOD
+ print OUT "$mymarkerend\n";
+}
+
+sub print_webpage_def {
+ print OUT "$mymarker...\n";
+
+ # Some of the functions below call new.block, so we need a dummy
+ # version, in the case where the style being edited doesn't supply
+ # that function.
+ if (! $found{newblock}) {
+ print OUT "FUNCTION {new.block} % dummy new.block function\n{\n % empty\n}\n\n";
+ $found{newblock} = 1;
+ }
+
+ print OUT <<'EOD';
+% Functions for making hypertext links.
+% In all cases, the stack has (link-text href-url)
+%
+% make 'null' specials
+FUNCTION {make.href.null}
+{
+ pop$
+}
+% make hypertex specials
+FUNCTION {make.href.hypertex}
+{
+ "\special {html:<a href=" quote$ *
+ swap$ * quote$ * "> }" * swap$ *
+ "\special {html:</a>}" *
+}
+% make hyperref specials
+FUNCTION {make.href.hyperref}
+{
+ "\href {" swap$ * "} {\path{" * swap$ * "}}" *
+}
+FUNCTION {make.href}
+{ hrefform #2 =
+ 'make.href.hyperref % hrefform = 2
+ { hrefform #1 =
+ 'make.href.hypertex % hrefform = 1
+ 'make.href.null % hrefform = 0 (or anything else)
+ if$
+ }
+ if$
+}
+
+% If inlinelinks is true, then format.url should be a no-op, since it's
+% (a) redundant, and (b) could end up as a link-within-a-link.
+FUNCTION {format.url}
+{ inlinelinks #1 = url empty$ or
+ { "" }
+ { hrefform #1 =
+ { % special case -- add HyperTeX specials
+ urlintro "\url{" url * "}" * url make.href.hypertex * }
+ { urlintro "\url{" * url * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.eprint}
+{ eprint empty$
+ { "" }
+ { eprintprefix eprint * eprinturl eprint * make.href }
+ if$
+}
+
+FUNCTION {format.doi}
+{ doi empty$
+ { "" }
+ { doiprefix doi * doiurl doi * make.href }
+ if$
+}
+
+FUNCTION {format.pubmed}
+{ pubmed empty$
+ { "" }
+ { pubmedprefix pubmed * pubmedurl pubmed * make.href }
+ if$
+}
+
+% Output a URL. We can't use the more normal idiom (something like
+% `format.url output'), because the `inbrackets' within
+% format.lastchecked applies to everything between calls to `output',
+% so that `format.url format.lastchecked * output' ends up with both
+% the URL and the lastchecked in brackets.
+FUNCTION {output.url}
+{ url empty$
+ 'skip$
+ { new.block
+ format.url output
+ format.lastchecked output
+ }
+ if$
+}
+
+FUNCTION {output.web.refs}
+{
+ new.block
+ output.url
+ addeprints eprint empty$ not and
+ { format.eprint output.nonnull }
+ 'skip$
+ if$
+ adddoiresolver doi empty$ not and
+ { format.doi output.nonnull }
+ 'skip$
+ if$
+ addpubmedresolver pubmed empty$ not and
+ { format.pubmed output.nonnull }
+ 'skip$
+ if$
+}
+
+% Wrapper for output.bibitem.original.
+% If the URL field is not empty, set makeinlinelink to be true,
+% so that an inline link will be started at the next opportunity
+FUNCTION {output.bibitem}
+{ outside.brackets 'bracket.state :=
+ output.bibitem.original
+ inlinelinks url empty$ not and
+ { #1 'makeinlinelink := }
+ { #0 'makeinlinelink := }
+ if$
+}
+
+% Wrapper for fin.entry.original
+FUNCTION {fin.entry}
+{ output.web.refs % urlbst
+ makeinlinelink % ooops, it appears we didn't have a title for inlinelink
+ { setup.inlinelink % add some artificial link text here, as a fallback
+ "[link]" output.nonnull }
+ 'skip$
+ if$
+ bracket.state close.brackets = % urlbst
+ { "]" * }
+ 'skip$
+ if$
+ fin.entry.original
+}
+
+% Webpage entry type.
+% Title and url fields required;
+% author, note, year, month, and lastchecked fields optional
+% See references
+% ISO 690-2 http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm
+% http://www.classroom.net/classroom/CitingNetResources.html
+% http://neal.ctstateu.edu/history/cite.html
+% http://www.cas.usf.edu/english/walker/mla.html
+% for citation formats for web pages.
+FUNCTION {webpage}
+{ output.bibitem
+ author empty$
+ { editor empty$
+ 'skip$ % author and editor both optional
+ { format.editors output.nonnull }
+ if$
+ }
+ { editor empty$
+ { format.authors output.nonnull }
+ { "can't use both author and editor fields in " cite$ * warning$ }
+ if$
+ }
+ if$
+ new.block
+ title empty$ 'skip$ 'setup.inlinelink if$
+ format.title "title" output.check
+ inbrackets "online" output
+ new.block
+ year empty$
+ 'skip$
+ { format.date "year" output.check }
+ if$
+ % We don't need to output the URL details ('lastchecked' and 'url'),
+ % because fin.entry does that for us, using output.web.refs. The only
+ % reason we would want to put them here is if we were to decide that
+ % they should go in front of the rather miscellaneous information in 'note'.
+ new.block
+ note output
+ fin.entry
+}
+EOD
+
+ print OUT "$mymarkerend\n\n\n";
+}
+
+
+sub print_missing_functions {
+ # We've got to the bit of the file which handles the entry
+ # types, so write out the webpage entry handler. This uses
+ # the format.date function, which which many but not all
+ # bst files have (for example, apalike doesn't). So
+ # check that we either have found this function already, or
+ # add it.
+ if (! $found{formatdate}) {
+ if ($found{entrymonth}) {
+ print OUT <<'EOD';
+FUNCTION {format.date}
+{ year empty$
+ { month empty$
+ { "" }
+ { "there's a month but no year in " cite$ * warning$
+ month
+ }
+ if$
+ }
+ { month empty$
+ 'year
+ { month " " * year * }
+ if$
+ }
+ if$
+}
+EOD
+ } else {
+ print OUT <<'EOD';
+FUNCTION {format.date}
+{ year empty$
+ 'skip$
+ { %write$
+ "(" year * ")" *
+ }
+ if$
+}
+EOD
+ }
+ $found{formatdate} = 1;
+ }
+
+ # If the style file didn't supply a format.title function, then supply
+ # one here (the {webpage} function requires it).
+ if (! $found{formattitle}) {
+ print OUT <<'EOD';
+FUNCTION {format.title}
+{ title empty$
+ { "" }
+ { title "t" change.case$ }
+ if$
+}
+EOD
+ $found{formattitle} = 1;
+ }
+}
+
+# Utility function: Keep track of open and close braces in the string argument.
+# Keep state in $bracematchtotal, return the current value.
+sub bracematcher {
+ my $s = shift;
+ $s =~ s/[^\{\}]//g;
+ #print "s=$s\n";
+ foreach my $c (split (//, $s)) {
+ $bracematchtotal += ($c eq '{' ? 1 : -1);
+ }
+ return $bracematchtotal;
+}
+
+# Utility function: use bracematcher to copy the complete block which starts
+# on or after the current line.
+sub copy_block {
+ $bracematchtotal = 0;
+ # copy any leading lines which don't have braces (presumably comments)
+ while (defined ($line = <IN>) && ($line !~ /{/)) {
+ print OUT $line;
+ }
+ while (defined ($line) && bracematcher($line) > 0) {
+ print OUT $line;
+ $line = <IN>;
+ }
+ print OUT "$line\n"; # print out terminating \} (assumed
+ # alone on the line)
+}
diff --git a/Master/texmf-dist/doc/latex/urlbst/urlbst.pdf b/Master/texmf-dist/doc/latex/urlbst/urlbst.pdf
new file mode 100644
index 00000000000..5ff76111f17
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/urlbst/urlbst.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/urlbst/urlbst.tex b/Master/texmf-dist/doc/latex/urlbst/urlbst.tex
new file mode 100644
index 00000000000..2554f08b5cb
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/urlbst/urlbst.tex
@@ -0,0 +1,255 @@
+\documentclass[a4paper]{article}
+
+\title{The \texttt{urlbst} package}
+\author{Norman Gray\\\texttt{<http://nxg.me.uk>}}
+\date{Version 0.6-1, 2008 June 16}
+
+%\usepackage{times}
+\usepackage{url}
+\usepackage{hyperref}
+
+% Not long enough to make it useful to number sections
+\setcounter{secnumdepth}{0}
+
+% Squeeze a bit more on to the page
+%\addtolength\textwidth{1cm}
+%\addtolength\oddsidemargin{-0.5cm}
+
+\makeatletter
+% Easy verbatim mode
+\catcode`\|=\active
+\def|{\begingroup \let\do\@makeother \dospecials \verbatim@font \doverb}
+\def\doverb#1|{#1\endgroup}
+
+\renewcommand{\verbatim@font}{\normalfont\small\ttfamily}
+\makeatother
+
+\newcommand{\ub}{\package{urlbst}}
+\newcommand{\BibTeX}{Bib\TeX}
+\newcommand{\package}[1]{\texttt{#1}}
+\newcommand{\btfield}[1]{\textsf{#1}}
+
+\begin{document}
+\maketitle
+
+The \ub\ package consists of a Perl script which edits \BibTeX\ style
+files (|.bst|) to add a \btfield{webpage} entry type, and which
+supports \btfield{url} and corresponding \btfield{lastchecked} fields
+on all other entry types. The distribution includes preconverted
+versions of the four standard \BibTeX\ |.bst| style files.
+
+It has a different goal from Patrick Daly's \package{custom-bib}
+package~\cite{url:daly} -- that is intended to create a \BibTeX\ style
+|.bst| file from scratch, and supports \btfield{url} and
+\btfield{eprint} fields. This package, on the other hand, is intended
+for the case where you already have a style file that works (or at
+least, which you cannot or will not change), and edits it to add the
+new \btfield{webpage} entry type, plus the \btfield{url},
+\btfield{lastchecked} and \btfield{eprint} fields.
+
+Usage is simple:
+\begin{verbatim}
+% urlbst [--eprint] [--doi] [--pubmed]
+ [--nohyperlinks] [--inlinelinks] [--hypertex] [--hyperref]
+ [input-file [output-file]]
+\end{verbatim}
+where the |input-file| is an existing |.bst| file, and
+the |output-file| is the name of the new style file to be
+created. If either file name is missing, the default is the
+standard input or standard output respectively.
+For example:
+\begin{verbatim}
+% urlbst --eprint bibstyle.bst
+\end{verbatim}
+would convert the style file \texttt{bibstyle.bst}, including support
+for e-prints, and sending the result to the standard output (ie, the
+screen, so it would more useful if you were to either redirect this to
+a file or supply the output-file argument).
+
+If the option |--eprint| is present, then we switch on support for
+\texttt{eprint} fields in the modified .bst file, with a citation
+format matching that recommended in
+\url{http://arxiv.org/help/faq/references}. If the option
+|--doi| is present, then include support for a |doi| field, referring
+to a Digital Object Identifier (DOI) as standardised by
+\url{http://www.doi.org/}. And if |--pubmed| is present, then include
+support for a |pubmed| field, referring to a PubMed identifier as
+supported at \url{http://www.pubmed.gov}.
+
+If either of the |--hypertex| or |--hyperref| options is present, then
+the generated .bst file includes support for hyperlinks in the
+generated eprint entries in the bibliography, with the format being
+either Hyper\TeX\ (see
+\url{http://arxiv.org/hypertex/#implementation}), supported by xdvi,
+dvips and others, or using the support available from the
+\package{hyperref} package. These options have no effect unless one
+of the |--eprint|, |--doi|, |--pubmed| or |--inlinelinks| options is given:
+when URLs are included
+in the bibliography, they are written out using the |\url{...}|
+command. The \package{hyperref} support is more generic, and more
+generally supported, and so you should choose this unless you have a
+particular need for the Hyper\TeX\ support. The |--nohyperlinks|
+option, which is present by default, suppresses all hyperlinking.
+
+By default, any URL field is displayed as part of the bibliography
+entry, linked to the corresponding URL via the mechanism managed by
+the |--hypertex| and |--hyperref| options. If the |--inlinelinks|
+option is present, however, then the URL is not displayed in the
+printed entry, but instead a hyperlink is created, linked to suitable
+text within the bibliography entry, such as the citation title. This
+option does not affect the display of eprints, DOI or PubMed fields. It makes
+no sense to specify |--inlinelinks| with |--nohyperlinks|, and the
+script warns you if you do that, for example by failing to specify one
+of the link-style options. This option is (primarily) useful if
+you're preparing a version of a document which will be read on-screen;
+the point of it is that the resulting bibliography is substantially
+more compact than it would otherwise be.
+
+The support for all the above behaviours is always included in the
+output file. The options instead control only whether the various
+behaviours are enabled or disabled, and if you need to alter these,
+you may do so by editing the generated |.bst| file and adjusting
+values in the |{init.urlbst.variables}| function, where indicated.
+
+The generated references have URLs inside |\url{...}|. The best
+way to format this this is with the \package{url} package
+(see~\cite{texfaq} for pointers), but as a poor alternative, you can
+try |\newcommand{\url}[1]{\texttt{#1}}|. The \package{hyperref}
+package automatically processes |\url{...}| in the correct way to
+include a hyperlink, and if you have selected \package{hyperref}
+output, then nothing more need be done. If you selected Hyper\TeX\
+output, however, then the script encloses the |\url| command in an
+appropriate Hyper\TeX\ special.
+
+The \ub\ script works by spotting patterns and characteristic function
+names in the input |.bst| file. It works as-is in the case of the
+four standard \BibTeX\ style files |plain.bst|, |unsrt.bst|,
+|alpha.bst| and |abbrv.bst|. It also works straightforwardly for
+many other style files -- since many of these are derived from, or at
+least closely inspired by, the standard ones -- but it does not
+pretend that it can do so for all of them. In some cases, such as the
+style files for the \package{refer} or \package{koma-script} packages,
+the style files are not intended to be used for formatting; others are
+sufficiently different from the standard files that a meaningful edit
+becomes impossible. For the large remainder, however, the result of
+this script should need only relatively minor edits before being
+perfectly usable.
+
+\section{New \texttt{.bib} entry and field types}
+
+The new entry type \btfield{webpage} has required fields
+\btfield{title} and \btfield{url}, and optional fields
+\btfield{author}, \btfield{editor}, \btfield{note}, \btfield{year},
+\btfield{month} and \btfield{lastchecked}. The \btfield{url} and
+\btfield{lastchecked} fields are new, and are
+valid in other entry types as well: the first, obviously, is the URL
+which is being cited, or which is being quoted as an auxiliary source
+for an article perhaps; the second is the date when you last checked
+that the URL was there, in the state you quoted it; this is necessary
+since some people, heedless of the archival importance of preserving
+the validity of URLs, indulge in the vicious practice of reorganising
+web pages and destroying links. For the case of the \btfield{webpage} entry
+type, the \btfield{editor} field should be used for the `maintainer'
+of a web page.
+
+For example, in Figure~\ref{f:ex} we illustrate two potential |.bib|
+file entries. The \texttt{@webpage} entry type is the new type
+provided by this package, and provides reference information for a
+webpage; it includes the new \texttt{url} and \texttt{lastchecked}
+fields. There is also an example of the standard \texttt{@book} entry
+type, which now includes the \texttt{url} and \texttt{lastchecked}
+fields as well. The difference between the two references is that in
+the \texttt{@book} case it is the book being cited, so that the
+\texttt{url} provides extra information; in the \texttt{@webpage} case
+it is the page itself which is of interest. You use the new |eprint|,
+|doi| and |pubmed| fields similarly, if the bibliographic item in
+question has an e-print, DOI or PubMed reference.
+\begin{figure}
+\begin{verbatim}
+@Webpage{apastyle,
+ url = {http://www.apastyle.org/elecref.html},
+ author = {{American Psychological Association}},
+ title = {Electronic References},
+ year = 2001,
+ lastchecked = {23 October 2002},
+ note = {Excerpted from 5th edition of the APA Publication Manual}
+}
+
+@Book{schutz,
+ author = {Bernard Schutz},
+ title = {Gravity from the GroundUp},
+ publisher = {Cambridge University Press},
+ year = {2003},
+ url = {http://www.gravityfromthegroundup.org/},
+ lastchecked = {2008 June 16}
+}
+\end{verbatim}
+\caption{\label{f:ex}The new \texttt{@webpage} entry type, and the \texttt{url}
+ field in action}
+\end{figure}
+
+How do you use this in a document? To use the the
+\texttt{alphaurl.bst} style -- which is a pre-converted version of the
+standard \texttt{alpha.bst} style, included in the \texttt{urlbst}
+distribution -- you simply make sure that \texttt{alphaurl.bst} is in
+your BibTeX search path (use the command \texttt{kpsepath bst} to find
+this path and \texttt{kpsewhich alphaurl.bst} to confirm that BibTeX
+can find it) and add |\bibliographystyle{alphaurl}| to your \LaTeX\ document.
+
+\section{Sources}
+
+There are various sources which suggest how to format references to
+web pages. I have followed none specifically, but fortunately they do
+not appear to materially disagree.
+
+ISO-690~\cite{url:iso690} is a formal standard for this stuff. Walker
+and Taylor's \emph{Columbia Guide to Online Style}~\cite{walker}
+provides extensive coverage (but is only available on dead trees).
+Emory University's
+\emph{Citation Formats}~\cite{emory95} is a compendium of links rather
+than a guide itself. The APA has a couple of style guides, a proposed
+one~\cite{url:weapas} and a style included in the published APA style
+guide~\cite{apastyle} (I'm not sure of the relationship between these
+last two).
+
+\section{Hints}
+
+If you use Emacs' \BibTeX\ mode, you can insert the following in your
+|.emacs| file to add knowledge of the new \btfield{webpage} entry:
+\begin{verbatim}
+(defun my-bibtex-hook ()
+ (setq bibtex-mode-user-optional-fields '("location" "issn")) ; e.g.
+ (setq bibtex-entry-field-alist
+ (cons
+ '("Webpage"
+ ((("url" "The URL of the page")
+ ("title" "The title of the resource"))
+ (("author" "The author of the webpage")
+ ("editor" "The editor/maintainer of the webpage")
+ ("year" "Year of publication of the page")
+ ("month" "Month of publication of the page")
+ ("lastchecked" "Date when you last verified the page was there")
+ ("note" "Remarks to be put at the end of the entry"))))
+ bibtex-entry-field-alist)))
+(add-hook 'bibtex-mode-hook 'my-bibtex-hook)
+\end{verbatim}
+After that, you can add a \btfield{webpage} entry by typing |C-c C-b webpage|
+(or |M-x bibtex-entry|).
+
+It is a \emph{very} good idea to use the \package{url} package: it deals with
+the problem of line-breaking long URLs, and with the problem that
+\BibTeX{} creates, of occasionally inserting \%-signs into URLs in
+generated bibliographies.
+
+See also the URL entry in the UK \TeX\ FAQ~\cite{texfaq}, and
+references therein.
+
+\textbf{Acknowledgements:} Thanks to Jason Eisner for suggesting
+the |--inlinelinks| option, to Pawe\l{} Widera for the
+suggestion to use |\path| when formatting DOIs and to Michael Giffin
+for the suggestion to include PubMed URLs.
+
+\bibliography{urlbst}
+\bibliographystyle{plainurl}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/urlbst/urlbst.tex.in b/Master/texmf-dist/doc/latex/urlbst/urlbst.tex.in
new file mode 100644
index 00000000000..a063aca4abf
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/urlbst/urlbst.tex.in
@@ -0,0 +1,255 @@
+\documentclass[a4paper]{article}
+
+\title{The \texttt{urlbst} package}
+\author{Norman Gray\\\texttt{<http://nxg.me.uk>}}
+\date{Version @PACKAGE_VERSION@, @RELEASEDATE@}
+
+%\usepackage{times}
+\usepackage{url}
+\usepackage{hyperref}
+
+% Not long enough to make it useful to number sections
+\setcounter{secnumdepth}{0}
+
+% Squeeze a bit more on to the page
+%\addtolength\textwidth{1cm}
+%\addtolength\oddsidemargin{-0.5cm}
+
+\makeatletter
+% Easy verbatim mode
+\catcode`\|=\active
+\def|{\begingroup \let\do\@makeother \dospecials \verbatim@font \doverb}
+\def\doverb#1|{#1\endgroup}
+
+\renewcommand{\verbatim@font}{\normalfont\small\ttfamily}
+\makeatother
+
+\newcommand{\ub}{\package{urlbst}}
+\newcommand{\BibTeX}{Bib\TeX}
+\newcommand{\package}[1]{\texttt{#1}}
+\newcommand{\btfield}[1]{\textsf{#1}}
+
+\begin{document}
+\maketitle
+
+The \ub\ package consists of a Perl script which edits \BibTeX\ style
+files (|.bst|) to add a \btfield{webpage} entry type, and which
+supports \btfield{url} and corresponding \btfield{lastchecked} fields
+on all other entry types. The distribution includes preconverted
+versions of the four standard \BibTeX\ |.bst| style files.
+
+It has a different goal from Patrick Daly's \package{custom-bib}
+package~\cite{url:daly} -- that is intended to create a \BibTeX\ style
+|.bst| file from scratch, and supports \btfield{url} and
+\btfield{eprint} fields. This package, on the other hand, is intended
+for the case where you already have a style file that works (or at
+least, which you cannot or will not change), and edits it to add the
+new \btfield{webpage} entry type, plus the \btfield{url},
+\btfield{lastchecked} and \btfield{eprint} fields.
+
+Usage is simple:
+\begin{verbatim}
+% urlbst [--eprint] [--doi] [--pubmed]
+ [--nohyperlinks] [--inlinelinks] [--hypertex] [--hyperref]
+ [input-file [output-file]]
+\end{verbatim}
+where the |input-file| is an existing |.bst| file, and
+the |output-file| is the name of the new style file to be
+created. If either file name is missing, the default is the
+standard input or standard output respectively.
+For example:
+\begin{verbatim}
+% urlbst --eprint bibstyle.bst
+\end{verbatim}
+would convert the style file \texttt{bibstyle.bst}, including support
+for e-prints, and sending the result to the standard output (ie, the
+screen, so it would more useful if you were to either redirect this to
+a file or supply the output-file argument).
+
+If the option |--eprint| is present, then we switch on support for
+\texttt{eprint} fields in the modified .bst file, with a citation
+format matching that recommended in
+\url{http://arxiv.org/help/faq/references}. If the option
+|--doi| is present, then include support for a |doi| field, referring
+to a Digital Object Identifier (DOI) as standardised by
+\url{http://www.doi.org/}. And if |--pubmed| is present, then include
+support for a |pubmed| field, referring to a PubMed identifier as
+supported at \url{http://www.pubmed.gov}.
+
+If either of the |--hypertex| or |--hyperref| options is present, then
+the generated .bst file includes support for hyperlinks in the
+generated eprint entries in the bibliography, with the format being
+either Hyper\TeX\ (see
+\url{http://arxiv.org/hypertex/#implementation}), supported by xdvi,
+dvips and others, or using the support available from the
+\package{hyperref} package. These options have no effect unless one
+of the |--eprint|, |--doi|, |--pubmed| or |--inlinelinks| options is given:
+when URLs are included
+in the bibliography, they are written out using the |\url{...}|
+command. The \package{hyperref} support is more generic, and more
+generally supported, and so you should choose this unless you have a
+particular need for the Hyper\TeX\ support. The |--nohyperlinks|
+option, which is present by default, suppresses all hyperlinking.
+
+By default, any URL field is displayed as part of the bibliography
+entry, linked to the corresponding URL via the mechanism managed by
+the |--hypertex| and |--hyperref| options. If the |--inlinelinks|
+option is present, however, then the URL is not displayed in the
+printed entry, but instead a hyperlink is created, linked to suitable
+text within the bibliography entry, such as the citation title. This
+option does not affect the display of eprints, DOI or PubMed fields. It makes
+no sense to specify |--inlinelinks| with |--nohyperlinks|, and the
+script warns you if you do that, for example by failing to specify one
+of the link-style options. This option is (primarily) useful if
+you're preparing a version of a document which will be read on-screen;
+the point of it is that the resulting bibliography is substantially
+more compact than it would otherwise be.
+
+The support for all the above behaviours is always included in the
+output file. The options instead control only whether the various
+behaviours are enabled or disabled, and if you need to alter these,
+you may do so by editing the generated |.bst| file and adjusting
+values in the |{init.urlbst.variables}| function, where indicated.
+
+The generated references have URLs inside |\url{...}|. The best
+way to format this this is with the \package{url} package
+(see~\cite{texfaq} for pointers), but as a poor alternative, you can
+try |\newcommand{\url}[1]{\texttt{#1}}|. The \package{hyperref}
+package automatically processes |\url{...}| in the correct way to
+include a hyperlink, and if you have selected \package{hyperref}
+output, then nothing more need be done. If you selected Hyper\TeX\
+output, however, then the script encloses the |\url| command in an
+appropriate Hyper\TeX\ special.
+
+The \ub\ script works by spotting patterns and characteristic function
+names in the input |.bst| file. It works as-is in the case of the
+four standard \BibTeX\ style files |plain.bst|, |unsrt.bst|,
+|alpha.bst| and |abbrv.bst|. It also works straightforwardly for
+many other style files -- since many of these are derived from, or at
+least closely inspired by, the standard ones -- but it does not
+pretend that it can do so for all of them. In some cases, such as the
+style files for the \package{refer} or \package{koma-script} packages,
+the style files are not intended to be used for formatting; others are
+sufficiently different from the standard files that a meaningful edit
+becomes impossible. For the large remainder, however, the result of
+this script should need only relatively minor edits before being
+perfectly usable.
+
+\section{New \texttt{.bib} entry and field types}
+
+The new entry type \btfield{webpage} has required fields
+\btfield{title} and \btfield{url}, and optional fields
+\btfield{author}, \btfield{editor}, \btfield{note}, \btfield{year},
+\btfield{month} and \btfield{lastchecked}. The \btfield{url} and
+\btfield{lastchecked} fields are new, and are
+valid in other entry types as well: the first, obviously, is the URL
+which is being cited, or which is being quoted as an auxiliary source
+for an article perhaps; the second is the date when you last checked
+that the URL was there, in the state you quoted it; this is necessary
+since some people, heedless of the archival importance of preserving
+the validity of URLs, indulge in the vicious practice of reorganising
+web pages and destroying links. For the case of the \btfield{webpage} entry
+type, the \btfield{editor} field should be used for the `maintainer'
+of a web page.
+
+For example, in Figure~\ref{f:ex} we illustrate two potential |.bib|
+file entries. The \texttt{@webpage} entry type is the new type
+provided by this package, and provides reference information for a
+webpage; it includes the new \texttt{url} and \texttt{lastchecked}
+fields. There is also an example of the standard \texttt{@book} entry
+type, which now includes the \texttt{url} and \texttt{lastchecked}
+fields as well. The difference between the two references is that in
+the \texttt{@book} case it is the book being cited, so that the
+\texttt{url} provides extra information; in the \texttt{@webpage} case
+it is the page itself which is of interest. You use the new |eprint|,
+|doi| and |pubmed| fields similarly, if the bibliographic item in
+question has an e-print, DOI or PubMed reference.
+\begin{figure}
+\begin{verbatim}
+@Webpage{apastyle,
+ url = {http://www.apastyle.org/elecref.html},
+ author = {{American Psychological Association}},
+ title = {Electronic References},
+ year = 2001,
+ lastchecked = {23 October 2002},
+ note = {Excerpted from 5th edition of the APA Publication Manual}
+}
+
+@Book{schutz,
+ author = {Bernard Schutz},
+ title = {Gravity from the GroundUp},
+ publisher = {Cambridge University Press},
+ year = {2003},
+ url = {http://www.gravityfromthegroundup.org/},
+ lastchecked = {2008 June 16}
+}
+\end{verbatim}
+\caption{\label{f:ex}The new \texttt{@webpage} entry type, and the \texttt{url}
+ field in action}
+\end{figure}
+
+How do you use this in a document? To use the the
+\texttt{alphaurl.bst} style -- which is a pre-converted version of the
+standard \texttt{alpha.bst} style, included in the \texttt{urlbst}
+distribution -- you simply make sure that \texttt{alphaurl.bst} is in
+your BibTeX search path (use the command \texttt{kpsepath bst} to find
+this path and \texttt{kpsewhich alphaurl.bst} to confirm that BibTeX
+can find it) and add |\bibliographystyle{alphaurl}| to your \LaTeX\ document.
+
+\section{Sources}
+
+There are various sources which suggest how to format references to
+web pages. I have followed none specifically, but fortunately they do
+not appear to materially disagree.
+
+ISO-690~\cite{url:iso690} is a formal standard for this stuff. Walker
+and Taylor's \emph{Columbia Guide to Online Style}~\cite{walker}
+provides extensive coverage (but is only available on dead trees).
+Emory University's
+\emph{Citation Formats}~\cite{emory95} is a compendium of links rather
+than a guide itself. The APA has a couple of style guides, a proposed
+one~\cite{url:weapas} and a style included in the published APA style
+guide~\cite{apastyle} (I'm not sure of the relationship between these
+last two).
+
+\section{Hints}
+
+If you use Emacs' \BibTeX\ mode, you can insert the following in your
+|.emacs| file to add knowledge of the new \btfield{webpage} entry:
+\begin{verbatim}
+(defun my-bibtex-hook ()
+ (setq bibtex-mode-user-optional-fields '("location" "issn")) ; e.g.
+ (setq bibtex-entry-field-alist
+ (cons
+ '("Webpage"
+ ((("url" "The URL of the page")
+ ("title" "The title of the resource"))
+ (("author" "The author of the webpage")
+ ("editor" "The editor/maintainer of the webpage")
+ ("year" "Year of publication of the page")
+ ("month" "Month of publication of the page")
+ ("lastchecked" "Date when you last verified the page was there")
+ ("note" "Remarks to be put at the end of the entry"))))
+ bibtex-entry-field-alist)))
+(add-hook 'bibtex-mode-hook 'my-bibtex-hook)
+\end{verbatim}
+After that, you can add a \btfield{webpage} entry by typing |C-c C-b webpage|
+(or |M-x bibtex-entry|).
+
+It is a \emph{very} good idea to use the \package{url} package: it deals with
+the problem of line-breaking long URLs, and with the problem that
+\BibTeX{} creates, of occasionally inserting \%-signs into URLs in
+generated bibliographies.
+
+See also the URL entry in the UK \TeX\ FAQ~\cite{texfaq}, and
+references therein.
+
+\textbf{Acknowledgements:} Thanks to Jason Eisner for suggesting
+the |--inlinelinks| option, to Pawe\l{} Widera for the
+suggestion to use |\path| when formatting DOIs and to Michael Giffin
+for the suggestion to include PubMed URLs.
+
+\bibliography{urlbst}
+\bibliographystyle{plainurl}
+
+\end{document}
diff --git a/Master/texmf-dist/source/latex/urlbst/Makefile.in b/Master/texmf-dist/source/latex/urlbst/Makefile.in
new file mode 100644
index 00000000000..7add0fe04a2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/urlbst/Makefile.in
@@ -0,0 +1,150 @@
+# BSTSTYLES are the standard styles that we distribute
+BSTSTYLES=plainurl.bst unsrturl.bst alphaurl.bst abbrvurl.bst
+# TESTSTYLES are a couple of extra ones that we explicitly test
+TESTSTYLES=mlaurl.bst
+
+MAINTAINER_FILES= Makefile configure
+GENERATED=urlbst urlbst.tex urlbst.pdf urlbst.html \
+ README VERSION $(BSTSTYLES)
+# distribute generated files
+# ...plus the configure files
+# ...plus the configured files
+DISTRIBS=$(GENERATED) \
+ configure configure.ac \
+ urlbst.in urlbst.bib urlbst.tex.in urlbst.html.in Makefile.in
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+bindir=@bindir@
+DIST=urlbst-@PACKAGE_VERSION@
+
+### Implicit rules
+
+# Don't include --inlinelinks when generating %url.bst here, as we
+# do want the links visible when generating the documentation, and it's
+# probably abetter default in any case.
+%url.bst: urlbst
+ export BSTINPUTS=test: ; \
+ if test -z "`kpsewhich ${@:url.bst=.bst}`"; then \
+ echo "Can't locate ${@:url.bst=.bst}"; \
+ else \
+ ./urlbst --eprint --doi --pubmed --hyperref `kpsewhich ${@:url.bst=.bst}` $@; \
+ fi
+
+# Incomplete TeX support
+%.ps: %.dvi
+ dvips -o $@ $<
+%.bbl: %.tex plainurl.bst
+ pdflatex $<
+ if grep -q 'Citation.*undefined' ${<:.tex=.log}; then \
+ bibtex ${<:.tex=}; \
+ pdflatex $<; \
+ rm ${<:.tex=.pdf}; \
+ fi
+%.pdf: %.tex %.bbl
+ pdflatex $<
+%.dvi: %.tex %.bbl
+ latex $<
+%.gz: %
+ gzip --best -f $<
+
+
+
+### Targets start here
+
+all: urlbst
+
+dist: $(DIST).tar.gz
+
+$(DIST).tar: $(DISTRIBS)
+ sed '1s,.*,#! /usr/bin/env perl,' urlbst >tmp && mv tmp urlbst \
+ && chmod +x urlbst
+ rm -Rf $(DIST) $(DIST).tar
+ mkdir $(DIST)
+ cp $(DISTRIBS) $(DIST)
+ tar cf $@ $(DIST)
+ rm -Rf $(DIST)
+
+urlbst: urlbst.in config.status
+ ./config.status urlbst
+
+urlbst.tex: urlbst.tex.in config.status
+ ./config.status urlbst.tex
+
+urlbst.html: urlbst.html.in config.status
+ ./config.status urlbst.html
+
+Makefile: Makefile.in config.status
+ ./config.status Makefile
+
+configure: configure.ac
+ autoconf
+
+config.status: configure
+ ./configure
+
+# Version stamp file, included in the distribution for convenience,
+# so it's easy to see which version it is has been unpacked at CTAN.
+VERSION:
+ echo $(DIST) >VERSION
+
+# The README is just a plain-text version of urlbst.html
+README: urlbst.html
+ lynx -dump -nolist urlbst.html >README
+
+# Very simple install target -- hardly worth bothering, really....
+install: urlbst
+ cp urlbst $(bindir)
+
+# Very simple test target -- just check that we don't bomb converting
+# the standard styles
+test: $(BSTSTYLES) $(TESTSTYLES)
+ for f in $(BSTSTYLES) $(TESTSTYLES); do \
+ ROOT=`echo $$f|sed s/\.bst$$//`; \
+ printf '\\relax\n' > test-$$ROOT.aux; \
+ printf '\\citation{*}\n' >> test-$$ROOT.aux; \
+ printf '\\bibdata{urlbst}\n' >> test-$$ROOT.aux; \
+ printf '\\bibstyle{'"$$ROOT"'}\n' >> test-$$ROOT.aux; \
+ bibtex test-$$ROOT; \
+ done
+
+# Brute-force test target, which finds all the system .bst files,
+# converts them, and runs BibTeX on them. It doesn't test the results
+# in any way -- you have to do that by eye.
+#
+# No, this is a hopelessly blunderbus approach. And in any case the
+# 'locate *.bst' doesn't work. At least the following would find only things
+# on the .bst search path.
+# BSTPATH=`kpsepath bst`
+# for d in `IFS=:; echo $BSTPATH`; do
+# dd=`expr "$d" : '!*\(.*[^/]\)/*$'`
+# echo dd=$dd
+# test -d "$dd" && find $dd -name \*.bst
+# done
+test-all:
+ printf '\\relax\n'>test-all.mainaux
+ sed -n 's/^.*{\(test:.*\),/\\citation{\1}/p' urlbst.bib>>test-all.mainaux
+ for f in `locate '*.bst' | grep -v norman`; do T=`echo $$f|sed 's+.*/\(.*\)\.bst+\1url+'`;perl urlbst $$f $$T.bst; if test $$? = 0; then TF=test-$$T.aux; cp test-all.mainaux $$TF;printf '\\bibdata{urlbst}\n'>>$$TF; printf '\\bibstyle{$$T}\n'>>$$TF; else rm $$T.bst; fi done
+ for f in `ls test-*.aux|sed s+.aux++`;do bibtex $$f;done
+ rm test-all.mainaux
+
+# Tarball for unpacking in the webpage distribution directory
+webpage-tarball.tar: urlbst.pdf urlbst.html $(DIST).tar.gz
+ mkdir webpage-tarball
+ cp urlbst.pdf $(DIST).tar.gz webpage-tarball
+ cp urlbst.html webpage-tarball/index.html
+ cd webpage-tarball; tar cf ../webpage-tarball.tar *
+ rm -Rf webpage-tarball
+
+tidy:
+ rm -f webpage-tarball.tar
+ rm -f *~ test-*
+ rm -f *.aux *.bbl *.log *.blg *.dvi *.pdf
+
+clean: tidy
+ rm -f *.bst
+ rm -Rf config.status autom4te.cache
+ rm -f $(GENERATED)
+
+maintainer-clean: clean
+ rm -f $(MAINTAINER_FILES)
diff --git a/Master/texmf-dist/source/latex/urlbst/VERSION b/Master/texmf-dist/source/latex/urlbst/VERSION
deleted file mode 100644
index 49d59571fbf..00000000000
--- a/Master/texmf-dist/source/latex/urlbst/VERSION
+++ /dev/null
@@ -1 +0,0 @@
-0.1
diff --git a/Master/texmf-dist/source/latex/urlbst/configure b/Master/texmf-dist/source/latex/urlbst/configure
new file mode 100755
index 00000000000..7543f55f02b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/urlbst/configure
@@ -0,0 +1,2779 @@
+#! /bin/sh
+# From configure.ac Revision: 1.16 .
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.61 for urlbst 0.6-1.
+#
+# Report bugs to <norman@astro.gla.ac.uk>.
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+if test "x$CONFIG_SHELL" = x; then
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=\$LINENO
+ as_lineno_2=\$LINENO
+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ case $as_dir in
+ /*)
+ for as_base in sh bash ksh sh5; do
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ done;;
+ esac
+done
+IFS=$as_save_IFS
+
+
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the
+ echo shells that I found on your system. Please install a
+ echo modern shell, or manually run the script under such a
+ echo shell if you do have one.
+ { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+ echo No shell found that supports shell functions.
+ echo Please tell autoconf@gnu.org about your system,
+ echo including any error possibly output before this
+ echo message
+}
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+exec 7<&0 </dev/null 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identity of this package.
+PACKAGE_NAME='urlbst'
+PACKAGE_TARNAME='urlbst'
+PACKAGE_VERSION='0.6-1'
+PACKAGE_STRING='urlbst 0.6-1'
+PACKAGE_BUGREPORT='norman@astro.gla.ac.uk'
+
+ac_unique_file="urlbst.in"
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+RELEASEDATE
+PERL
+WITHEPRINTS
+EPRINTURL
+WITHDOIRESOLVER
+DOIURL
+WITHPUBMEDRESOLVER
+PUBMEDURL
+WITHHREF
+LIBOBJS
+LTLIBOBJS'
+ac_subst_files=''
+ ac_precious_vars='build_alias
+host_alias
+target_alias'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute directory names.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; }
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ { echo "$as_me: error: Working directory cannot be determined" >&2
+ { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ { echo "$as_me: error: pwd does not report name of working directory" >&2
+ { (exit 1); exit 1; }; }
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$0" ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$0" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+ { (exit 1); exit 1; }; }
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures urlbst 0.6-1 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/urlbst]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of urlbst 0.6-1:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-eprints[=url] Include eprint support by default, giving optional URL
+ --with-doi=[=url] Include support for a DOI resolver by default, giving optional URL
+ --with-pubmed=[=url] Include support for a PUBMED resolver by default, giving optional URL
+ --with-href[=int] Include eprint hyperlinks (0/1/2=none/hypertex/hyperref)
+
+Report bugs to <norman@astro.gla.ac.uk>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" || continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+urlbst configure 0.6-1
+generated by GNU Autoconf 2.61
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by urlbst $as_me 0.6-1, which was
+generated by GNU Autoconf 2.61. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ echo "PATH: $as_dir"
+done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args '$ac_arg'"
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -n "$CONFIG_SITE"; then
+ set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+ set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+ set x "$ac_default_prefix/share/config.site" \
+ "$ac_default_prefix/etc/config.site"
+fi
+shift
+for ac_site_file
+do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+RELEASEDATE="2008 June 16"
+
+
+
+
+
+
+# Extract the first word of "perl", so it can be a program name with args.
+set dummy perl; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_PERL+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ case $PERL in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PERL=$ac_cv_path_PERL
+if test -n "$PERL"; then
+ { echo "$as_me:$LINENO: result: $PERL" >&5
+echo "${ECHO_T}$PERL" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+
+
+WITHEPRINTS=0
+
+EPRINTURL=http://arxiv.org/abs/
+
+
+WITHDOIRESOLVER=0
+
+DOIURL=http://dx.doi.org/
+
+
+WITHPUBMEDRESOLVER=0
+
+PUBMEDURL=http://www.ncbi.nlm.nih.gov/pubmed/
+
+
+
+# Check whether --with-eprints was given.
+if test "${with_eprints+set}" = set; then
+ withval=$with_eprints; if test "$withval" = "yes"; then
+ WITHEPRINTS=1
+ elif test "$withval" = "no"; then
+ WITHEPRINTS=0
+ else
+ WITHEPRINTS=1
+ EPRINTURL=$withval
+ fi
+fi
+
+
+
+# Check whether --with-doi was given.
+if test "${with_doi+set}" = set; then
+ withval=$with_doi; if test "$withval" = yes; then
+ WITHDOIRESOLVER=1
+ elif test "$withval" = no; then
+ WITHDOIRESOLVER=0
+ else
+ WITHDOIRESOLVER=1
+ DOIURL=$withval
+ fi
+fi
+
+
+
+# Check whether --with-pubmed was given.
+if test "${with_pubmed+set}" = set; then
+ withval=$with_pubmed; if test "$withval" = yes; then
+ WITHPUBMEDRESOLVER=1
+ elif test "$withval" = no; then
+ WITHPUBMEDRESOLVER=0
+ else
+ WITHPUBMEDRESOLVER=1
+ PUBMEDURL=$withval
+ fi
+fi
+
+
+
+WITHHREF=0
+
+
+
+# Check whether --with-href was given.
+if test "${with_href+set}" = set; then
+ withval=$with_href; if test "$withval" = yes; then
+ WITHHREF=2
+ elif test "$withval" = no; then
+ WITHHREF=0
+ else
+ WITHHREF=$withval
+ fi
+fi
+
+
+
+ac_config_files="$ac_config_files Makefile urlbst.tex urlbst.html"
+
+ac_config_files="$ac_config_files urlbst"
+
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ test "x$cache_file" != "x/dev/null" &&
+ { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
+ cat confcache >$cache_file
+ else
+ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then branch to the quote section. Otherwise,
+# look for a macro that doesn't take arguments.
+ac_script='
+t clear
+:clear
+s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+b any
+:quote
+s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+ g
+ s/^\n//
+ s/\n/ /g
+ p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by urlbst $as_me 0.6-1, which was
+generated by GNU Autoconf 2.61. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+# Files that config.status was made for.
+config_files="$ac_config_files"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf@gnu.org>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+urlbst config.status 0.6-1
+configured by $0, generated by GNU Autoconf 2.61,
+ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2006 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ echo "$ac_cs_version"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ ac_need_defaults=false;;
+ --he | --h | --help | --hel | -h )
+ echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ CONFIG_SHELL=$SHELL
+ export CONFIG_SHELL
+ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "urlbst.tex") CONFIG_FILES="$CONFIG_FILES urlbst.tex" ;;
+ "urlbst.html") CONFIG_FILES="$CONFIG_FILES urlbst.html" ;;
+ "urlbst") CONFIG_FILES="$CONFIG_FILES urlbst" ;;
+
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} ||
+{
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+#
+# Set up the sed scripts for CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "$CONFIG_FILES"; then
+
+_ACEOF
+
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+RELEASEDATE!$RELEASEDATE$ac_delim
+PERL!$PERL$ac_delim
+WITHEPRINTS!$WITHEPRINTS$ac_delim
+EPRINTURL!$EPRINTURL$ac_delim
+WITHDOIRESOLVER!$WITHDOIRESOLVER$ac_delim
+DOIURL!$DOIURL$ac_delim
+WITHPUBMEDRESOLVER!$WITHPUBMEDRESOLVER$ac_delim
+PUBMEDURL!$PUBMEDURL$ac_delim
+WITHHREF!$WITHHREF$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 48; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
+_ACEOF
+
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in :F $CONFIG_FILES
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+ { (exit 1); exit 1; }; };;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+ ac_file_inputs="$ac_file_inputs $ac_f"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input="Generated from "`IFS=:
+ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ fi
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin";;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir="$ac_dir"
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+case `sed -n '/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&2;}
+
+ rm -f "$tmp/stdin"
+ case $ac_file in
+ -) cat "$tmp/out"; rm -f "$tmp/out";;
+ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
+ esac
+ ;;
+
+
+
+ esac
+
+
+ case $ac_file$ac_mode in
+ "urlbst":F) chmod +x urlbst ;;
+
+ esac
+done # for ac_tag
+
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
diff --git a/Master/texmf-dist/source/latex/urlbst/configure.ac b/Master/texmf-dist/source/latex/urlbst/configure.ac
new file mode 100644
index 00000000000..cd41ab186c1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/urlbst/configure.ac
@@ -0,0 +1,86 @@
+dnl Process this file with autoconf to produce a configure script
+AC_REVISION($Revision: 1.16 $)
+
+AC_INIT(urlbst, 0.6-1, norman@astro.gla.ac.uk)
+RELEASEDATE="2008 June 16"
+AC_SUBST(RELEASEDATE)
+
+AC_PREREQ(2.50)
+
+AC_CONFIG_SRCDIR([urlbst.in])
+
+AC_PATH_PROG(PERL, perl)
+
+
+dnl Add --with-eprints: tune default support for eprints
+WITHEPRINTS=0
+AC_SUBST(WITHEPRINTS)
+EPRINTURL=http://arxiv.org/abs/
+AC_SUBST(EPRINTURL)
+
+dnl Add --with-doi: tune default support for DOI fields
+WITHDOIRESOLVER=0
+AC_SUBST(WITHDOIRESOLVER)
+DOIURL=http://dx.doi.org/
+AC_SUBST(DOIURL)
+
+dnl Add --with-pubmed
+WITHPUBMEDRESOLVER=0
+AC_SUBST(WITHPUBMEDRESOLVER)
+PUBMEDURL=http://www.ncbi.nlm.nih.gov/pubmed/
+AC_SUBST(PUBMEDURL)
+
+AC_ARG_WITH(eprints,
+[ --with-eprints[[=url]] Include eprint support by default, giving optional URL],
+ if test "$withval" = "yes"; then
+ WITHEPRINTS=1
+ elif test "$withval" = "no"; then
+ WITHEPRINTS=0
+ else
+ WITHEPRINTS=1
+ EPRINTURL=$withval
+ fi)
+
+AC_ARG_WITH(doi,
+[ --with-doi=[[=url]] Include support for a DOI resolver by default, giving optional URL],
+ if test "$withval" = yes; then
+ WITHDOIRESOLVER=1
+ elif test "$withval" = no; then
+ WITHDOIRESOLVER=0
+ else
+ WITHDOIRESOLVER=1
+ DOIURL=$withval
+ fi)
+
+AC_ARG_WITH(pubmed,
+[ --with-pubmed=[[=url]] Include support for a PUBMED resolver by default, giving optional URL],
+ if test "$withval" = yes; then
+ WITHPUBMEDRESOLVER=1
+ elif test "$withval" = no; then
+ WITHPUBMEDRESOLVER=0
+ else
+ WITHPUBMEDRESOLVER=1
+ PUBMEDURL=$withval
+ fi)
+
+
+dnl Add --with-href: set default support for hyperlinks
+dnl Default is to have no hyperlinks
+WITHHREF=0
+AC_SUBST(WITHHREF)
+
+AC_ARG_WITH(href,
+[ --with-href[[=int]] Include eprint hyperlinks (0/1/2=none/hypertex/hyperref)],
+ if test "$withval" = yes; then
+ WITHHREF=2
+ elif test "$withval" = no; then
+ WITHHREF=0
+ else
+ WITHHREF=$withval
+ fi)
+
+
+AC_CONFIG_FILES(Makefile urlbst.tex urlbst.html)
+AC_CONFIG_FILES(urlbst, [chmod +x urlbst])
+
+AC_OUTPUT
diff --git a/Master/texmf-dist/source/latex/urlbst/urlbst.pl b/Master/texmf-dist/source/latex/urlbst/urlbst.pl
deleted file mode 100644
index 1b8de3456ea..00000000000
--- a/Master/texmf-dist/source/latex/urlbst/urlbst.pl
+++ /dev/null
@@ -1,405 +0,0 @@
-#! /usr/bin/perl -w
-#
-# Usage: ./urlbst.pl [input-file [output-file]]
-#
-# If either input-file or output-file is omitted, they are replaced by
-# stdin or stdout respectively.
-#
-# $Id: urlbst.pl,v 1.3 2002/04/22 15:49:06 norman Exp $
-
-$version = '0.1'; # %%VERSION%%
-($progname = $0) =~ s/.*\///;
-$mymarker = "% $progname";
-
-$infile = ($#ARGV >= 0 ? $ARGV[0] : '-');
-$outfile = ($#ARGV >= 1 ? $ARGV[1] : '-');
-
-$exitstatus = 0; # success status
-
-open (IN, "<$infile") || die "Can't open $infile to read";
-open (OUT, ">$outfile") || die "Can't open $outfile to write";
-
-# We have to make certain assumptions about the source files, in order
-# to patch them at the correct places. Specifically, we assume that
-#
-# - there's a function init.state.consts
-#
-# - ...and an output.nonnull which does the actual outputting, which
-# has the `usual' interface.
-#
-# - we can replace
-# note output
-# by
-# output.url % the function which formats and displays any URL
-# new.block
-# note output
-#
-# - there is a function which handles the `article' entry type (this
-# will always be true)
-#
-# - there is a function output.bibitem which is called at the
-# beginning of each entry type
-# - ...and one called fin.entry which is called at the end
-#
-# If the functions format.date, format.title or new.block are not defined (the
-# former is not in apalike, for example, and the last is not in the
-# AMS styles), then replacements areincluded in the output.
-#
-# All these assumptions are true of the standard files and, since most
-# style files derive from them more or less directly, are true of most (?)
-# other style files, too.
-#
-# There's some rather ugly Perl down here. The parsing for
-# brace-matching could probably do with being rewritten in places, to
-# make it less ugly, and more robust.
-
-print OUT "%%% Modification of BibTeX style file ", ($infile eq '-' ? '<stdin>' : $infile), "\n";
-print OUT "%%% to add webpage entry type, and url and lastchecked fields\n%%% Edits by $progname, version $version\n%%% (marked with $mymarker)\n";
-print OUT "%%% Original headers follow...\n";
-
-$found{initconsts} = 0;
-$found{outputnonnull} = 0;
-$found{article} = 0;
-$found{outputbibitem} = 0;
-$found{finentry} = 0;
-$found{formatdate} = 0;
-$found{formattitle} = 0;
-$found{newblock} = 0;
-
-while (<IN>) {
- /^ *ENTRY/ && do {
- # Work through the list of entry types, finding what ones are there.
- # If we find a URL entry there already, object, since these edit
- # will mess things up.
- $line = $_;
- until ($line =~ /\{\s*(\w*)/) {
- $line .= <IN>;
- }
- $bracematchtotal = 0; # reset
- bracematcher($line);
- $line =~ /\{\s*(\w*)/;
- $found{'entry'.$1} = 1;
- print OUT $line;
- $line = <IN>;
- until (bracematcher($line) == 0) {
- # XXX deal with multiple entries on one line
- ($line =~ /^\s*(\w*)/) && ($found{'entry'.$1} = 1);
- print OUT $line;
- $line = <IN>;
- }
- if (defined($found{entryurl})) {
- print STDERR "$progname: style file $infile already has URL entry!\n";
- # print out the rest of the file, and give up
- while (<IN>) {
- print OUT;
- }
- $exitstatus = 1;
- last;
- } else {
- print OUT " url $mymarker\n lastchecked\n";
- }
- print OUT $line;
- next;
- };
-
- /^ *FUNCTION *\{init\.state\.consts\}/ && do {
- print OUT "INTEGERS { bracket.state outside.brackets open.brackets within.brackets close.brackets } $mymarker\n";
- $line = $_;
- until ($line =~ /\{.*\}.*\{/s) {
- $line .= <IN>;
- }
- $line =~ s/(\{.*?\}.*?\{)/$1 #0 'outside.brackets := $mymarker
- #1 'open.brackets :=
- #2 'within.brackets :=
- #3 'close.brackets :=
-
- /s;
- print OUT $line;
- $found{initconsts} = 1;
- next;
- };
-
- /^ *FUNCTION *{output\.nonnull}/ && do {
- print OUT "$mymarker\n";
- print OUT "FUNCTION {output.nonnull.original}\n";
- $bracematchtotal = 0;
- while (defined ($line = <IN>) && bracematcher($line) > 0) {
- print OUT $line;
- }
- print OUT "$line\n"; # print out terminating \} (assumed
- # alone on the line)
- print_output_functions();
- $found{outputnonnull} = 1;
- next;
- };
-
- /note *output/ && do {
- print OUT " output.url $mymarker\n new.block\n";
- print OUT;
- next;
- };
-
- /^ *FUNCTION *{format\.date}/ && do {
- $found{formatdate} = 1;
- print OUT;
- next;
- };
-
- /^ *FUNCTION *{format\.title}/ && do {
- $found{formattitle} = 1;
- print OUT;
- next;
- };
-
- /^ *FUNCTION *{new.block}/ && do {
- $found{newblock} = 1;
- print OUT;
- next;
- };
-
- /^ *FUNCTION *\{article\}/ && do {
-
- print_missing_functions();
- print_webpage_def();
-
- print OUT;
- $found{article} = 1;
- next;
- };
-
- /FUNCTION *\{output.bibitem\}/ && do {
- $line = $_;
- until ($line =~ /\{.*\}.*\{/s) {
- $line .= <IN>;
- }
- $line =~ s/(\{.*?\}.*?\{)/$1 outside.brackets 'bracket.state := $mymarker
- /s;
- print OUT $line;
- $found{outputbibitem} = 1;
- next;
- };
-
- /FUNCTION *\{fin\.entry\}/ && do {
- $line = $_;
- until ($line =~ /\{.*\}.*\{/s) {
- $line .= <IN>;
- }
- $line =~ s/(\{.*?\}.*?\{)/$1
- bracket.state close.brackets = $mymarker
- \{ "]" * \}
- 'skip\$
- if\$
- /s;
- print OUT $line;
- $found{finentry} = 1;
- next;
- };
-
- print OUT;
-}
-
-foreach $k (keys %found) {
- if ($found{$k} == 0) {
- print STDERR "$progname: $infile: failed to find feature $k\n";
- }
-}
-
-close (IN);
-close (OUT);
-
-exit $exitstatus;;
-
-
-
-
-
-
-sub print_output_functions {
- print OUT "$mymarker...\n";
- print OUT <<'EOD';
-FUNCTION {output.nonnull}
-{ % Save the thing we've been asked to output
- 's :=
- % If the bracket-state is close.brackets, then add a close-bracket to what's
- % currently at the top of the stack, and set bracket.state to outside.brackets
- bracket.state close.brackets =
- { "]" *
- outside.brackets 'bracket.state :=
- }
- 'skip$
- if$
- bracket.state outside.brackets =
- { % We're outside all brackets -- this is the normal situation.
- % Write out what's currently at the top of the stack, using the
- % original output.nonnull function.
- s
- output.nonnull.original
- }
- { % Still in brackets. Add open-bracket or (continuation) comma, add the
- % new text (in s) to the top of the stack, and move to the close-brackets
- % state, ready for next time (unless inbrackets resets it). If we come
- % into this branch, then output.state is carefully undisturbed.
- bracket.state open.brackets =
- { " [" * }
- { ", " * } % bracket.state will be within.brackets
- if$
- s *
- close.brackets 'bracket.state :=
- }
- if$
-}
-
-% Call this function just before adding something which should be presented in
-% brackets. bracket.state is handled specially within output.nonnull.
-FUNCTION {inbrackets}
-{ bracket.state close.brackets =
- { within.brackets 'bracket.state := } % reset the state: not open nor closed
- { open.brackets 'bracket.state := }
- if$
-}
-
-FUNCTION {format.url}
-{ url empty$
- { "" }
- { "Available from World Wide Web: \url{" url * "}" * }
- if$
-}
-
-FUNCTION {format.lastchecked}
-{ lastchecked empty$
- { "" }
- { inbrackets "cited " lastchecked * }
- if$
-}
-EOD
- print OUT "% ...$mymarker\n";
-}
-
-sub print_webpage_def {
- print OUT "$mymarker...\n";
- print OUT <<'EOD';
-% Output a URL. We can't use the more normal idiom (something like
-% `format.url output'), because the `inbrackets' within
-% format.lastchecked applies to everything between calls to `output',
-% so that `format.url format.lastchecked * output' ends up with both
-% the URL and the lastchecked in brackets.
-FUNCTION {output.url}
-{ url empty$
- 'skip$
- { new.block
- format.url output
- format.lastchecked output
- }
- if$
-}
-
-% Webpage entry type.
-% Title and url fields required;
-% author, note, year, month, and lastchecked fields optional
-% See references
-% ISO 690-2 http://www.nlc-bnc.ca/iso/tc46sc9/standard/690-2e.htm
-% http://www.classroom.net/classroom/CitingNetResources.html
-% http://neal.ctstateu.edu/history/cite.html
-% http://www.cas.usf.edu/english/walker/mla.html
-% for citation formats for web pages.
-FUNCTION {webpage}
-{ output.bibitem
- author empty$
- 'skip$
- { format.authors output.nonnull }
- if$
- new.block
- format.title "title" output.check
- inbrackets "online" output
- new.block
- year empty$
- 'skip$
- { format.date "year" output.check }
- if$
- lastchecked empty$
- 'skip$
- { format.lastchecked output }
- if$
- new.block
- format.url "url" output.check
- new.block
- note output
- fin.entry
-}
-EOD
- print OUT "% ...$mymarker\n\n\n";
-}
-
-
-sub print_missing_functions {
- # We've got to the bit of the file which handles the entry
- # types, so write out the webpage entry handler. This uses
- # the format.date function, which which many but not all
- # bst files have (for example, apalike doesn't). So
- # check that we either have found this function already, or
- # add it.
- if (! $found{formatdate}) {
- if ($found{entrymonth}) {
- print OUT <<'EOD';
-FUNCTION {format.date}
-{ year empty$
- { month empty$
- { "" }
- { "there's a month but no year in " cite$ * warning$
- month
- }
- if$
- }
- { month empty$
- 'year
- { month " " * year * }
- if$
- }
- if$
-}
-EOD
- } else {
- print OUT <<'EOD';
-FUNCTION {format.date}
-{ year empty$
- 'skip$
- { %write$
- "(" year * ")" *
- }
- if$
-}
-EOD
- }
- $found{formatdate} = 1;
- }
-
- if (! $found{formattitle}) {
- print OUT <<'EOD';
-FUNCTION {format.title}
-{ title empty$
- { "" }
- { title "t" change.case$ }
- if$
-}
-EOD
- }
-
- # The same, for the new.block function
- if (! $found{newblock}) {
- # No new.block function defined. Odd (AMS). So define dummy
- print OUT 'FUNCTION {new.block} { skip$ }'."\n";
- $found{newblock} = 1;
- }
-}
-
-# Keep track of open and close braces in the string argument.
-# Keep state in $matchtotal, return the current value.
-sub bracematcher {
- my $s = shift;
- $s =~ s/[^\{\}]//g;
- #print "s=$s\n";
- foreach my $c (split (//, $s)) {
- $bracematchtotal += ($c eq '{' ? 1 : -1);
- }
- return $bracematchtotal;
-}
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index a1dc63941c4..39b49e1776c 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -195,7 +195,7 @@ my @WorkingTLP = qw(
typedref typogrid
uebungsblatt ucthesis uhrzeit uiucthesis ulsy umich-thesis uml umlaute
umthesis umtypewriter underlin undertilde units unitsdef unroman
- upmethodology upquote ushort uwthesis
+ upmethodology upquote urlbst ushort uwthesis
vancouver variations varindex varsfromjobname
vector velthuis venn verse versions vertex
vhistory visualfaq vmargin vntex volumes vpe vxu