texlive[48538] Master/texmf-dist: uri (1sep18)

commits+karl at tug.org commits+karl at tug.org
Sun Sep 2 00:17:45 CEST 2018


Revision: 48538
          http://tug.org/svn/texlive?view=revision&revision=48538
Author:   karl
Date:     2018-09-02 00:17:45 +0200 (Sun, 02 Sep 2018)
Log Message:
-----------
uri (1sep18)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/uri/README
    trunk/Master/texmf-dist/doc/latex/uri/uri-example.pdf
    trunk/Master/texmf-dist/doc/latex/uri/uri-example.tex
    trunk/Master/texmf-dist/doc/latex/uri/uri.pdf
    trunk/Master/texmf-dist/source/latex/uri/uri.drv
    trunk/Master/texmf-dist/source/latex/uri/uri.dtx
    trunk/Master/texmf-dist/source/latex/uri/uri.ins
    trunk/Master/texmf-dist/tex/latex/uri/uri.sty

Removed Paths:
-------------
    trunk/Master/texmf-dist/source/latex/uri/ltxdoc.cfg

Modified: trunk/Master/texmf-dist/doc/latex/uri/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/uri/README	2018-09-01 22:17:26 UTC (rev 48537)
+++ trunk/Master/texmf-dist/doc/latex/uri/README	2018-09-01 22:17:45 UTC (rev 48538)
@@ -1,4 +1,4 @@
-README for uri package, 2011/03/04, v1.0a
+README for uri package, 2018/09/01, v2.0a
 
 
 TABLE OF CONTENTS
@@ -8,21 +8,19 @@
 2 Download
 3 Installation
 4 Additional Packages
-5 New Features
-6 Package Compatibility
-7 Authors/Maintainers
-8 Bug Reports
-9 Known Problems
+5 Package Compatibility
+6 Author/Maintainer
+7 Bug Reports
+8 Known Problems
 
 
 1 INTRODUCTION
 ==============
 
-This package allows to automatically hyperlink uris of type arXiv, ASIN,
-DOI, HDL, NBN, PubMed, OID, TINY, TINY with preview, and XMPP in
-such a way that they are resolved to an address understood by web browsers
-without native support or add-ons for such types of uri and provides com-
-mands citeurl, mailto, ukoeln, and uref.
+This package allows to automatically hyperlink uris of type
+arXiv, ASIN, DOI, HDL, NBN, OCLC, OID, PubMed, TINY, TINY with preview,
+and WebCite in such a way that they are resolved to an address understood
+by browsers and provides commands \citeurl, \mailto, \ukoeln, and \uref.
 
 Trademarks appear throughout this README without any trademark symbol;
 they are the property of their respective trademark owner.
@@ -29,36 +27,43 @@
 There is no intention of infringement; the usage is to the benefit of
 the trademark owner.
 
+This material is published under the LPPL 1.3c: This work may be
+distributed and/or modified under the conditions of the LaTeX Project
+Public License, either version 1.3c of this license or (at your option) any
+later version. This version of this license is in
+http://www.latex-project.org/lppl/lppl-1-3c.txt
+and the latest version of this license is in
+http://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX version
+2005/12/01 or later.
+
+
 2 DOWNLOAD
 ==========
 
 `uri' is available on CTAN:
-  CTAN:macros/latex/contrib/uri/
+https://www.ctan.org/pkg/uri
 
-Also a ZIP file is provided that contains the files, already
-sorted in a TDS tree:
-  CTAN:install/macros/latex/contrib/uri.tds.zip
+Also a ZIP file is provided that contains the files:
+the manual (uri.pdf), the example (uri-example.tex),
+the compiled example (uri-example.pdf),
+driver (uri.drv), uri.dtx,
+installation file (uri.ins), 
+the style file (uri.sty),
+and this README, already sorted in a TDS tree:
+http://mirror.ctan.org/install/macros/latex/contrib/uri.tds.zip
 
-`CTAN:' means one of the `Comprehensive TeX Archive Network'
-nodes or one of its mirrors. This is explained in
-  http://www.tex.ac.uk/cgi-bin/texfaq2html?label=archives
 
-The CTAN stuff will be mirrored automatically from the
-ftp server, so
-  ftp://ftp.tug.org/pub/tex/pagesLTS/
-corresponds to
-  CTAN:macros/latex/contrib/pagesLTS/
-
-
 3 INSTALLATION
 ==============
 
 Installation with ZIP file in TDS format
 ----------------------------------------
-The ZIP file `uri.tds.zip' contains the files sorted
-in a TDS tree. Thus you can directly unpack the ZIP file
-inside a TDS tree.
-(See CTAN:tds.zip for an explanation of TDS.)
+The ZIP file `uri.tds.zip' contains the files
+sorted in a TDS tree. Thus you can directly unpack the
+ZIP file inside a TDS tree.
+See https://www.ctan.org/TDS-guidelines for an explanation
+of TDS.
 Example:
   cd /...somewhere.../texmf
   unzip /...downloadpath.../uri.tds.zip
@@ -69,19 +74,30 @@
 
 Manual installation
 -------------------
-a) Download the uri files from CTAN or the TUG server.
+a) Download the uri files from CTAN.
    If necessary, unpack them.
 b) Generate the package and driver files:
      tex uri.ins
-c) Install the files `*.sty', and `*.cfg' in your TDS tree:
-     cp *.sty *.cfg TDS:tex/latex/uri/
+c) Install the file `uri.sty' in your TDS tree:
+     cp uri.sty TDS:tex/latex/uri/
    Replace `TDS:' by the prefix of your TDS tree
    (texmf directory).
-d) Copy the documentation files to
+d) Create the documentation, if necessary, e.g.
+     pdflatex uri.dtx
+     makeindex -s gind.ist uri.idx
+     pdflatex uri.dtx
+     makeindex -s gind.ist uri.idx
+     pdflatex uri.dtx
+e) Update the databases if necessary, e.g. for teTeX:
+     mktexlsr .../texmf
+f) Create the uri-example.pdf, if necessary, e.g.
+     pdflatex uri-example.tex
+     pdflatex uri-example.tex
+     pdflatex uri-example.tex
+g) Copy the documentation files to
    "TDS:doc/latex/uri/":
-   README, uri.pdf, uri-example.tex, uri-example.pdf.
-e) Update the databases if necessary, e. g. for teTeX:
-     mktexlsr .../texmf
+   README, uri.pdf, uri-example.tex,
+   uri-example.pdf.
 
 
 4 ADDITIONAL PACKAGES
@@ -90,11 +106,11 @@
 Depending on the driver and option settings, uri loads
 other packages:
 * kvoptions.sty:
-    CTAN:macros/latex/contrib/oberdiek/kvoptions.pdf
+    https://ctan.org/pkg/kvoptions
 * url.sty:
-    CTAN:macros/latex/contrib/url/url.dtx
+    https://ctan.org/pkg/url
 which again load other packages
-(see the result of the \listfiles comman in the log-file
+(see the result of the \listfiles command in the log-file
  of the example).
 
 
@@ -102,31 +118,34 @@
 =======================
 
 uri should be loaded
-AFTER package hyperref,if hyperlinks are wanted,
-and BEFORE package hyperref, if hyperlinks are not wanted.
+AFTER  package hyperref, if hyperlinks are wanted, and
+BEFORE package hyperref, if hyperlinks are not wanted.
 
+When any of the packages aurl, doi, doipubmed is used,
+there might be conflicts or results might depend on order of loading.
 
+
 6 AUTHOR/MAINTAINER
-=====================
+===================
 
-* Hans-Martin M\xFCnch
+H.-Martin Münch
 
 
 7 BUG REPORTS
-==============
+=============
 
 A bug report should contain:
 * Comprehensive problem description. This includes error or
   warning messages.
-  * \errorcontextlines=\maxdimen can be added in the
-    TeX code to get more informations in TeX error messages.
+* \errorcontextlines=\maxdimen can be added in the
+  TeX code to get more information in TeX error messages.
 * Minimal test file that shows the problem, but does not
   contain any unnecessary packages and code.
 * Used drivers/programs.
 * Version information about used packages and programs.
-  * If you are using LaTeX, then add "\listfiles". Then
-    a list of version informations is printed at the end
-    of the LaTeX run.
+* If you are using LaTeX, then add "\listfiles". Then
+  a list of version information is printed at the end
+  of the LaTeX run.
 * Please no other files than the minimal test file.
   The other files .log, .dvi, .ps, .pdf are seldom
   necessary, so send them only on request.
@@ -135,11 +154,12 @@
 Bug address
 -----------
 Bug reports can be send to the maintainer:
-  Hans-Martin M\xFCnch
+  H.-Martin Münch
   <Martin [dot] Muench [at] Uni-Bonn [dot] de>
 
 
 8 KNOWN PROBLEMS
-=================
+================
 
-* as yet: none...
\ No newline at end of file
+When any of the packages aurl, doi, doipubmed is used,
+there might be conflicts or results might depend on order of loading.
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/uri/uri-example.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/uri/uri-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/uri/uri-example.tex	2018-09-01 22:17:26 UTC (rev 48537)
+++ trunk/Master/texmf-dist/doc/latex/uri/uri-example.tex	2018-09-01 22:17:45 UTC (rev 48538)
@@ -8,10 +8,16 @@
 %% 
 %% This is a generated file.
 %% 
-%% IMPORTANT NOTICE:
-%% The package takes options.
+%% Project: uri
+%% Version: 2018/09/01 v2.0a
 %% 
-%% The usual disclaimers apply:
+%% Copyright (C) 2011 - 2018 by
+%%     H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
+%% Portions of code copyrighted by other people as marked.
+%% 
+%% IMPORTANT NOTICE: The package takes options.
+%% 
+%% The usual disclaimer applies:
 %% If it doesn't work right that's your problem.
 %% (Nevertheless, send an e-mail to the maintainer
 %%  when you find an error in this package.)
@@ -28,16 +34,21 @@
 %% 
 %% This work has the LPPL maintenance status "maintained".
 %% 
-%% The Current Maintainer of this work is H.-Martin Muench
-%% (Martin dot Muench at Uni-Bonn dot de).
+%% The Current Maintainer of this work is H.-Martin Muench.
 %% 
-%% This work consists of the main source file uri.dtx
-%% and the derived files
+%% This work consists of the main source file uri.dtx,
+%% the README, and the derived files
 %%    uri.sty, uri.pdf, uri.ins, uri.drv,
-%%    uri-example.tex.
+%%    uri-example.tex, uri-example.pdf.
 %% 
-\documentclass{article}
+%% In memoriam
+%%  Claudia Simone Barth + 1996/01/30
+%%  Tommy Muench + 2014/01/02
+%%  Hans-Klaus Muench + 2014/08/24
+%% 
+\documentclass[british]{article}[2014/09/29]% v1.4h
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\PassOptionsToPackage{hyphens}{url}% url is loaded internally by hyperref
 \usepackage{hyperref}[2011/02/07]% v6.82b
 \hypersetup{%
  extension=pdf,%
@@ -54,81 +65,157 @@
  pdfpagelayout=SinglePage,%
  bookmarksopen=false%
 }
-\usepackage{uri}[2011/03/04]% v1.0a
+\usepackage{uri}[2018/09/01]% v2.0a
+\RequirePackage{amsmath}
+\RequirePackage{relsize}
+\gdef\doialternative{%
+  \hbox{\text{\fontfamily{lmss}\selectfont{\smaller{%
+  DO\hspace{-0.025em}I\raisebox{0.24ex}{:}}}\kern-0.01em}}\allowbreak%
+  }% used later for demonstration of \urisetup
+\renewcommand*{\thesubsection}{\arabic{subsection}}
 \listfiles
 \begin{document}
 \pagenumbering{arabic}
 
 \section*{Example for uri}
-\markboth{Example for uri}{Example for uri}
-
 This example demonstrates the use of package\newline
-\textsf{uri}, v1.0a as of 2011/03/04 (HMM).\newline
+\textsf{uri}, v2.0a as of 2018/09/01 (HMM).\newline
 No options were given, thereby the default options were used.\newline
-For more details please see the documentation!\newline
+For more details please see the documentation!
 
-\bigskip
-
-The \textsf{uri} package allows to hyperlink (with the \textsf{hyperref} package
-of \textsc{Heiko Oberdiek}) uris of type
+\subsection{Supported types of uri\label{uritypes}}
+The \textsf{uri} package allows to hyperlink (with the
+\textsf{hyperref} package of \textsc{Heiko Ober\-diek}) uris of type
 \begin{itemize}
-\item[--] arXiv (\url{http://www.arXiv.org/}), e.\,g. \arxiv{0905.0105v2}.
+\item[--] arXiv (\url{https://www.arXiv.org/}), e.\,g. \arxiv{math/9201303}.
 
-\item[--] ASIN \newline
-(\url{%
-http://www.amazon.co.uk/gp/help/customer/display.html/277-3416785-8259466?ie=UTF8&nodeId=898182}%
-), \newline
-(that one is a good example for using a TINY url: \tinyuri{687j3oh})\newline
-  e.\,g. \asin{0471491039}.
+\item[--] ASIN %
+  (\url{https://www.amazon.co.uk/gp/help/customer/display.html/277-3416785-8259466?ie=UTF8&nodeId=898182}), %
+  (that one is a good example for using a TINY url: \tinyuri{y7ju25ln}) %
+  e.\,g. \asin{0201134489}.
 
-\item[--] DOI (\url{http://www.doi.org/index.html}), e.\,g. \doi{10.1000/182}.
+\item[--] DOI (\url{https://www.doi.org/index.html}), e.\,g. \doi{10.1000/182} or\linebreak%
+  \doi{10.1111/coin.12165}. For DOIs also \url{http://www.shortdoi.org/} %
+  should be mentioned, which provides \doi{10/b8xfbg} as synonym for that long doi %
+  given in \hyperref[relaxation]{\ref*{relaxation} Stress test} %
+  (and also synonyms for all other DOIs).
 
-\item[--] HDL (\url{http://www.handle.net/factsheet.html}), e.\,g. \hdl{2128/2486}.
+\item[--] HDL (\url{https://www.handle.net/index.html}), e.\,g. \hdl{2128/2486}.
 
-\item[--] NBN (\url{http://nbn-resolving.de/urn:nbn:de:1111-200606309}), \newline
-  e.\,g. \nbn{urn:nbn:de:kobv:83-opus-16928}. (You could also use the option
-  \texttt{nbnpre=URN:NBN:DE:} and then \texttt{\textbackslash nbn\{kobv:83-opus-16928\}}.)
+\item[--] NBN (\url{http://nbn-resolving.de/urn:nbn:de:1111-200606309}),\newline%
+  e.\,g. \nbn{urn:nbn:de:bsz:mit1-opus-3145}.
 
-\item[--] PubMed (\url{http://www.ncbi.nlm.nih.gov/pubmed/}), \newline
-  e.\,g. \pubmed{17822909}.
+\item[--] OCLC (the global library cooperative %
+  \href{https://www.oclc.org/en/about.html}{OCLC} maintains %
+  \href{https://www.worldcat.org/whatis/default.jsp}{WorldCat}), %
+  e.\,g. \oclc{935889548}.
 
 \item[--] OID (\url{http://www.oid-info.com/#oid}), e.\,g. \oid{2.16.840}.
 
-\item[--] TINY (\url{http://tinyurl.com}), e.\,g. \tinyuri{MST19-105603} \newline
-  (uses \texttt{tinyuri} instead of \texttt{tiny}, because that command already existed).
+\item[--] PubMed (\url{https://www.ncbi.nlm.nih.gov/pubmed/}),\newline%
+  e.\,g. \pubmed{24925405}.
 
-\item[--] TINY with preview, e.\,g. \tinypuri{MST19-105603}.
+\item[--] TINY (\url{https://tinyurl.com/}), e.\,g. \tinyuri{MST19-105603}\newline%
+  (uses \verb|\tinyuri| instead of \verb|\tiny|, because that command already existed).
 
-\item[--] XMPP (\url{http://xmpp.org/about/}), e.\,g. \xmpp{time}.
+\item[--] TINY with preview (\url{https://preview.tinyurl.com/}), %
+  e.\,g. \tinypuri{MST19-105603}.
+
+\item[--] WebCite (\url{https://www.webcitation.org/}), e.\,g. \wc{71dxjl73I},
+  which is short for \wc{query?url=http%3A%2F%2Fctan.org&date=2018-08-13}{%
+  }.
+
+\item[--] XMPP (\url{https://xmpp.org/about/}) changed, for example
+  \verb|URN:XMPP:time| was moved from \url{https://xmpp.org/protocols/urn:xmpp:time/}
+  to\linebreak \url{https://xmpp.org/extensions/xep-0202.html}. Therefore
+  \verb|\xmpp| is no longer provided by this package. For backward compatibility
+  \verb|\xmpp{...}| gives an error message and links to
+  \url{https://xmpp.org/extensions/}.
 \end{itemize}
 
+\subsection{Pre/post text, \texttt{\textbackslash urisetup}}
+\noindent Text before (e.\,g. \textsf{DOI:}) and after (well, no example)
+the uri to be displayed can be adapted by the package options.
+After loading the package it is possible (even somewhere within the document's body)
+to change these \hbox{\ldots \verb|pre|} (and \hbox{\ldots \verb|post|)} texts
+by \verb|\urisetup|, e.\,g.\newline
+\verb|\urisetup{arxivpre={\textsf{\scshape arXiv:}\hspace{.2em}}}|.\newline
+This command can also be used in the preamble to define pre/post texts
+which otherwise are not understood by \LaTeX. -- Compare
+\arxiv{0905.0105v2} to
+\urisetup{arxivpre={\textsf{\scshape arXiv:}\hspace{.2em}}}
+\arxiv{0905.0105v2} or
+\doi{10.1000/182} to
+\urisetup{doipre={\doialternative}}% \doialternative was defined in the example's preamble.
+\doi{10.1000/182}.
+
+\subsection{\texttt{\textbackslash citeurl}, \texttt{\textbackslash mailto}, %
+            \texttt{\textbackslash ukoeln}, and \texttt{\textbackslash uref}}
 Additionally some commands are provided by the uri package:
 \begin{itemize}
-\item[--] \texttt{siteurl} similar to the command of the \textsf{doipubmed} package, \newline
-  \citeurl{http://ctan.org/pkg/doipubmed}.
+\item[--] \verb|\citeurl| similar to the command of the \textsf{doipubmed} package,\newline%
+  \citeurl{https://ctan.org/pkg/doipubmed}.
 
-\item[--] \texttt{mailto} for e-mail addresses, e.\,g. \mailto{spam at dante.de}.
-  Adding something like \texttt{?subject=Concerning uri package} after \texttt{mailto:\#\#1}
-  in the style file would even add this subject to (every!) e-mail hyperlink.
+\item[--] \verb|\mailto| for e-mail addresses (optionally with e-mail subject), e.\,g.\newline%
+\mailto{spam at example.org} or with subject %
+\mailto[Some subject of the e-mail]{spam at example.org}.
 
-\item[--] \texttt{ukoeln} for short University of Cologne (Universit\"{a}t zu K\"{o}ln,
-  U~Koeln; Germany; \url{http://www.pressoffice.uni-koeln.de/}) addresses, \newline
-  e.\,g. \ukoeln{XM492}.
+\item[--] \verb|\ukoeln| for short University of Cologne (Universit\"{a}t zu K\"{o}ln, %
+  U~Koeln; Germany; \url{https://www.portal.uni-koeln.de/8911.html?&L=1})
+  ad-\linebreak dresses, e.\,g. \ukoeln{PDGKL}.
 
-\item[--] \texttt{uref} takes two arguments, the first gives the target of the hyperlink,
-the second gives the text to be displayed for it, e.\,g. information about
-the \uref{http://ctan.org/pkg/pageslts}{pagesLTS} package, similar to \texttt{\textbackslash href}.
+\item[--] \verb|\uref| takes two arguments, the first gives the target of the hyperlink, %
+  the second gives the text to be displayed for it, e.\,g. information about the %
+  \uref{https://ctan.org/pkg/uri}{uri package}, similar to \verb|\href|. %
+  When \textsf{hyperref} was not loaded, \newline%
+  \verb|\uref{first argument}{second argument}| %
+  defaults to\newline
+  \verb|\url{second argument}|.
 \end{itemize}
 
-\bigskip
+\subsection{Stress test\label{relaxation}}
+Even \verb|\doi{1.2/3-.(5):<>;%A\8!$~&{}#X}|
+would work (if that DOI would exist; same for the other types of uri):
+\doi{1.2/3-.(5):<>;%A\8!$~&{}#X}{%
+} (In the error message at doi.org the \verb|#X| is not included,
+because it is interpreted as \textquotedblleft anchor X\textquotedblright{} at
+page \verb|1.2/3-.(5):<>;%A\8!$~&{}|, which already is not found.)\newline
+Adding \verb|opening bracket percent-sign line break closing bracket|\newline
+(please see the source code of the example)
+makes programs happy, which check for bracket pairs and take the
+first percent sign as the start of a comment and therefore miss
+the closing bracket (but therefore also the following opening one).
+And this real DOI works:\newline
+\doi{10.1002/1097-4636(200108)56:2<282::AID-JBM1096>3.0.CO;2-5}\newline
+(short: \doi{10/b8xfbg}, see DOI in %
+\hyperref[uritypes]{\ref*{uritypes} Supported types of uri}).
+\pagebreak
 
-Text before (e.\,g. \textsf{DOI:}) and after (well, no example) the uri to be displayed can be
-adapted by the package options.\newline
+\subsection{Name-to-Thing resolver}
+It is also possible to resolve a lot of identifiers by
+the Name-to-Thing resolver by just appending the identifier to
+\url{https://n2t.net/}, e.\,g. \newline%
+\url{https://n2t.net/arXiv:math/9201303}, \newline%
+\url{https://n2t.net/ASIN:0201134489}, \newline%
+\url{https://n2t.net/DOI:10.1111/coin.12165}, \newline%
+\url{https://n2t.net/HDL:2128/2486}, \newline%
+\url{https://n2t.net/urn:nbn:de:bsz:mit1-opus-3145}, \newline%
+\url{https://n2t.net/OCLC:935889548}, \newline%
+\url{https://n2t.net/OID:2.16.840} (which at the time of writing did not work, %
+\url{https://identifiers.org/OID:2.16.840} did), \newline%
+\url{https://n2t.net/PubMed:24925405}, and also \newline%
+\url{https://n2t.net/ISBN:9783638922005} and \newline%
+\url{https://n2t.net/ARK:12148/bpt6k15385d}.\newline%
+Disadvantages: It is longer and requires \url{n2t.net} to work.\newline%
+Advantage: Anybody reading the printed document can just enter %
+the url as given into their browser without thinking about how to resolve %
+that type of uri.
 
-Even \begin{verbatim} \doi{1.2/3-4(5)6:7<8::A-B9>0.9.C8;7-\654%23!$} \end{verbatim}
-would work (if that DOI would exist):\newline
-\doi{1.2/3-4(5)6:7<8::A-B9>0.9.C8;7-\654%23!$}.
-
+\subsection{Disclaimer for web links}
+The author is not responsible for any contents referred
+to in this work unless if having full knowledge of illegal contents. If any damage
+occurs by the use of information presented there, only the author of the respective
+pages might be liable, not the one who has referred to these pages.
 \end{document}
 \endinput
 %%

Modified: trunk/Master/texmf-dist/doc/latex/uri/uri.pdf
===================================================================
(Binary files differ)

Deleted: trunk/Master/texmf-dist/source/latex/uri/ltxdoc.cfg
===================================================================
--- trunk/Master/texmf-dist/source/latex/uri/ltxdoc.cfg	2018-09-01 22:17:26 UTC (rev 48537)
+++ trunk/Master/texmf-dist/source/latex/uri/ltxdoc.cfg	2018-09-01 22:17:45 UTC (rev 48538)
@@ -1,103 +0,0 @@
-%%
-%% This is file `ltxdoc.cfg',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% uri.dtx  (with options: `ltxdoc')
-%% 
-%% This is a generated file.
-%% 
-%% IMPORTANT NOTICE:
-%% The package takes options.
-%% 
-%% The usual disclaimers apply:
-%% If it doesn't work right that's your problem.
-%% (Nevertheless, send an e-mail to the maintainer
-%%  when you find an error in this package.)
-%% 
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either
-%% version 1.3c of this license or (at your option) any later
-%% version. This version of this license is in
-%%    http://www.latex-project.org/lppl/lppl-1-3c.txt
-%% and the latest version of this license is in
-%%    http://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of
-%% LaTeX version 2005/12/01 or later.
-%% 
-%% This work has the LPPL maintenance status "maintained".
-%% 
-%% The Current Maintainer of this work is H.-Martin Muench
-%% (Martin dot Muench at Uni-Bonn dot de).
-%% 
-%% This work consists of the main source file uri.dtx
-%% and the derived files
-%%    uri.sty, uri.pdf, uri.ins, uri.drv,
-%%    uri-example.tex.
-%% 
-\NeedsTeXFormat{LaTeX2e}[1994/06/01]
-\ProvidesFile{ltxdoc.cfg}[2011/03/04 v1.0a configuration file for uri (HMM)]
-  %% Code from original ltxdoc.cfg [2007/01/08 latex-tds: ltxdoc.cls configuration (HO)],  %%
-  % copyrighted 2006, 2007 Heiko Oberdiek, part of project `latex-tds'.
-  % That file may be distributed and/or modified under the
-  % conditions of the LaTeX Project Public License, either version 1.3
-  % of this license or (at your option) any later version.
-  % The latest version of this license is in
-  %   http://www.latex-project.org/lppl.txt
-  % and version 1.3c or later is part of all distributions of LaTeX
-  % version 2005/12/01 or later.
-  % That work has the LPPL maintenance status `maintained'.
-  % The Current Maintainer of that work is Heiko Oberdiek.
-  %
-  \PassOptionsToClass{a4paper}{article}
-  \AtEndOfClass{%
-    \RequirePackage[numbered]{hypdoc}[2010/03/26]% v1.9
-    \pdfstringdefDisableCommands{%
-      \let\env\relax % longtable.dtx
-      \let\mytt\relax % tabularx.dtx
-    }%
-    \addtolength{\topmargin}{-10mm}%
-    \addtolength{\textheight}{20mm}%
-    % Depending on the page style, the head or foot area
-    % are put into the text area.
-    % Usually the page style is the default "plain".
-    % tools/verbatim.dtx uses "myheadings".
-    \def\string at plain{plain}%
-    \def\string at myheadings{myheadings}%
-    \def\current at pagestyle{plain}%
-    \let\ltxdoc at cfg@pagestyle\pagestyle
-    \def\pagestyle#1{%
-      \def\current at pagestyle{#1}%
-      \ltxdoc at cfg@pagestyle{#1}%
-    }%
-    \edef\ltxdoc at cfg@jobname{\jobname}%
-    \def\ltxdoc at cfg@longtable{longtable}%
-    \@onelevel at sanitize\ltxdoc at cfg@longtable
-    \ifx\ltxdoc at cfg@jobname\ltxdoc at cfg@longtable
-      \def\current at pagestyle{both}%
-    \fi
-    \let\ltxdoc at cfg@document\document
-    \def\document{%
-      \ifx\current at pagestyle\string at plain
-        \addtolength{\textheight}{\headheight}%
-        \addtolength{\textheight}{\headsep}%
-        \setlength{\headheight}{0pt}%
-        \setlength{\headsep}{0pt}%
-        \global\textheight\textheight
-        \global\headheight\headheight
-        \global\headsep\headsep
-      \fi
-      \ifx\current at pagestyle\string at myheadings
-        \addtolength{\textheight}{\footskip}%
-        \global\textheight\textheight
-      \fi
-      \ltxdoc at cfg@document
-    }%
-  %% End of code from original ltxdoc.cfg [2007/01/08 latex-tds: ltxdoc.cls configuration (HO)]  %%
-  %% Place additional code here.  %%
-  }
-
-\endinput
-%%
-%% End of file `ltxdoc.cfg'.

Modified: trunk/Master/texmf-dist/source/latex/uri/uri.drv
===================================================================
--- trunk/Master/texmf-dist/source/latex/uri/uri.drv	2018-09-01 22:17:26 UTC (rev 48537)
+++ trunk/Master/texmf-dist/source/latex/uri/uri.drv	2018-09-01 22:17:45 UTC (rev 48538)
@@ -8,10 +8,16 @@
 %% 
 %% This is a generated file.
 %% 
-%% IMPORTANT NOTICE:
-%% The package takes options.
+%% Project: uri
+%% Version: 2018/09/01 v2.0a
 %% 
-%% The usual disclaimers apply:
+%% Copyright (C) 2011 - 2018 by
+%%     H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
+%% Portions of code copyrighted by other people as marked.
+%% 
+%% IMPORTANT NOTICE: The package takes options.
+%% 
+%% The usual disclaimer applies:
 %% If it doesn't work right that's your problem.
 %% (Nevertheless, send an e-mail to the maintainer
 %%  when you find an error in this package.)
@@ -28,37 +34,32 @@
 %% 
 %% This work has the LPPL maintenance status "maintained".
 %% 
-%% The Current Maintainer of this work is H.-Martin Muench
-%% (Martin dot Muench at Uni-Bonn dot de).
+%% The Current Maintainer of this work is H.-Martin Muench.
 %% 
-%% This work consists of the main source file uri.dtx
-%% and the derived files
+%% This work consists of the main source file uri.dtx,
+%% the README, and the derived files
 %%    uri.sty, uri.pdf, uri.ins, uri.drv,
-%%    uri-example.tex.
+%%    uri-example.tex, uri-example.pdf.
 %% 
-\NeedsTeXFormat{LaTeX2e}[1994/06/01]
-\ProvidesFile{uri.drv}[2011/03/04 v1.0a
-            Hyperlinks URIs like DOI,HDL,NBN,PubMed (HMM)]%
-\documentclass{ltxdoc}[2007/11/11]% v2.0u
-\usepackage[hiresbb]{lscape}[2000/10/22]% v3.01, from the graphics bundle
-\usepackage{holtxdoc}[2010/04/24]% v0.19
+%% In memoriam
+%%  Claudia Simone Barth + 1996/01/30
+%%  Tommy Muench + 2014/01/02
+%%  Hans-Klaus Muench + 2014/08/24
+%% 
+\NeedsTeXFormat{LaTeX2e}[2015/01/01]
+\ProvidesFile{uri.drv}[2018/09/01 v2.0a
+            Hyperlinks URIs like DOI,HDL,NBN,PubMed (HMM)]
+\documentclass{ltxdoc}[2015/03/26]% v2.0w
+\usepackage{pdflscape}[2008/08/11]% v0.10
+\usepackage{holtxdoc}[2012/03/21]%  v0.24
 %% uri may work with earlier versions of LaTeX2e and those
 %% class and packages, but this was not tested.
-%% Please consider updating your LaTeX, class, and packages
+%% Please consider updating your LaTeX, class, and package
 %% to the most recent version (if they are not already the most
 %% recent version).
-%% Warning: holtxdoc, 2010/04/24 v0.19, requires the packages
-%% hypdoc,   2010/03/26, v1.9
-%% hyperref, 2010/03/30, v6.80u (latest: 2011/02/07, 6.82b)
-%% pdftexcmds, 2010/04/01, v0.9
-%% ltxcmds,  2010/03/09, v1.4   (latest: 2010/04/26, v1.7)
-%% hologo,   2010/04/24, v1.2
-%% array                        (latest: 2008/09/09, v2.4c)
-%% (or more recent versions) and does neither work with
-%% nor check for earlier versions!
 \hypersetup{%
  pdfsubject={Hyperlinks URIs like DOI, HDL, NBN, PubMed (HMM)},%
- pdfkeywords={LaTeX, uri, hyperlink, arXiv, ASIN, DOI, HDL, NBN, PubMed, OID, TINY, TINY:P, preview, XMPP, citeurl, mailto, ukoeln, uref, Hans-Martin Muench},%
+ pdfkeywords={LaTeX, uri, hyperlink, arXiv, ASIN, DOI, HDL, NBN, OCLC, OID, PubMed, TINY, TINY:P, preview, WebCite, citeurl, mailto, ukoeln, uref, Hans-Martin Muench},%
  pdfencoding=auto,%
  pdflang={en},%
  breaklinks=true,%
@@ -73,11 +74,9 @@
  pdfwindowui=true,%
  pdfnewwindow=true%
 }
-\setlength\hfuzz{1pt} % Ignore slight overfulls.
 \CodelineIndex
-\EnableCrossrefs
-\hyphenation{created document docu-menta-tion every-thing ignored}
-\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}%
+\hyphenation{created document doc-u-ment-a-tion every-thing ignored}
+\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}
 \begin{document}
   \DocInput{uri.dtx}%
 \end{document}

Modified: trunk/Master/texmf-dist/source/latex/uri/uri.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/uri/uri.dtx	2018-09-01 22:17:26 UTC (rev 48537)
+++ trunk/Master/texmf-dist/source/latex/uri/uri.dtx	2018-09-01 22:17:45 UTC (rev 48538)
@@ -1,11 +1,10 @@
 % \iffalse meta-comment
 %
-% uri package
-% file version: v1.0a
-% file date:          2011/03/04
-% documentation date: 2011/03/04
+% File: uri.dtx
+% Version: 2018/09/01 v2.0a
 %
-% Copyright (C) 2011 H.-Martin M\"{u}nch (Martin dot Muench at Uni-Bonn dot de)
+% Copyright (C) 2011 - 2018 by
+%    H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
 % Portions of code copyrighted by other people as marked.
 %
 % This work may be distributed and/or modified under the
@@ -22,47 +21,22 @@
 %
 % The Current Maintainer of this work is H.-Martin Muench.
 %
-% This work consists of the main source file uri.dtx
-% and the derived files
-%    uri.sty, uri.ins, uri.drv,
-%    uri-example.tex, uri.pdf.
+% This work consists of the main source file uri.dtx,
+% the README, and the derived files
+%    uri.sty, uri.pdf, uri.ins, uri.drv,
+%    uri-example.tex, uri-example.pdf.
 %
-% Unpacking:
-%    (a) If uri.ins is present:
-%           tex uri.ins
-%    (b) Without uri.ins:
-%           tex uri.dtx
-%    (c) If you insist on using LaTeX
-%           latex \let\install=y\input{uri.dtx}
-%        (quote the arguments according to the demands of your shell)
+% 'uri' is available on CTAN:
+% https://www.ctan.org/pkg/uri
 %
-% Documentation:
-%    (a) If uri.drv is present:
-%           (pdf)latex uri.drv
-%           makeindex -s gind.ist uri.idx
-%           (pdf)latex uri.drv
-%           makeindex -s gind.ist uri.idx
-%           (pdf)latex uri.drv
-%    (b) Without uri.drv:
-%           (pdf)latex uri.dtx
-%           makeindex -s gind.ist uri.idx
-%           (pdf)latex uri.dtx
-%           makeindex -s gind.ist uri.idx
-%           (pdf)latex uri.dtx
+% Also a TDS.ZIP file is provided that contains all the files
+% already sorted in a TDS tree:
+% http://mirror.ctan.org/install/macros/latex/contrib/uri.tds.zip
 %
-%    The class ltxdoc loads the configuration file ltxdoc.cfg
-%    if available. Here you can specify further options, e.g.
-%    use DIN A4 as paper format:
-%       \PassOptionsToClass{a4paper}{article}
-%
-% Installation:
-%    TDS:tex/latex/uri/uri.sty
-%    TDS:doc/latex/uri/uri.pdf
-%    TDS:doc/latex/uri/uri-example.tex
-%    TDS:source/latex/uri/uri.dtx
-%
 %<*ignore>
 \begingroup
+  \catcode123=1 %
+  \catcode125=2 %
   \def\x{LaTeX2e}%
 \expandafter\endgroup
 \ifcase 0\ifx\install y1\fi\expandafter
@@ -72,13 +46,11 @@
 %</ignore>
 %<*install>
 \input docstrip.tex
-
 \obeyspaces
-\Msg{*************************************************}
-\Msg{* Installation                                  *}
-\Msg{* Package: uri v1.0a 2011/03/04 LaTeX2e package *}
-\Msg{* Hyperlinks URIs like DOI,HDL,NBN,PubMed (HMM) *}
-\Msg{*************************************************}
+\Msg{*****************************************************************************}
+\Msg{* Installation}
+\Msg{* Package: uri 2018/09/01 v2.0a Hyperlinks URIs like DOI,HDL,NBN,PubMed (HMM)}
+\Msg{*****************************************************************************}
 
 \keepsilent
 \askforoverwritefalse
@@ -88,10 +60,16 @@
 
 This is a generated file.
 
-IMPORTANT NOTICE:
-The package takes options.
+Project: uri
+Version: 2018/09/01 v2.0a
 
-The usual disclaimers apply:
+Copyright (C) 2011 - 2018 by
+    H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
+Portions of code copyrighted by other people as marked.
+
+IMPORTANT NOTICE: The package takes options.
+
+The usual disclaimer applies:
 If it doesn't work right that's your problem.
 (Nevertheless, send an e-mail to the maintainer
  when you find an error in this package.)
@@ -108,14 +86,18 @@
 
 This work has the LPPL maintenance status "maintained".
 
-The Current Maintainer of this work is H.-Martin Muench
-(Martin dot Muench at Uni-Bonn dot de).
+The Current Maintainer of this work is H.-Martin Muench.
 
-This work consists of the main source file uri.dtx
-and the derived files
+This work consists of the main source file uri.dtx,
+the README, and the derived files
    uri.sty, uri.pdf, uri.ins, uri.drv,
-   uri-example.tex.
+   uri-example.tex, uri-example.pdf.
 
+In memoriam
+ Claudia Simone Barth + 1996/01/30
+ Tommy Muench + 2014/01/02
+ Hans-Klaus Muench + 2014/08/24
+
 \endpreamble
 \let\MetaPrefix\DoubleperCent
 
@@ -122,7 +104,6 @@
 \generate{%
   \file{uri.ins}{\from{uri.dtx}{install}}%
   \file{uri.drv}{\from{uri.dtx}{driver}}%
-  \file{ltxdoc.cfg}{\from{uri.dtx}{ltxdoc}}%
   \usedir{tex/latex/uri}%
   \file{uri.sty}{\from{uri.dtx}{package}}%
   \usedir{doc/latex/uri}%
@@ -130,30 +111,30 @@
 }
 
 \obeyspaces
-\Msg{*************************************************************}
-\Msg{*                                                           *}
-\Msg{* To finish the installation you have to move the following *}
-\Msg{* file into a directory searched by TeX:                    *}
-\Msg{*                                                           *}
-\Msg{* uri.sty                                                   *}
-\Msg{*                                                           *}
-\Msg{* To produce the documentation run the file `uri.drv'       *}
-\Msg{* through (pdf)LaTeX, e.g.                                  *}
-\Msg{*  pdflatex uri.drv                                         *}
-\Msg{*  makeindex -s gind.ist uri.idx                            *}
-\Msg{*  pdflatex uri.drv                                         *}
-\Msg{*  makeindex -s gind.ist uri.idx                            *}
-\Msg{*  pdflatex uri.drv                                         *}
-\Msg{*                                                           *}
-\Msg{* At least two runs are necessary e.g. to get the           *}
-\Msg{*  references right!                                        *}
-\Msg{*                                                           *}
-\Msg{* Happy TeXing!                                             *}
-\Msg{*                                                           *}
-\Msg{*************************************************************}
 
+\Msg{************************************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* uri.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file `uri.drv'}
+\Msg{* through (pdf)LaTeX, e.g.}
+\Msg{*  pdflatex uri.drv}
+\Msg{*  makeindex -s gind.ist uri.idx}
+\Msg{*  pdflatex uri.drv}
+\Msg{*  makeindex -s gind.ist uri.idx}
+\Msg{*  pdflatex uri.drv}
+\Msg{*}
+\Msg{* At least two runs are necessary e.g. to get the}
+\Msg{*  references right!}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{************************************************************************}
+
 \endbatchfile
-
 %</install>
 %<*ignore>
 \fi
@@ -162,37 +143,28 @@
 % \section{The documentation driver file}
 %
 % The next bit of code contains the documentation driver file for
-% \TeX{}, i.\,e., the file that will produce the documentation you
+% \TeX , i.\,e., the file that will produce the documentation you
 % are currently reading. It will be extracted from this file by the
-% \texttt{docstrip} programme. That is, run \LaTeX\ on \texttt{docstrip}
-% and specify the \texttt{driver} option when \texttt{docstrip}
+% \verb|docstrip| programme. That is, run \LaTeX{} on \verb|docstrip|
+% and specify the \verb|driver| option when \verb|docstrip|
 % asks for options.
 %
 %    \begin{macrocode}
 %<*driver>
-\NeedsTeXFormat{LaTeX2e}[1994/06/01]
-\ProvidesFile{uri.drv}[2011/03/04 v1.0a
-            Hyperlinks URIs like DOI,HDL,NBN,PubMed (HMM)]%
-\documentclass{ltxdoc}[2007/11/11]% v2.0u
-\usepackage[hiresbb]{lscape}[2000/10/22]% v3.01, from the graphics bundle
-\usepackage{holtxdoc}[2010/04/24]% v0.19
+\NeedsTeXFormat{LaTeX2e}[2015/01/01]
+\ProvidesFile{uri.drv}[2018/09/01 v2.0a
+            Hyperlinks URIs like DOI,HDL,NBN,PubMed (HMM)]
+\documentclass{ltxdoc}[2015/03/26]% v2.0w
+\usepackage{pdflscape}[2008/08/11]% v0.10
+\usepackage{holtxdoc}[2012/03/21]%  v0.24
 %% uri may work with earlier versions of LaTeX2e and those
 %% class and packages, but this was not tested.
-%% Please consider updating your LaTeX, class, and packages
+%% Please consider updating your LaTeX, class, and package
 %% to the most recent version (if they are not already the most
 %% recent version).
-%% Warning: holtxdoc, 2010/04/24 v0.19, requires the packages
-%% hypdoc,   2010/03/26, v1.9
-%% hyperref, 2010/03/30, v6.80u (latest: 2011/02/07, 6.82b)
-%% pdftexcmds, 2010/04/01, v0.9
-%% ltxcmds,  2010/03/09, v1.4   (latest: 2010/04/26, v1.7)
-%% hologo,   2010/04/24, v1.2
-%% array                        (latest: 2008/09/09, v2.4c)
-%% (or more recent versions) and does neither work with
-%% nor check for earlier versions!
 \hypersetup{%
  pdfsubject={Hyperlinks URIs like DOI, HDL, NBN, PubMed (HMM)},%
- pdfkeywords={LaTeX, uri, hyperlink, arXiv, ASIN, DOI, HDL, NBN, PubMed, OID, TINY, TINY:P, preview, XMPP, citeurl, mailto, ukoeln, uref, Hans-Martin Muench},%
+ pdfkeywords={LaTeX, uri, hyperlink, arXiv, ASIN, DOI, HDL, NBN, OCLC, OID, PubMed, TINY, TINY:P, preview, WebCite, citeurl, mailto, ukoeln, uref, Hans-Martin Muench},%
  pdfencoding=auto,%
  pdflang={en},%
  breaklinks=true,%
@@ -207,15 +179,9 @@
  pdfwindowui=true,%
  pdfnewwindow=true%
 }
-\setlength\hfuzz{1pt} % Ignore slight overfulls.
 \CodelineIndex
-%\PageIndex           % instead of \CodelineIndex to get the page numbers
-\EnableCrossrefs
-%\DisableCrossrefs    % Say \DisableCrossrefs if index is ready.
-%\RecordChanges       % Gather update information.
-%\OnlyDescription     % Comment out for implementation details.
-\hyphenation{created document docu-menta-tion every-thing ignored}
-\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}%
+\hyphenation{created document doc-u-ment-a-tion every-thing ignored}
+\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}
 \begin{document}
   \DocInput{uri.dtx}%
 \end{document}
@@ -222,76 +188,9 @@
 %</driver>
 %    \end{macrocode}
 %
-%    \begin{macrocode}
-%<*ltxdoc>
-\NeedsTeXFormat{LaTeX2e}[1994/06/01]
-\ProvidesFile{ltxdoc.cfg}[2011/03/04 v1.0a configuration file for uri (HMM)]
-  %% Code from original ltxdoc.cfg [2007/01/08 latex-tds: ltxdoc.cls configuration (HO)],  %%
-  % copyrighted 2006, 2007 Heiko Oberdiek, part of project `latex-tds'.
-  % That file may be distributed and/or modified under the
-  % conditions of the LaTeX Project Public License, either version 1.3
-  % of this license or (at your option) any later version.
-  % The latest version of this license is in
-  %   http://www.latex-project.org/lppl.txt
-  % and version 1.3c or later is part of all distributions of LaTeX
-  % version 2005/12/01 or later.
-  % That work has the LPPL maintenance status `maintained'.
-  % The Current Maintainer of that work is Heiko Oberdiek.
-  %
-  \PassOptionsToClass{a4paper}{article}
-  \AtEndOfClass{%
-    \RequirePackage[numbered]{hypdoc}[2010/03/26]% v1.9
-    \pdfstringdefDisableCommands{%
-      \let\env\relax % longtable.dtx
-      \let\mytt\relax % tabularx.dtx
-    }%
-    \addtolength{\topmargin}{-10mm}%
-    \addtolength{\textheight}{20mm}%
-    % Depending on the page style, the head or foot area
-    % are put into the text area.
-    % Usually the page style is the default "plain".
-    % tools/verbatim.dtx uses "myheadings".
-    \def\string at plain{plain}%
-    \def\string at myheadings{myheadings}%
-    \def\current at pagestyle{plain}%
-    \let\ltxdoc at cfg@pagestyle\pagestyle
-    \def\pagestyle#1{%
-      \def\current at pagestyle{#1}%
-      \ltxdoc at cfg@pagestyle{#1}%
-    }%
-    \edef\ltxdoc at cfg@jobname{\jobname}%
-    \def\ltxdoc at cfg@longtable{longtable}%
-    \@onelevel at sanitize\ltxdoc at cfg@longtable
-    \ifx\ltxdoc at cfg@jobname\ltxdoc at cfg@longtable
-      \def\current at pagestyle{both}%
-    \fi
-    \let\ltxdoc at cfg@document\document
-    \def\document{%
-      \ifx\current at pagestyle\string at plain
-        \addtolength{\textheight}{\headheight}%
-        \addtolength{\textheight}{\headsep}%
-        \setlength{\headheight}{0pt}%
-        \setlength{\headsep}{0pt}%
-        \global\textheight\textheight
-        \global\headheight\headheight
-        \global\headsep\headsep
-      \fi
-      \ifx\current at pagestyle\string at myheadings
-        \addtolength{\textheight}{\footskip}%
-        \global\textheight\textheight
-      \fi
-      \ltxdoc at cfg@document
-    }%
-  %% End of code from original ltxdoc.cfg [2007/01/08 latex-tds: ltxdoc.cls configuration (HO)]  %%
-  %% Place additional code here.  %%
-  }
-
-%</ltxdoc>
-%    \end{macrocode}
-%
 % \fi
 %
-% \CheckSum{253}
+% \CheckSum{455}
 %
 % \CharacterTable
 %  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -304,7 +203,7 @@
 %   Minus         \-     Point         \.     Solidus       \/
 %   Colon         \:     Semicolon     \;     Less than     \<
 %   Equals        \=     Greater than  \>     Question mark \?
-%   Commercial at \@     Left bracket  \[     Backslash    \\
+%   Commercial at \@     Left bracket  \[     Backslash     \\
 %   Right bracket \]     Circumflex    \^     Underscore    \_
 %   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %   Right brace   \}     Tilde         \~}
@@ -325,98 +224,77 @@
 %       \edef\x{\noexpand\DoNotIndex{\@backslashchar9}}%^^A
 %     }%^^A
 %   \expandafter\endgroup\x
-% \DoNotIndex{\documentclass,\usepackage,\hfuzz,\small,\tt,\begin,\end}
+% \DoNotIndex{\8,\",\-,\\,\ldots,\indent,\noindent}
+% \DoNotIndex{\documentclass,\usepackage,\small,\begin,\end}
 % \DoNotIndex{\NeedsTeXFormat,\filedate,\fileversion,\DoNotIndex}
-% \DoNotIndex{\def,\edef,\divide,\advance,\multiply}
-% \DoNotIndex{\",\-,\,,\\,\hskip,\H,\ldots,\indent,\noindent,\textbackslash}
-% \DoNotIndex{\textbf,\textit,\textquotedblleft,\textquotedblright,\textsf,\texttt,\textsc}
-% \DoNotIndex{\ifthenelse,\and,\equal,\whiledo,\if,\ifx,\ifnum,\else,\fi}
-% \DoNotIndex{\CodelineIndex,\EnableCrossrefs,\DisableCrossrefs}
-% \DoNotIndex{\DocInput,\AltMacroFont}
-% \DoNotIndex{\@ne,\tw@,\thr@@}
+% \DoNotIndex{\def,\edef,\gdef}
+% \DoNotIndex{\textbf,\textit,\textsf,\textsc}
+% \DoNotIndex{\if,\ifx,\ifnum,\ifdim,\else,\fi}
+% \DoNotIndex{\CodelineIndex,\DocInput}
 % \DoNotIndex{\newpage,\pagebreak,\newline,\linebreak,\nolinebreak}
-% \DoNotIndex{\lipsum,\MessageBreak,\pageref,\protect}
-% \DoNotIndex{\RecordChanges,\OnlyDescription}
+% \DoNotIndex{\MessageBreak}
 % \DoNotIndex{\smallskip,\medskip,\bigskip,\space,\,}
-% \DoNotIndex{\item}
 % \DoNotIndex{\plainTeX,\TeX,\LaTeX,\pdfLaTeX}
-% \DoNotIndex{\holtxdoc,\kvoptions,\Oberdiek}
-% \DoNotIndex{\gdef,\listfiles,\undefined,\value}
-% \DoNotIndex{\markboth,\M"{u}ench,\section}
-% \DoNotIndex{\href,\pagenumbering,\textsc,\xext,\6,\ProvidesPackage}
+% \DoNotIndex{\protect,\listfiles,\textquotedblleft,\textquotedblright}
+% \DoNotIndex{\markboth,\section,\item}
+% \DoNotIndex{\href,\url,\nolinkurl,\pagenumbering,\xext,\ProvidesPackage}
+% \DoNotIndex{\aurl,\doipubmed,\holtxdoc,\kvoptions,\Oberdiek,\M\"{u}nch}
+% \DoNotIndex{\DeclareRobustCommand,\DeclareStringOption,\DeclareUrlCommand}
+% \DoNotIndex{\PackageWarning,\ProcessKeyvalOptions,\SetupKeyvalOptions}
+% \DoNotIndex{\UrlLeft,\UrlRight,\verb}
 %
-% \title{The \textsf{uri} package\footnote{This file%
-%        has version number v1.0a, last%
-%        revised 2011/03/04, documentation dated 2011/03/04.}}
-% \author{H.-Martin M\"{u}nch\\
-% (\texttt{Martin dot Muench at Uni-Bonn dot de})}
-% \date{2011/03/04}
+% \title{The \xpackage{uri} package}
+% \date{2018/09/01 v2.0a}
+% \author{H.-Martin M\"{u}nch\\\xemail{Martin.Muench at Uni-Bonn.de}}
 %
 % \maketitle
 %
 % \begin{abstract}
-% This package allows to automatically hyperlink uris of type
-% arXiv, ASIN, DOI, HDL, NBN, PubMed, OID, TINY, TINY with preview, and XMPP
-% in such a way that they are resolved to an address understood by web browsers
-% without native support or add-ons for such types of uri
-% and provides commands |citeurl|, |mailto|, |ukoeln|, and |uref|.
+% \noindent This package allows to automatically hyperlink uris of type
+% arXiv, ASIN, DOI, HDL, NBN, OCLC, OID, PubMed, TINY, TINY with preview,
+% and Web\-Cite in such a way that they are resolved to an address
+% understood by web browsers without native support or add-ons for such types
+% of uri and provides commands |\citeurl|, |\mailto|, |\ukoeln|, and |\uref|.
 % \end{abstract}
 %
 % \bigskip
 %
 % \noindent Disclaimer for web links: The author is not responsible for any contents
-% referred to in this work unless he has full knowledge of illegal contents.
+% referred to in this work unless if having full knowledge of illegal contents.
 % If any damage occurs by the use of information presented there, only the
 % author of the respective pages might be liable, not the one who has referred
 % to these pages.
 %
-% \bigskip
+% \noindent Save per page about $200\unit{ml}$ water,
+% $2\unit{g}$ CO$_{2}$ and $2\unit{g}$ wood:
+% Therefore please print only if this is really necessary.
 %
-% Trademarks appear throughout this documentation without any trademark symbol;
-% they are the property of their respective trademark owner. There is no intention
-% of infringement; the usage is to the benefit of the trademark owner.
-%
 % \bigskip
 %
-% \noindent Save per page about $200\unit{ml}$ water,
-% $2\unit{g}$ CO$_{2}$ and $2\unit{g}$ wood:\\
-% Therefore please print only if this is really necessary.
-%
 % \tableofcontents
 %
 % \newpage
 %
 % \section{Introduction}
-% \indent Diverse types of URIs exists. While every web browser knows how to handle
-% an uri like \url{http://www.mozilla.org/} (otherwise it should not call itself
-% web browser), there are probably quite a few web browsers which cannot handle e.\,g.
-% \url{arXiv:0905.0105v2} (just test it by clicking the hyperlink).
-% There are four types of solution:
+% \indent Diverse types of URIs exists. While every web browser should know
+% how to handle an uri like \url{https://www.ctan.org/}, there are probably
+% quite a few web browsers which cannot handle e.\,g. \url{arXiv:math/9201303}
+% (just test it by clicking the hyperlink). There are four types of solution:
 % \begin{enumerate}
-% \item Change the programme code of the web browser to recognise the uri. While
-% this is probably the best way, it is also the most difficult one (if it is
-% possible at all, e.\,g. for proprietary web browsers).
+% \item Change the programme code of the web browser to recognise the uri.
 %
-% \item Use (write) a plug-in resolving the uri before passing it to the
-% browser. For the Firefox browser this is done by the QuietUrl extension (if
-% case be after manually adding the respective rule for the according uri
-% type), available at
-% \url{https://addons.mozilla.org/de/firefox/downloads/latest/5243/}.
-% While this is quite useful, one cannot assume that everybody has an according
-% plug-in (or even that an according plug-in exists for the used (version of the)
-% web browser).
+% \item Use/write a plug-in for the browser to resolve the uri.
 %
 % \item Use only the full, expanded uri. Then they can be reliable accessed by
-% everybody, but those uris usually become quite long, which is not really
+% every\-body, but those uris usually become quite long, which is not really
 % nice (and line breaks have their own problems).
 %
 % \item
 %
 % \begin{enumerate}
-% \item Write the short uri, but link to the long, expanded
-% one (e.\,g. \href{http://arxiv.org/abs/0905.0105v2}{arXiv:0905.0105v2}).
-% This combines reliability and aesthetics, but can be cumbersome to write,
-% especially when a lot of those addresses are used.
+% \item Write the short uri (\href{https://arxiv.org/abs/math/9201303}{arXiv:math/9201303}),
+% but link to the long, expanded one. This combines reliability and aesthetics,
+% but can be cumbersome to write, especially when a lot of those addresses are used.
 %
 % \item Do as described at (a), but automatically. This is the way this package
 % can be used.
@@ -424,42 +302,46 @@
 % \end{enumerate}
 %
 % \section{Usage}
-%
 % \indent Just load the package placing
 % \begin{quote}
 %   |\usepackage[<|\textit{options}|>]{uri}|
 % \end{quote}
-% \noindent in the preamble of your \LaTeXe\ source file
-% (preferably after calling the \textsf{url} and \textsf{hyperref} package).
+% \noindent in the preamble of your \LaTeXe{} source file
+% (preferably after calling the \xpackage{url} and \xpackage{hyperref} package).
 % For the different types of uri and available options see the documented
-% code below.\\
+% code below.
 %
 % \section{Alternatives\label{sec:Alternatives}}
-%
 % There are similar packages, which do (or do not) similar
-% things. Here is a list of some possible alternatives:\\
+% things. Here is a list of some possible alternatives:
 %
+% \DescribeMacro{aurl}
+% \begin{description}
+% \item[-] The \xpackage{aurl} package \textquotedblleft [e]xtends the hyperref package
+% with a mechanism for hyperlinked URLs abbreviated with prefixes\textquotedblright,
+% i.\,e. similar to this package here.
+% \end{description}
+%
 % \DescribeMacro{doi}
 % \begin{description}
-% \item[-] The \textsf{doi} package \textquotedblleft contains a user-level command
+% \item[-] The \xpackage{doi} package \textquotedblleft contains a user-level command
 % |\doi{}|, which takes a doi number, and creates a hyperlink from it. The format
 % of the doi can be controlled by redefining the |\doitext| command\textquotedblright
-% \ (from the \textsf{doi} package \texttt{ReadMe}). It does not handle other types
+% \ (from the \xpackage{doi} package \verb|ReadMe|). It does not handle other types
 % of uris, naturally.
-% \end{description}%
+% \end{description}
 %
 % \DescribeMacro{doipubmed}
 % \begin{description}
-% \item[-] The \textsf{doipubmed} package handles |DOI| as well as |PubMed| uris.
-% \end{description}%
+% \item[-] The \xpackage{doipubmed} package handles |DOI| as well as |PubMed| uris.
+% \end{description}
 %
 % \bigskip
 %
 % \noindent (You programmed or found another alternative,
-%  which is available at \CTAN{}?\\
-%  OK, send an e-mail to me with the name, location at \CTAN{},
-%  and a short notice, and I will probably include it in
-%  the list above.)\\
+%  which is available at \url{https://www.CTAN.org}?
+%  OK, send an e-mail to me with the name, location at CTAN,
+%  and a short notice, and I will probably include it in the list above.)
 %
 % \smallskip
 %
@@ -472,8 +354,9 @@
 %
 %    \begin{macrocode}
 %<*example>
-\documentclass{article}
+\documentclass[british]{article}[2014/09/29]% v1.4h
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\PassOptionsToPackage{hyphens}{url}% url is loaded internally by hyperref
 \usepackage{hyperref}[2011/02/07]% v6.82b
 \hypersetup{%
  extension=pdf,%
@@ -490,91 +373,169 @@
  pdfpagelayout=SinglePage,%
  bookmarksopen=false%
 }
-\usepackage{uri}[2011/03/04]% v1.0a
+\usepackage{uri}[2018/09/01]% v2.0a
+\RequirePackage{amsmath}
+\RequirePackage{relsize}
+\gdef\doialternative{%
+  \hbox{\text{\fontfamily{lmss}\selectfont{\smaller{%
+  DO\hspace{-0.025em}I\raisebox{0.24ex}{:}}}\kern-0.01em}}\allowbreak%
+  }% used later for demonstration of \urisetup
+\renewcommand*{\thesubsection}{\arabic{subsection}}
 \listfiles
 \begin{document}
 \pagenumbering{arabic}
 
 \section*{Example for uri}
-\markboth{Example for uri}{Example for uri}
-
 This example demonstrates the use of package\newline
-\textsf{uri}, v1.0a as of 2011/03/04 (HMM).\newline
+\textsf{uri}, v2.0a as of 2018/09/01 (HMM).\newline
 No options were given, thereby the default options were used.\newline
-For more details please see the documentation!\newline
+For more details please see the documentation!
 
-\bigskip
-
-The \textsf{uri} package allows to hyperlink (with the \textsf{hyperref} package
-of \textsc{Heiko Oberdiek}) uris of type
+\subsection{Supported types of uri\label{uritypes}}
+The \textsf{uri} package allows to hyperlink (with the
+\textsf{hyperref} package of \textsc{Heiko Ober\-diek}) uris of type
 \begin{itemize}
-\item[--] arXiv (\url{http://www.arXiv.org/}), e.\,g. \arxiv{0905.0105v2}.
+\item[--] arXiv (\url{https://www.arXiv.org/}), e.\,g. \arxiv{math/9201303}.
 
-\item[--] ASIN \newline
-(\url{%
-http://www.amazon.co.uk/gp/help/customer/display.html/277-3416785-8259466?ie=UTF8&nodeId=898182}%
-), \newline
-(that one is a good example for using a TINY url: \tinyuri{687j3oh})\newline
-  e.\,g. \asin{0471491039}.
+\item[--] ASIN %
+  (\url{https://www.amazon.co.uk/gp/help/customer/display.html/277-3416785-8259466?ie=UTF8&nodeId=898182}), %
+  (that one is a good example for using a TINY url: \tinyuri{y7ju25ln}) %
+  e.\,g. \asin{0201134489}.
 
-\item[--] DOI (\url{http://www.doi.org/index.html}), e.\,g. \doi{10.1000/182}.
+\item[--] DOI (\url{https://www.doi.org/index.html}), e.\,g. \doi{10.1000/182} or\linebreak%
+  \doi{10.1111/coin.12165}. For DOIs also \url{http://www.shortdoi.org/} %
+  should be mentioned, which provides \doi{10/b8xfbg} as synonym for that long doi %
+  given in \hyperref[relaxation]{\ref*{relaxation} Stress test} %
+  (and also synonyms for all other DOIs).
 
-\item[--] HDL (\url{http://www.handle.net/factsheet.html}), e.\,g. \hdl{2128/2486}.
+\item[--] HDL (\url{https://www.handle.net/index.html}), e.\,g. \hdl{2128/2486}.
 
-\item[--] NBN (\url{http://nbn-resolving.de/urn:nbn:de:1111-200606309}), \newline
-  e.\,g. \nbn{urn:nbn:de:kobv:83-opus-16928}. (You could also use the option
-  \texttt{nbnpre=URN:NBN:DE:} and then \texttt{\textbackslash nbn\{kobv:83-opus-16928\}}.)
+\item[--] NBN (\url{http://nbn-resolving.de/urn:nbn:de:1111-200606309}),\newline%
+  e.\,g. \nbn{urn:nbn:de:bsz:mit1-opus-3145}.
 
-\item[--] PubMed (\url{http://www.ncbi.nlm.nih.gov/pubmed/}), \newline
-  e.\,g. \pubmed{17822909}.
+\item[--] OCLC (the global library cooperative %
+  \href{https://www.oclc.org/en/about.html}{OCLC} maintains %
+  \href{https://www.worldcat.org/whatis/default.jsp}{WorldCat}), %
+  e.\,g. \oclc{935889548}.
 
 \item[--] OID (\url{http://www.oid-info.com/#oid}), e.\,g. \oid{2.16.840}.
 
-\item[--] TINY (\url{http://tinyurl.com}), e.\,g. \tinyuri{MST19-105603} \newline
-  (uses \texttt{tinyuri} instead of \texttt{tiny}, because that command already existed).
+\item[--] PubMed (\url{https://www.ncbi.nlm.nih.gov/pubmed/}),\newline%
+  e.\,g. \pubmed{24925405}.
 
-\item[--] TINY with preview, e.\,g. \tinypuri{MST19-105603}.
+\item[--] TINY (\url{https://tinyurl.com/}), e.\,g. \tinyuri{MST19-105603}\newline%
+  (uses \verb|\tinyuri| instead of \verb|\tiny|, because that command already existed).
 
-\item[--] XMPP (\url{http://xmpp.org/about/}), e.\,g. \xmpp{time}.
+\item[--] TINY with preview (\url{https://preview.tinyurl.com/}), %
+  e.\,g. \tinypuri{MST19-105603}.
+
+\item[--] WebCite (\url{https://www.webcitation.org/}), e.\,g. \wc{71dxjl73I},
+  which is short for \wc{query?url=http%3A%2F%2Fctan.org&date=2018-08-13}{%
+  }.
+
+\item[--] XMPP (\url{https://xmpp.org/about/}) changed, for example
+  \verb|URN:XMPP:time| was moved from \url{https://xmpp.org/protocols/urn:xmpp:time/}
+  to\linebreak \url{https://xmpp.org/extensions/xep-0202.html}. Therefore
+  \verb|\xmpp| is no longer provided by this package. For backward compatibility
+  \verb|\xmpp{...}| gives an error message and links to
+  \url{https://xmpp.org/extensions/}.
 \end{itemize}
 
+\subsection{Pre/post text, \texttt{\textbackslash urisetup}}
+\noindent Text before (e.\,g. \textsf{DOI:}) and after (well, no example)
+the uri to be displayed can be adapted by the package options.
+After loading the package it is possible (even somewhere within the document's body)
+to change these \hbox{\ldots \verb|pre|} (and \hbox{\ldots \verb|post|)} texts
+by \verb|\urisetup|, e.\,g.\newline
+\verb|\urisetup{arxivpre={\textsf{\scshape arXiv:}\hspace{.2em}}}|.\newline
+This command can also be used in the preamble to define pre/post texts
+which otherwise are not understood by \LaTeX. -- Compare
+\arxiv{0905.0105v2} to
+\urisetup{arxivpre={\textsf{\scshape arXiv:}\hspace{.2em}}}
+\arxiv{0905.0105v2} or
+\doi{10.1000/182} to
+\urisetup{doipre={\doialternative}}% \doialternative was defined in the example's preamble.
+\doi{10.1000/182}.
+
+\subsection{\texttt{\textbackslash citeurl}, \texttt{\textbackslash mailto}, %
+            \texttt{\textbackslash ukoeln}, and \texttt{\textbackslash uref}}
 Additionally some commands are provided by the uri package:
 \begin{itemize}
-\item[--] \texttt{siteurl} similar to the command of the \textsf{doipubmed} package, \newline
-  \citeurl{http://ctan.org/pkg/doipubmed}.
+\item[--] \verb|\citeurl| similar to the command of the \textsf{doipubmed} package,\newline%
+  \citeurl{https://ctan.org/pkg/doipubmed}.
 
-\item[--] \texttt{mailto} for e-mail addresses, e.\,g. \mailto{spam at dante.de}.
-  Adding something like \texttt{?subject=Concerning uri package} after \texttt{mailto:\#\#1}
-  in the style file would even add this subject to (every!) e-mail hyperlink.
+\item[--] \verb|\mailto| for e-mail addresses (optionally with e-mail subject), e.\,g.\newline%
+\mailto{spam at example.org} or with subject %
+\mailto[Some subject of the e-mail]{spam at example.org}.
 
-\item[--] \texttt{ukoeln} for short University of Cologne (Universit\"{a}t zu K\"{o}ln,
-  U~Koeln; Germany; \url{http://www.pressoffice.uni-koeln.de/}) addresses, \newline
-  e.\,g. \ukoeln{XM492}.
+\item[--] \verb|\ukoeln| for short University of Cologne (Universit\"{a}t zu K\"{o}ln, %
+  U~Koeln; Germany; \url{https://www.portal.uni-koeln.de/8911.html?&L=1})
+  ad-\linebreak dresses, e.\,g. \ukoeln{PDGKL}.
 
-\item[--] \texttt{uref} takes two arguments, the first gives the target of the hyperlink,
-the second gives the text to be displayed for it, e.\,g. information about
-the \uref{http://ctan.org/pkg/pageslts}{pagesLTS} package, similar to \texttt{\textbackslash href}.
+\item[--] \verb|\uref| takes two arguments, the first gives the target of the hyperlink, %
+  the second gives the text to be displayed for it, e.\,g. information about the %
+  \uref{https://ctan.org/pkg/uri}{uri package}, similar to \verb|\href|. %
+  When \textsf{hyperref} was not loaded, \newline%
+  \verb|\uref{first argument}{second argument}| %
+  defaults to\newline
+  \verb|\url{second argument}|.
 \end{itemize}
 
-\bigskip
 
-Text before (e.\,g. \textsf{DOI:}) and after (well, no example) the uri to be displayed can be
-adapted by the package options.\newline
+\subsection{Stress test\label{relaxation}}
+Even \verb|\doi{1.2/3-.(5):<>;%A\8!$~&{}#X}|
+would work (if that DOI would exist; same for the other types of uri):
+\doi{1.2/3-.(5):<>;%A\8!$~&{}#X}{%
+} (In the error message at doi.org the \verb|#X| is not included,
+because it is interpreted as \textquotedblleft anchor X\textquotedblright{} at
+page \verb|1.2/3-.(5):<>;%A\8!$~&{}|, which already is not found.)\newline
+Adding \verb|opening bracket percent-sign line break closing bracket|\newline
+(please see the source code of the example)
+makes programs happy, which check for bracket pairs and take the
+first percent sign as the start of a comment and therefore miss
+the closing bracket (but therefore also the following opening one).
+And this real DOI works:\newline
+\doi{10.1002/1097-4636(200108)56:2<282::AID-JBM1096>3.0.CO;2-5}\newline
+(short: \doi{10/b8xfbg}, see DOI in %
+\hyperref[uritypes]{\ref*{uritypes} Supported types of uri}).
+\pagebreak
 
-Even \begin{verbatim} \doi{1.2/3-4(5)6:7<8::A-B9>0.9.C8;7-\654%23!$} \end{verbatim}
-would work (if that DOI would exist):\newline
-\doi{1.2/3-4(5)6:7<8::A-B9>0.9.C8;7-\654%23!$}.
+\subsection{Name-to-Thing resolver}
+It is also possible to resolve a lot of identifiers by
+the Name-to-Thing resolver by just appending the identifier to
+\url{https://n2t.net/}, e.\,g. \newline%
+\url{https://n2t.net/arXiv:math/9201303}, \newline%
+\url{https://n2t.net/ASIN:0201134489}, \newline%
+\url{https://n2t.net/DOI:10.1111/coin.12165}, \newline%
+\url{https://n2t.net/HDL:2128/2486}, \newline%
+\url{https://n2t.net/urn:nbn:de:bsz:mit1-opus-3145}, \newline%
+\url{https://n2t.net/OCLC:935889548}, \newline%
+\url{https://n2t.net/OID:2.16.840} (which at the time of writing did not work, %
+\url{https://identifiers.org/OID:2.16.840} did), \newline%
+\url{https://n2t.net/PubMed:24925405}, and also \newline%
+\url{https://n2t.net/ISBN:9783638922005} and \newline%
+\url{https://n2t.net/ARK:12148/bpt6k15385d}.\newline%
+Disadvantages: It is longer and requires \url{n2t.net} to work.\newline%
+Advantage: Anybody reading the printed document can just enter %
+the url as given into their browser without thinking about how to resolve %
+that type of uri.
 
+
+\subsection{Disclaimer for web links}
+The author is not responsible for any contents referred
+to in this work unless if having full knowledge of illegal contents. If any damage
+occurs by the use of information presented there, only the author of the respective
+pages might be liable, not the one who has referred to these pages.
 \end{document}
 %</example>
 %    \end{macrocode}
 %
-% \StopEventually{
-% }
+% \StopEventually{}
 %
+% \newpage
 % \section{The implementation}
 %
-% We start off by checking that we are loading into \LaTeXe\ and
+% We start off by checking that we are loading into \LaTeXe{} and
 % announcing the name and version of this package.
 %
 %    \begin{macrocode}
@@ -582,34 +543,35 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}[1994/06/01]
-\ProvidesPackage{uri}[2011/03/04 v1.0a
+\NeedsTeXFormat{LaTeX2e}[2015/01/01]
+\ProvidesPackage{uri}[2018/09/01 v2.0a
    Hyperlinks URIs like DOI,HDL,NBN,PubMed (HMM)]
 
 %    \end{macrocode}
 %
-% A short description of the \textsf{uri} package:
+% A short description of the \xpackage{uri} package:
 %
 %    \begin{macrocode}
-%% Allows to automatically hyperlink uris of type
-%% arXiv, ASIN, DOI, HDL, NBN, PubMed, OID, TINY, TINY with preview, XMPP
+%% Allows to automatically hyperlink uris of types
+%% arXiv, ASIN, DOI, HDL, NBN, OCLC, OID, PubMed, TINY, TINY with preview,
+%% and WebCite
 %% in such a way that they are resolved to an address understood by browsers
-%% without native support or add-ons for such types of uri
-%% and provides commands citeurl, mailto, ukoeln, and uref.
+%% independent of native support or add-ons for such types of uri
+%% and provides commands \citeurl, \mailto, \ukoeln, and \uref.
 %    \end{macrocode}
 %
-% For the handling of the options we need the \textsf{kvoptions}
-% package of Heiko Oberdiek (see subsection~\ref{ss:Downloads}):
+% For the handling of the options we need the \xpackage{kvoptions}
+% package of \textsc{Heiko Oberdiek} (see subsection~\ref{ss:Downloads}):
 %
 %    \begin{macrocode}
-\RequirePackage{kvoptions}[2010/02/22]% v3.7
+\RequirePackage{kvoptions}[2011/06/30]% v3.11
 %    \end{macrocode}
 %
-% We need the \textsf{url} package of Donald Arseneau and Robin Fairbairns
-% (see subsection~\ref{ss:Downloads}):
+% We need the \xpackage{url} package of \textsc{Donald Arseneau} and
+% \textsc{Robin Fairbairns} (see subsection~\ref{ss:Downloads}):
 %
 %    \begin{macrocode}
-\RequirePackage{url}[2006/04/12]% v3.3, documentation as of 2010/01/20
+\RequirePackage{url}[2013/09/16]% v3.4
 
 %    \end{macrocode}
 %
@@ -616,98 +578,256 @@
 % When spaces shall be kept, |\usepackage[obeyspaces]{url}| should be used
 % in the document (and |\ | in the options), and for using special characters even
 % |\usepackage[obeyspaces,T1]{url}| could be a good idea.~-
-% When the \textsf{hyperref} package has been loaded, we hyperlink the uris,
-% otherwise we do not do this.\\
-% \textbf{So, if you want hyperlinks, load \textsf{uri} after \textsf{hyperref},
-% otherwise before} (or no \textsf{hyperref} at all, of course).\\
+% When the \xpackage{hyperref} package has been loaded, we hyperlink the uris,
+% otherwise we do not do this.\newline
+% \textbf{So, if you want hyperlinks, load \xpackage{uri} after \xpackage{hyperref},
+% otherwise before} (or no \xpackage{hyperref} at all, of course).
 %
-% For each supported uri type there are two options, \texttt{...pre} and \texttt{...post},
-% e.\,g. \texttt{asinpre} and \texttt{asinpost}. For example the option |doipre={DOI:\ }|
-% results in \textquotedblleft DOI:\ \textquotedblright \ (without the quotation marks,
-% of course) to be written before the DOIs.\\
-% (There are more brackets and braces then necessary here, but somebody
-% is going to tamper with it, and then it will not work~-- better prevent this.)
+% For each supported uri type there are two options, |...pre| and |...post|,
+% e.\,g. |doipre| and |doipost|. For example the option |doipre={DOI:\ }|
+% results in \hbox{\textquotedblleft{}DOI:\ \textquotedblright}
+% (without the quotation marks, of course) to be written before the DOIs.\newline
+% (There are more brackets and braces then necessary here, but better
+% save than sorry, i.\,e. make it robust.)
 %
 %    \begin{macrocode}
 \SetupKeyvalOptions{family = uri, prefix = uri@}
 
-\DeclareStringOption[{arXiv:}]{arxivpre}[{arXiv:}]
-\DeclareStringOption[{}]{arxivpost}[{}]
+\DeclareStringOption[arXiv:]{arxivpre}[arXiv:]
+\DeclareStringOption[]{arxivpost}[]
 
-\DeclareStringOption[{ASIN:}]{asinpre}[{ASIN:}]
-\DeclareStringOption[{}]{asinpost}[{}]
+\DeclareStringOption[ASIN:]{asinpre}[ASIN:]
+\DeclareStringOption[]{asinpost}[]
 
-\DeclareStringOption[{DOI:}]{doipre}[{DOI:}]
-\DeclareStringOption[{}]{doipost}[{}]
+\DeclareStringOption[DOI:]{doipre}[DOI:]
+\DeclareStringOption[]{doipost}[]
 
-\DeclareStringOption[{HDL:}]{hdlpre}[{HDL:}]
-\DeclareStringOption[{}]{hdlpost}[{}]
+\DeclareStringOption[HDL:]{hdlpre}[HDL:]
+\DeclareStringOption[]{hdlpost}[]
 
-\DeclareStringOption[{}]{nbnpre}[{}]
-\DeclareStringOption[{}]{nbnpost}[{}]
+\DeclareStringOption[]{nbnpre}[]
+\DeclareStringOption[]{nbnpost}[]
 
-\DeclareStringOption[{PubMed:}]{pubmedpre}[{PubMed:}]
-\DeclareStringOption[{}]{pubmedpost}[{}]
+\DeclareStringOption[OCLC:]{oclcpre}[OCLC:]
+\DeclareStringOption[]{oclcpost}[]
 
-\DeclareStringOption[{URN:OID:}]{oidpre}[{URN:OID:}]
-\DeclareStringOption[{}]{oidpost}[{}]
+\DeclareStringOption[URN:OID:]{oidpre}[URN:OID:]
+\DeclareStringOption[]{oidpost}[]
 
-\DeclareStringOption[{TINY:}]{tinypre}[{TINY:}]
-\DeclareStringOption[{}]{tinypost}[{}]
+\DeclareStringOption[PubMed:]{pubmedpre}[PubMed:]
+\DeclareStringOption[]{pubmedpost}[]
 
-\DeclareStringOption[{TINY:P:}]{tinyppre}[{TINY:P:}]
-\DeclareStringOption[{}]{tinyppost}[{}]
+%    \end{macrocode}
+%
+% The commands are \verb|tinyuri| and \verb|tinypuri|,
+% thus the according options are
+% tinyuripre, tinyuripre, tinyuripost, tinypuripost, and tinypuripre.
+% In older versions they were
+% tinypre, tinypre, tinypost, tinyppost, and tinyppre.
+% For backward compatibility we need to define and handle them:
+%
+%    \begin{macrocode}
+\def\uri at tiny@pre at default{TINY:}
+\def\uri at tiny@post at default{}
 
-\DeclareStringOption[{URN:XMPP:}]{xmpppre}[{}]
-\DeclareStringOption[{}]{xmpppost}[{}]
+\def\uri at tinyp@pre at default{TINY:P:}
+\def\uri at tinyp@post at default{}
 
-\DeclareStringOption[{<}]{citeurlpre}[{<}]
-\DeclareStringOption[{>}]{citeurlpost}[{>}]
+\DeclareStringOption[\uri at tiny@pre at default]{tinypre}[\uri at tiny@pre at default]
+\DeclareStringOption[\uri at tiny@post at default]{tinypost}[\uri at tiny@post at default]
 
-\DeclareStringOption[{mailto:}]{mailtopre}[{mailto:}]
-\DeclareStringOption[{}]{mailtopost}[{}]
+\DeclareStringOption[\uri at tinyp@pre at default]{tinyppre}[\uri at tinyp@pre at default]
+\DeclareStringOption[\uri at tinyp@post at default]{tinyppost}[\uri at tinyp@post at default]
 
-\DeclareStringOption[{http://ukoeln.de/}]{ukoelnpre}[{http://ukoeln.de/}]
-\DeclareStringOption[{}]{ukoelnpost}[{}]
+\DeclareStringOption[\uri at tiny@pre at default]{tinyuripre}[\uri at tiny@pre at default]
+\DeclareStringOption[\uri at tiny@post at default]{tinyuripost}[\uri at tiny@post at default]
 
+\DeclareStringOption[\uri at tinyp@pre at default]{tinypuripre}[\uri at tinyp@pre at default]
+\DeclareStringOption[\uri at tinyp@post at default]{tinypuripost}[\uri at tinyp@post at default]
+
+\DeclareStringOption[WC:]{wcpre}[WC:]
+\DeclareStringOption[]{wcpost}[]
+
+\DeclareStringOption[URN:XMPP:]{xmpppre}[]
+\DeclareStringOption[]{xmpppost}[]
+
+\DeclareStringOption[<]{citeurlpre}[<]
+\DeclareStringOption[>]{citeurlpost}[>]
+
+\DeclareStringOption[mailto:]{mailtopre}[mailto:]
+\DeclareStringOption[]{mailtopost}[]
+
+\DeclareStringOption[http://UKoeln.de/]{ukoelnpre}[http://UKoeln.de/]
+\DeclareStringOption[]{ukoelnpost}[]
+
 \ProcessKeyvalOptions*
 
 %    \end{macrocode}
 %
-% Now we define the commands, using |\tinyuri| instead of |\tiny|, because that command already existed before
+% To set options with more complicated/problematic content,
+% \verb|\urisetup| is needed. With this the user can set
+% the according option(s) after loading this package
+% (please see the example file).
+%
+%    \begin{macrocode}
+\gdef\urisetup{\kvsetkeys{uri}}
+
+%    \end{macrocode}
+%
+% Handling of deprecated options
+% tinypre, tinypre, tinypost, tinyppost, and tinyppre:
+%
+%    \begin{macrocode}
+\def\uri at wrapper{\uri at tiny@pre at default}
+\ifx\uri at tinypre\uri at wrapper%
+\else%
+  \ifx\uri at tinyuripre\uri at wrapper%
+    \PackageWarning{uri}{Option tinypre deprecated.\MessageBreak%
+      Please use tinyuripre instead!\MessageBreak%
+      Transfering content of option tinypre to tinyuripre now;\MessageBreak%
+      }%
+    \let\uri at tinyuripre\uri at tinypre%
+  \else%
+    \PackageError{uri}{Conflicting options tinypre and tinyuripre used}{%
+      Option tinypre deprecated.\MessageBreak%
+      Please use ONLY option tinyuripre instead!\MessageBreak%
+      Ignoring option tinypre now.\MessageBreak%
+      }%
+  \fi%
+\fi%
+
+\def\uri at wrapper{\uri at tiny@post at default}
+\ifx\uri at tinypost\uri at wrapper%
+\else%
+  \ifx\uri at tinyuripost\uri at wrapper%
+    \PackageWarning{uri}{Option tinypost deprecated.\MessageBreak%
+      Please use tinyuripost instead!\MessageBreak%
+      Transfering content of option tinypost to tinyuripost now;\MessageBreak%
+      }%
+    \let\uri at tinyuripost\uri at tinypost%
+  \else%
+    \PackageError{uri}{Conflicting options tinypost and tinyuripost used}{%
+      Option tinypost deprecated.\MessageBreak%
+      Please use ONLY option tinyuripost instead!\MessageBreak%
+      Ignoring option tinypost now.\MessageBreak%
+      }%
+  \fi%
+\fi%
+
+\def\uri at wrapper{\uri at tinyp@pre at default}
+\ifx\uri at tinyppre\uri at wrapper%
+\else%
+  \ifx\uri at tinypuripre\uri at wrapper%
+    \PackageWarning{uri}{Option tinyppre deprecated.\MessageBreak%
+      Please use tinypuripre instead!\MessageBreak%
+      Transfering content of option tinyppre to tinypuripre now;\MessageBreak%
+      }%
+    \let\uri at tinypuripre\uri at tinyppre%
+  \else%
+    \PackageError{uri}{Conflicting options tinyppre and tinypuripre used}{%
+      Option tinyppre deprecated.\MessageBreak%
+      Please use ONLY option tinypuripre instead!\MessageBreak%
+      Ignoring option tinyppre now.\MessageBreak%
+      }%
+  \fi%
+\fi%
+
+\def\uri at wrapper{\uri at tinyp@post at default}
+\ifx\uri at tinyppost\uri at wrapper%
+\else%
+  \ifx\uri at tinypuripost\uri at wrapper%
+    \PackageWarning{uri}{Option tinyppost deprecated.\MessageBreak%
+      Please use tinypuripost instead!\MessageBreak%
+      Transfering content of option tinyppost to tinypuripost now;\MessageBreak%
+      }%
+    \let\uri at tinypuripost\uri at tinyppost%
+  \else%
+    \PackageError{uri}{Conflicting options tinyppost and tinypuripost used}{%
+      Option tinyppost deprecated.\MessageBreak%
+      Please use ONLY option tinypuripost instead!\MessageBreak%
+      Ignoring option tinyppost now.\MessageBreak%
+      }%
+  \fi%
+\fi%
+
+%    \end{macrocode}
+%
+% We disable the deprecated options. If not disabled,
+% it would be possible to use \verb|\urisetup| with them
+% without error message, but this would not have any effect,
+% because only the newer options
+% tinyuripre, tinyuripre, tinyuripost, tinypuripost, and tinypuripre
+% are regarded.
+%
+%    \begin{macrocode}
+\DisableKeyvalOption[action={error},package=uri]{uri}{tinypre}
+\DisableKeyvalOption[action={error},package=uri]{uri}{tinypost}
+\DisableKeyvalOption[action={error},package=uri]{uri}{tinyppre}
+\DisableKeyvalOption[action={error},package=uri]{uri}{tinyppost}
+
+%    \end{macrocode}
+%
+% Now we define the commands, using |\tinyuri| instead of |\tiny|,
+% because that command already existed before
 % (and accordingly |\tinypuri|, even if |\tinyp| did not exist).
 %
 %    \begin{macrocode}
 \@ifpackageloaded{hyperref}{%
-\newcommand{\uref}[2]{\protect\href{#1}{\protect\nolinkurl{#2}}}%
+\DeclareRobustCommand{\uref}[2]{\protect\href{#1}{\protect\nolinkurl{#2}}}%
 %% arXiv
-\DeclareUrlCommand\arxiv{\def\UrlLeft##1\UrlRight{\href{http://arxiv.org/abs/##1}{\uri at arxivpre##1\uri at arxivpost}}}%
+\DeclareUrlCommand\arxiv{\def\UrlLeft##1\UrlRight{\href{https://arxiv.org/abs/##1}{\uri at arxivpre##1\uri at arxivpost}}}%
 %% ASIN
-\DeclareUrlCommand\asin{\def\UrlLeft##1\UrlRight{\href{http://amzn.com/##1}{\uri at asinpre##1\uri at asinpost}}}%
+\DeclareUrlCommand\asin{\def\UrlLeft##1\UrlRight{\href{https://amzn.com/##1}{\uri at asinpre##1\uri at asinpost}}}%
 %% DOI
-\DeclareUrlCommand\doi{\def\UrlLeft##1\UrlRight{\href{http://dx.doi.org/##1}{\uri at doipre##1\uri at doipost}}}%
+\DeclareUrlCommand\doi{\def\UrlLeft##1\UrlRight{\href{https://dx.doi.org/##1}{\uri at doipre##1\uri at doipost}}}%
 %% HDL
-\DeclareUrlCommand\hdl{\def\UrlLeft##1\UrlRight{\href{http://hdl.handle.net/##1}{\uri at hdlpre##1\uri at hdlpost}}}%
+\DeclareUrlCommand\hdl{\def\UrlLeft##1\UrlRight{\href{https://hdl.handle.net/##1}{\uri at hdlpre##1\uri at hdlpost}}}%
 %% NBN
-\DeclareUrlCommand\nbn{\def\UrlLeft##1\UrlRight{\href{http://nbn-resolving.org/##1}{\uri at nbnpre##1\uri at nbnpost}}}%
+\DeclareUrlCommand\nbn{\def\UrlLeft##1\UrlRight{\href{https://nbn-resolving.org/urn/resolver.pl?urn=##1}{\uri at nbnpre##1\uri at nbnpost}}}%
+%% OCLC
+\DeclareUrlCommand\oclc{\def\UrlLeft##1\UrlRight{\href{https://www.worldcat.org/oclc/##1}{\uri at oclcpre##1\uri at oclcpost}}}%
 %% OID
-\DeclareUrlCommand\oid{\def\UrlLeft##1\UrlRight{\href{http://www.oid-info.com/cgi-bin/display?oid=##1&submit=Display&action=display}{\uri at oidpre##1\uri at oidpost}}}%
+\DeclareUrlCommand\oid{\def\UrlLeft##1\UrlRight{\href{http://www.oid-info.com/cgi-bin/display?oid=##1&submit=Display&action=display}{%
+\uri at oidpre##1\uri at oidpost}}}%
 %% PubMed
-\DeclareUrlCommand\pubmed{\def\UrlLeft##1\UrlRight{\href{http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=PubMed&list_uids=##1&dopt=Abstract}{\uri at pubmedpre##1\uri at pubmedpost}}}%
+\DeclareUrlCommand\pubmed{\def\UrlLeft##1\UrlRight{%
+\href{https://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=PubMed&list_uids=##1&dopt=Abstract}{\uri at pubmedpre##1\uri at pubmedpost}}}%
 %% TINY
-\DeclareUrlCommand\tinyuri{\def\UrlLeft##1\UrlRight{\href{http://tinyurl.com/##1}{\uri at tinypre##1\uri at tinypost}}}%
+\DeclareUrlCommand\tinyuri{\def\UrlLeft##1\UrlRight{\href{https://tinyurl.com/##1}{\uri at tinyuripre##1\uri at tinyuripost}}}%
 %% TINYP (tiny with preview)
-\DeclareUrlCommand\tinypuri{\def\UrlLeft##1\UrlRight{\href{http://preview.tinyurl.com/##1}{\uri at tinyppre##1\uri at tinyppost}}}%
+\DeclareUrlCommand\tinypuri{\def\UrlLeft##1\UrlRight{\href{https://preview.tinyurl.com/##1}{\uri at tinypuripre##1\uri at tinypuripost}}}%
+%% WebCite
+\DeclareUrlCommand\wc{\def\UrlLeft##1\UrlRight{\href{https://www.webcitation.org/##1}{\uri at wcpre##1\uri at wcpost}}}%
 %% XMPP
-\DeclareUrlCommand\xmpp{\def\UrlLeft##1\UrlRight{\href{http://xmpp.org/protocols/urn:xmpp:##1/}{\uri at xmpppre##1\uri at xmpppost}}}%
+\DeclareUrlCommand\xmpp{%
+  \PackageError{uri}{Command \string\xmpp\space deprecated}{%
+    XMPP (https://xmpp.org/about/) changed, for example URN:XMPP:time\MessageBreak%
+    was moved from https://xmpp.org/protocols/urn:xmpp:time/\MessageBreak%
+    to https://xmpp.org/extensions/xep-0202.html. Therefore\MessageBreak%
+    \string\xmpp\space is no longer provided by this package.\MessageBreak%
+    For backward compatibility \string\xmpp\space links to\MessageBreak%
+    https://xmpp.org/extensions/.\MessageBreak%
+    Please replace \string\xmpp\space in your document by the appropriate url.\MessageBreak%
+  }%
+  \def\UrlLeft##1\UrlRight{\href{https://xmpp.org/extensions/}{\uri at xmpppre##1\uri at xmpppost}}%
+  }%
 %% citeurl
 \DeclareUrlCommand\citeurl{\def\UrlLeft##1\UrlRight{\href{##1}{\uri at citeurlpre##1\uri at citeurlpost}}}%
 %% mailto
-\DeclareUrlCommand\mailto{\def\UrlLeft##1\UrlRight{\href{mailto:##1}{\uri at mailtopre##1\uri at mailtopost}}}%
+\DeclareUrlCommand\mailto@{\def\UrlLeft##1\UrlRight{\href{mailto:##1\mailto at subject}{\uri at mailtopre##1\uri at mailtopost}}}%
+\DeclareRobustCommand\mailto[1][]{\def\mailto at subject{?subject=#1}\mailto@}%
+%    \end{macrocode}
+%
+% \verb|\mailto| code provided by \textsc{Frank Mittelbach} (thanks!),
+% making possible \verb|\mailto{person at example.org}| as well as\newline
+% \verb|\mailto[Some subject of the e-mail]{person at example.org}|,
+% i.\,e. \verb|mailto:person at example.org?subject=Some subject of the e-mail|.
+%
+%    \begin{macrocode}
 %% ukoeln
-\DeclareUrlCommand\ukoeln{\def\UrlLeft##1\UrlRight{\href{http://ukoeln.de/##1}{\uri at ukoelnpre##1\uri at ukoelnpost}}}%
+\DeclareUrlCommand\ukoeln{\def\UrlLeft##1\UrlRight{\href{https://UKoeln.de/##1}{\uri at ukoelnpre##1\uri at ukoelnpost}}}%
 }{% otherwise, i.e. if hyperref has not been loaded:
-\newcommand{\uref}[2]{\protect\nolinkurl{#2}}%
+\DeclareRobustCommand{\uref}[1]{\url}%
 %% arXiv
 \DeclareUrlCommand\arxiv{\def\UrlLeft##1\UrlRight{\uri at arxivpre##1\uri at arxivpost}}%
 %% ASIN
@@ -718,20 +838,25 @@
 \DeclareUrlCommand\hdl{\def\UrlLeft##1\UrlRight{\uri at hdlpre##1\uri at hdlpost}}%
 %% NBN
 \DeclareUrlCommand\nbn{\def\UrlLeft##1\UrlRight{\uri at nbnpre##1\uri at nbnpost}}%
+%% OCLC
+\DeclareUrlCommand\oclc{\def\UrlLeft##1\UrlRight{\uri at oclcpre##1\uri at oclcpost}}%
 %% OID
 \DeclareUrlCommand\oid{\def\UrlLeft##1\UrlRight{\uri at oidpre##1\uri at oidpost}}%
 %% PubMed
 \DeclareUrlCommand\pubmed{\def\UrlLeft##1\UrlRight{\uri at pubmedpre##1\uri at pubmedpost}}%
 %% TINY
-\DeclareUrlCommand\tinyuri{\def\UrlLeft##1\UrlRight{\uri at tinypre##1\uri at tinypost}}%
+\DeclareUrlCommand\tinyuri{\def\UrlLeft##1\UrlRight{\uri at tinyuripre##1\uri at tinyuripost}}%
 %% TINYP (tiny with preview)
-\DeclareUrlCommand\tinypuri{\def\UrlLeft##1\UrlRight{\uri at tinyppre##1\uri at tinyppost}}%
+\DeclareUrlCommand\tinypuri{\def\UrlLeft##1\UrlRight{\uri at tinypuripre##1\uri at tinypuripost}}%
+%% WebCite
+\DeclareUrlCommand\wc{\def\UrlLeft##1\UrlRight{\uri at wcpre##1\uri at wcpost}}%
 %% XMPP
 \DeclareUrlCommand\xmpp{\def\UrlLeft##1\UrlRight{\uri at xmpppre##1\uri at xmpppost}}%
 %% citeurl
 \DeclareUrlCommand\citeurl{\def\UrlLeft##1\UrlRight{\uri at citeurlpre##1\uri at citeurlpost}}%
 %% mailto
-\DeclareUrlCommand\mailto{\def\UrlLeft##1\UrlRight{\uri at mailtopre##1\uri at mailtopost}}%
+\DeclareUrlCommand\mailto@{\def\UrlLeft##1\UrlRight{\uri at mailtopre##1\uri at mailtopost}}%
+\DeclareRobustCommand\mailto[1][]{\mailto@}%
 %% ukoeln
 \DeclareUrlCommand\ukoeln{\def\UrlLeft##1\UrlRight{\uri at ukoelnpre##1\uri at ukoelnpost}}%
 }
@@ -738,33 +863,37 @@
 
 %    \end{macrocode}
 %
-% Note that you cannot create those addresses by this way, only link to existing ones.\\
+% Note that you cannot create those addresses by this way, only link to existing ones.
 %
-% That was already everything which was necessary.\\
+% That was already everything which was necessary.
+%
 % (Ones you get the syntax for the |\DeclareUrlCommand| right, it is straight forward.
-% Emphasis is at \textquotedblleft Ones\textquotedblright \ldots )
+% Emphasis is at \textquotedblleft Ones\textquotedblright\ldots )
 %
+% \pagebreak
 % \begin{macro}{\AtBeginDocument}
-% \indent |\AtBeginDocument| it is checked whether the \textsf{doi} or the
-% \textsf{doipubmed} package are loaded.
+% \indent |\AtBeginDocument| it is checked whether any of the
+% \xpackage{aurl}, \xpackage{doi}, or \xpackage{doipubmed} packages are loaded.
 %
 %    \begin{macrocode}
 \AtBeginDocument{%
+  \@ifpackageloaded{aurl}%
+    {\PackageWarning{uri}{Packages uri AND aurl detected.\MessageBreak%
+       Results might depend on order of loading;\MessageBreak}%
+    }{\relax}%
   \@ifpackageloaded{doi}%
     {\PackageWarning{uri}{Packages uri AND doi detected.\MessageBreak%
-       Result will depend on order of loading!\MessageBreak%
+       Results will depend on order of loading!\MessageBreak%
        Consider using only one package.\MessageBreak%
-       The uri package alone should be sufficient.\MessageBreak%
-       }%
+       The uri package alone should be sufficient;\MessageBreak}%
     }{\relax}%
   \@ifpackageloaded{doipubmed}%
     {\PackageWarning{uri}{Packages uri AND doipubmed detected.\MessageBreak%
-       Result will depend on order of loading!\MessageBreak%
+       Results will depend on order of loading!\MessageBreak%
        Consider using only one package.\MessageBreak%
-       The uri package alone should be sufficient.\MessageBreak%
-       }%
+       The uri package alone should be sufficient;\MessageBreak}%
     }{\relax}%
-  }
+  }%
 %    \end{macrocode}
 % \end{macro}
 %
@@ -779,114 +908,115 @@
 %
 % \subsection{Downloads\label{ss:Downloads}}
 %
-% Everything is available on \CTAN{}, \url{ftp://ftp.ctan.org/tex-archive/},
-% but may need additional packages themselves.\\
+% Everything is available on CTAN: \url{https://www.ctan.org/pkg/}
+% but may need additional packages themselves.
 %
 % \DescribeMacro{uri.dtx}
-% For unpacking the |uri.dtx| file and constructing the documentation it is required:
+% For unpacking the |uri.dtx| file and constructing the documentation it is required
+% (newer versions should be OK):
 % \begin{description}
-% \item[-] \TeX Format \LaTeXe, 1994/06/01, v2$\varepsilon $: \CTAN{}
+% \item[-] \TeX{} Format \LaTeXe, 2016/03/31, v2$\varepsilon $:
+%   \url{https://www.CTAN.org}
 %
-% \item[-] document class \textsf{ltxdoc}, 2007/11/11, v2.0u,\\
-%           \CTAN{macros/latex/base/ltxdoc.dtx}
+% \item[-] document class \xclass{ltxdoc}, 2015/03/26, v2.0w,
+%   \url{https://www.ctan.org/pkg/ltxdoc}
 %
-% \item[-] package \textsf{lscape}, 2000/10/22, v3.01, from the graphics bundle:\\
-%           \CTAN{macros/latex/required/graphics/}
+% \item[-] package \xpackage{pdflscape}, 2008/08/11, v0.10,
+%   \url{https://www.ctan.org/pkg/pdflscape}
 %
-% \item[-] package \textsf{holtxdoc}, 2010/04/24, v0.19,\\
-%           \CTAN{macros/latex/contrib/oberdiek/holtxdoc.dtx}
+% \item[-] package \xpackage{holtxdoc}, 2012/03/21, v0.24,
+%   \url{https://www.ctan.org/pkg/holtxdoc}
 %
-% \item[-] package \textsf{hypdoc}, 2010/03/26, v1.9,\\
-%           \CTAN{macros/latex/contrib/oberdiek/hypdoc.dtx}
+% \item[-] package \xpackage{hypdoc}, 2011/08/19, v1.11,
+%   \url{https://www.ctan.org/pkg/hypdoc}
 % \end{description}
 %
 % \DescribeMacro{uri.sty}
-% The |uri.sty| for \LaTeXe\ (i.\,e. all documents using
-% the \textsf{uri} package) requires:
+% The |uri.sty| for \LaTeXe{} (i.\,e. all documents using
+% the \xpackage{uri} package) requires:
 % \begin{description}
-% \item[-] \TeX Format \LaTeXe, 1994/06/01, v2$\varepsilon $, \CTAN{}
+% \item[-] \TeX{} Format \LaTeXe, 2016/03/31, v2$\varepsilon $:
+%   \url{https://www.CTAN.org}
 %
-% \item[-] package \textsf{kvoptions}, 2010/02/22, v3.7,\\
-%           \CTAN{macros/latex/contrib/oberdiek/kvoptions.dtx}
+% \item[-] package \xpackage{kvoptions}, 2011/06/30, v3.11,
+%   \url{https://www.ctan.org/pkg/kvoptions}
 %
-% \item[-] package \textsf{url}, 2006/04/12 (documentation 2010/01/22), v3.3,\\
-%           \CTAN{macros/latex/contrib/url}
+% \item[-] package \xpackage{url}, 2013/09/16, v3.4, 
+%   \url{https://www.ctan.org/pkg/url}
 % \end{description}
 %
 % \DescribeMacro{uri-example.tex}
 % The |uri-example.tex| requires the same files as all
-% documents using the \textsf{uri} package, especially:
+% documents using the \xpackage{uri} package, especially:
 % \begin{description}
-% \item[-] package \textsf{uri}, 2011/03/04, v1.0a,\\
-%           \CTAN{macros/latex/contrib/uri/uri.dtx}\\
+% \item[-] package \xpackage{hyperref}, 2012/11/06, v6.83m,
+%   \url{https://www.ctan.org/pkg/hyperref}\newline
+%   (not generally necessary but probably used most often)
+% \item[-] package \xpackage{uri}, 2018/09/01, v2.0a,
+%   \url{https://www.ctan.org/pkg/uri}\newline
 %   (Well, it is the example file for this package, and because you are reading the
-%    documentation for the \textsf{uri} package, it can be assumed that you already
+%    documentation for the \xpackage{uri} package, it can be assumed that you already
 %    have some version of it~-- is it the current one?)
 % \end{description}
+% \noindent and additionally (for demonstration purposes)
+% \begin{description}
+% \item[-] package \xpackage{amsmath}, 2016/03/10, v2.15b,
+%   \url{https://www.ctan.org/pkg/amsmath}
+% \item[-] package \xpackage{relsize}, 2013/03/29, v4.1,
+%   \url{https://www.ctan.org/pkg/relsize}
+% \end{description}
 %
-% As possible alternatives in section \ref{sec:Alternatives} there are listed
+% As possible alternatives to \xpackage{uri} in section \ref{sec:Alternatives}
+% there are listed
+% \DescribeMacro{aurl}
 % \DescribeMacro{doi}
 % \DescribeMacro{doipubmed}
 % \begin{description}
-% \item[-] package \textsf{doi}, 2007/07/24, v?.?,\\
-%           \CTAN{macros/latex/contrib/doi/}
+% \item[-] package \xpackage{aurl}, 2016/08/12, v?.?,
+%   \url{https://www.ctan.org/pkg/aurl}
 %
-% \item[-] package \textsf{doipubmed}, 2007/08/20, v1.01,\\
-%           \CTAN{macros/latex/contrib/doipubmed/}
+% \item[-] package \xpackage{doi}, 2007/07/24, v?.?,
+%   \url{https://www.ctan.org/pkg/doi}
+%
+% \item[-] package \xpackage{doipubmed}, 2007/08/20, v1.01,
+%   \url{https://www.ctan.org/pkg/doipubmed}
 % \end{description}
 %
 % \DescribeMacro{Oberdiek}
 % \DescribeMacro{holtxdoc}
 % \DescribeMacro{kvoptions}
-% All packages of Heiko Oberdiek's bundle `oberdiek'
-% (especially \textsf{holtxdoc} and \textsf{kvoptions})
-% are also available in a TDS compliant ZIP archive:\\
-% \CTAN{install/macros/latex/contrib/oberdiek.tds.zip}.\\
-% \textbf{Warning}: holtxdoc, 2010/04/24 v0.19, requires the packages
-% \begin{description}
-% \item[-] hypdoc, 2010/03/26, v1.9
-% \item[-] hyperref, 2010/03/30, v6.80u (latest: 2011/02/07, v6.82b)
-% \item[-] pdftexcmds, 2010/04/01, v0.9
-% \item[-] ltxcmds, 2010/03/09, v1.4 (latest: 2010/04/26, v1.7)
-% \item[-] hologo, 2010/04/24, v1.2
-% \item[-] array (latest: 2008/09/09, v2.4c)
-% \end{description}
-% (or more recent versions) and does neither work with
-% nor check for earlier versions!\\
-% (It is probably best to download\\
-% \CTAN{install/macros/latex/contrib/oberdiek.tds.zip}
-% and use this, because the packages in there should be both
-% recent and compatible.)\\
+% All packages of \textsc{Heiko Oberdiek}'s bundle `oberdiek'
+% (especially \xpackage{holtxdoc} and \xpackage{kvoptions})
+% are also available in a TDS compliant ZIP archive:\newline
+% \url{http://mirror.ctan.org/install/macros/latex/contrib/oberdiek.tds.zip}.\newline
+% It is probably best to download and use this, because the packages in there
+% should be both recent and compatible.
 %
 % \DescribeMacro{M\"{u}nch}
-% A list of my packages can be found at
-% \ \url{http://www.Uni-Bonn.de/~uzs5pv/LaTeX.html}.\\
+% A list of my packages can be found at \url{https://www.ctan.org/author/muench-hm}.
 %
 % \subsection{Package, unpacking TDS}
-%
-% \paragraph{Package.} This package is available on \CTAN{}:
+% \paragraph{Package.} This package is available on \url{https://www.CTAN.org}.
 % \begin{description}
-% \item[\CTAN{macros/latex/contrib/uri/uri.dtx}]\hspace*{0.1cm} \\
+% \item[\url{http://mirror.ctan.org/macros/latex/contrib/uri/uri.dtx}]\hspace*{0.1cm}
 %       The source file.
-% \item[\CTAN{macros/latex/contrib/uri/uri.pdf}]\hspace*{0.1cm} \\
+% \item[\url{http://mirror.ctan.org/macros/latex/contrib/uri/uri.pdf}]\hspace*{0.1cm}
 %       The documentation.
-% \item[\CTAN{macros/latex/contrib/uri/uri-example.pdf}]\hspace*{0.1cm} \\
+% \item[\url{http://mirror.ctan.org/macros/latex/contrib/uri/uri-example.pdf}]\hspace*{0.1cm}
 %       The compiled example file, as it should look like.
-% \item[\CTAN{macros/latex/contrib/uri/README}]\hspace*{0.1cm} \\
+% \item[\url{http://mirror.ctan.org/macros/latex/contrib/uri/README}]\hspace*{0.1cm}
 %       The README file.
 % \end{description}
 % There is also a uri.tds.zip available:
 % \begin{description}
-% \item[\CTAN{install/macros/latex/contrib/uri.tds.zip}]\hspace*{0.1cm} \\
+% \item[\url{http://mirror.ctan.org/install/macros/latex/contrib/uri.tds.zip}]\hspace*{0.1cm}\newline
 %       Everything in TDS compliant, compiled format.
 % \end{description}
-% which additionally contains\\
+% which additionally contains\newline
 % \begin{tabular}{ll}
-% uri.ins & The installation file.\\
-% uri.drv & The driver to generate the documentation.\\
-% ltxdoc.cfg & The \LaTeX\ documentation configuration file,\\
-%            & also for generating the documentation.\\
-% uri.sty &  The \xext{sty}le file.\\
+% uri.ins         & The installation file.\\
+% uri.drv         & The driver to generate the documentation.\\
+% uri.sty         &  The \xext{sty}le file.\\
 % uri-example.tex & The example file.%
 % \end{tabular}
 %
@@ -895,13 +1025,13 @@
 % \noindent For required other packages, see the preceding subsection.
 %
 % \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
-% \docstrip\ archive. The files are extracted by running the
+% \docstrip{} archive. The files are extracted by running the
 % \xfile{.dtx} through \plainTeX:
 % \begin{quote}
 %   \verb|tex uri.dtx|
 % \end{quote}
 %
-% About generating the documentation see paragraph~\ref{GenDoc} below.\\
+% About generating the documentation see paragraph~\ref{GenDoc} below.\newline
 %
 % \paragraph{TDS.} Now the different files must be moved into
 % the different directories in your installation TDS tree
@@ -981,20 +1111,20 @@
 %
 % \subsection{Refresh file name databases}
 %
-% If your \TeX~distribution (\teTeX, \mikTeX,\dots) relies on file name
-% databases, you must refresh these. For example, \teTeX\ users run
+% If your \TeX~distribution (\TeX{} Live, \mikTeX, \teTeX, \dots) relies on
+% file name databases, you must refresh these. For example, \teTeX{} users run
 % \verb|texhash| or \verb|mktexlsr|.
 %
 % \subsection{Some details for the interested}
 %
-% \paragraph{Unpacking with \LaTeX.}
+% \paragraph{Unpacking with \LaTeX{}.}
 % The \xfile{.dtx} chooses its action depending on the format:
 % \begin{description}
-% \item[\plainTeX:] Run \docstrip\ and extract the files.
+% \item[\plainTeX:] Run \docstrip{} and extract the files.
 % \item[\LaTeX:] Generate the documentation.
 % \end{description}
-% If you insist on using \LaTeX\ for \docstrip\ (really,
-% \docstrip\ does not need \LaTeX), then inform the autodetect routine
+% If you insist on using \LaTeX{} for \docstrip{} (really,
+% \docstrip{} does not need \LaTeX ), then inform the autodetect routine
 % about your intention:
 % \begin{quote}
 %   \verb|latex \let\install=y\input{uri.dtx}|
@@ -1004,7 +1134,7 @@
 %
 % \paragraph{Generating the documentation.\label{GenDoc}}
 % You can use both the \xfile{.dtx} or the \xfile{.drv} to generate
-% the documentation. The process can be configured by the
+% the documentation. The process can be configured by a
 % configuration file \xfile{ltxdoc.cfg}. For instance, put the following
 % line into this file, if you want to have A4 as paper format:
 % \begin{quote}
@@ -1026,20 +1156,21 @@
 %
 % \subsection{Compiling the example}
 %
-% The example file, \textsf{uri-example.tex}, can be compiled via\\
-% \indent |latex uri-example.tex|\\
-% or (recommended)\\
-% \indent |pdflatex uri-example.tex|\\
+% The example file, \xpackage{uri-example.tex}, can be compiled via\newline
+% \indent \verb|(pdf)latex uri-example.tex|\newline
 % but will need probably three compiler runs to get everything right.
 %
 % \section{Acknowledgements}
 %
-% I (H.-Martin M\"{u}nch) would like to thank Heiko Oberdiek
-% (heiko dot oberdiek at googlemail dot com) for providing
-% a~lot~(!) of useful packages (from which I also got everything I
-% know about creating a file in \xfile{dtx} format, ok, say it: copying),
-% and the \Newsgroup{comp.text.tex} and \Newsgroup{de.comp.text.tex}
-% newsgroups for their help in all things \TeX.
+% I (H.-Martin M\"{u}nch) would like to thank \textsc{Heiko Oberdiek}
+% for providing a~lot~(!) of useful packages (from 
+% which I also got everything I know about creating a file in \xfile{dtx}
+% format, ok, say it: copying), \textsc{Frank Mittelbach} for several bug reports
+% and for code for improving the package,
+% everybody of the CTAN team for managing CTAN, and the
+% \Newsgroup{comp.text.tex} and \Newsgroup{de.comp.text.tex}
+% newsgroups and everybody at \url{https://tex.stackexchange.com/}
+% for their help in all things \hbox{\TeX{}.}
 %
 % \phantomsection
 % \begin{History}\label{History}
@@ -1046,17 +1177,34 @@
 %   \begin{Version}{2011/03/04 v1.0a}
 %     \item First version of this package.
 %   \end{Version}
+%   \begin{Version}{2011 -- 2018 v1.0\ldots}
+%     \item Several versions, which where not officially published.
+%   \end{Version}
+%   \begin{Version}{2018/09/01 v2.0a}
+%     \item Now using the \xpackage{pdflscape} package instead of \xpackage{lscape} package.
+%     \item The \xpackage{holtxdoc} package was fixed (recent: 2011/02/04, v0.21), therefore
+%             the warning in \xfile{drv} could be removed.-- Adapted the style of this
+%             doc\-u\-ment\-a\-tion to new \textsc{Oberdiek} \xfile{dtx} style.
+%     \item Made |\newcommand|s robust.
+%     \item OCLC and WebCite added; alternative package aurl added,
+%           URLs and documentation updated.
+%     \item Name-to-Thing resolver added to the example.
+%     \item XMPP removed due to changes at XMPP.
+%     \item New \verb|\urisetup| to be able to use complicated pre/post text
+%           (and change it mid-document!).
+%     \item Added an optional argument to \verb|\mailto| for providing the e-mail's subject.
+%     \item Options tinypre, tinypre, tinypost, tinyppost, and tinyppre
+%            replaced by tinyuripre, tinyuripre, tinyuripost, tinypuripost, and tinypuripre,
+%            because the commands are \verb|tinyuri| and \verb|tinypuri|.
+%     \item Bugs fixed.
+%   \end{Version}
 % \end{History}
 %
-% % \PrintChanges
-%
 % \bigskip
 %
 % When you find a mistake or have a suggestion for an improvement of this package,
 % please send an e-mail to the maintainer, thanks! (Please see BUG REPORTS in the README.)
 %
-% \pagebreak
-%
 % \PrintIndex
 %
 % \Finale

Modified: trunk/Master/texmf-dist/source/latex/uri/uri.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/uri/uri.ins	2018-09-01 22:17:26 UTC (rev 48537)
+++ trunk/Master/texmf-dist/source/latex/uri/uri.ins	2018-09-01 22:17:45 UTC (rev 48538)
@@ -8,10 +8,16 @@
 %% 
 %% This is a generated file.
 %% 
-%% IMPORTANT NOTICE:
-%% The package takes options.
+%% Project: uri
+%% Version: 2018/09/01 v2.0a
 %% 
-%% The usual disclaimers apply:
+%% Copyright (C) 2011 - 2018 by
+%%     H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
+%% Portions of code copyrighted by other people as marked.
+%% 
+%% IMPORTANT NOTICE: The package takes options.
+%% 
+%% The usual disclaimer applies:
 %% If it doesn't work right that's your problem.
 %% (Nevertheless, send an e-mail to the maintainer
 %%  when you find an error in this package.)
@@ -28,22 +34,24 @@
 %% 
 %% This work has the LPPL maintenance status "maintained".
 %% 
-%% The Current Maintainer of this work is H.-Martin Muench
-%% (Martin dot Muench at Uni-Bonn dot de).
+%% The Current Maintainer of this work is H.-Martin Muench.
 %% 
-%% This work consists of the main source file uri.dtx
-%% and the derived files
+%% This work consists of the main source file uri.dtx,
+%% the README, and the derived files
 %%    uri.sty, uri.pdf, uri.ins, uri.drv,
-%%    uri-example.tex.
+%%    uri-example.tex, uri-example.pdf.
 %% 
+%% In memoriam
+%%  Claudia Simone Barth + 1996/01/30
+%%  Tommy Muench + 2014/01/02
+%%  Hans-Klaus Muench + 2014/08/24
+%% 
 \input docstrip.tex
-
 \obeyspaces
-\Msg{*************************************************}
-\Msg{* Installation                                  *}
-\Msg{* Package: uri v1.0a 2011/03/04 LaTeX2e package *}
-\Msg{* Hyperlinks URIs like DOI,HDL,NBN,PubMed (HMM) *}
-\Msg{*************************************************}
+\Msg{*****************************************************************************}
+\Msg{* Installation}
+\Msg{* Package: uri 2018/09/01 v2.0a Hyperlinks URIs like DOI,HDL,NBN,PubMed (HMM)}
+\Msg{*****************************************************************************}
 
 \keepsilent
 \askforoverwritefalse
@@ -53,10 +61,16 @@
 
 This is a generated file.
 
-IMPORTANT NOTICE:
-The package takes options.
+Project: uri
+Version: 2018/09/01 v2.0a
 
-The usual disclaimers apply:
+Copyright (C) 2011 - 2018 by
+    H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
+Portions of code copyrighted by other people as marked.
+
+IMPORTANT NOTICE: The package takes options.
+
+The usual disclaimer applies:
 If it doesn't work right that's your problem.
 (Nevertheless, send an e-mail to the maintainer
  when you find an error in this package.)
@@ -73,14 +87,18 @@
 
 This work has the LPPL maintenance status "maintained".
 
-The Current Maintainer of this work is H.-Martin Muench
-(Martin dot Muench at Uni-Bonn dot de).
+The Current Maintainer of this work is H.-Martin Muench.
 
-This work consists of the main source file uri.dtx
-and the derived files
+This work consists of the main source file uri.dtx,
+the README, and the derived files
    uri.sty, uri.pdf, uri.ins, uri.drv,
-   uri-example.tex.
+   uri-example.tex, uri-example.pdf.
 
+In memoriam
+ Claudia Simone Barth + 1996/01/30
+ Tommy Muench + 2014/01/02
+ Hans-Klaus Muench + 2014/08/24
+
 \endpreamble
 \let\MetaPrefix\DoubleperCent
 
@@ -87,7 +105,6 @@
 \generate{%
   \file{uri.ins}{\from{uri.dtx}{install}}%
   \file{uri.drv}{\from{uri.dtx}{driver}}%
-  \file{ltxdoc.cfg}{\from{uri.dtx}{ltxdoc}}%
   \usedir{tex/latex/uri}%
   \file{uri.sty}{\from{uri.dtx}{package}}%
   \usedir{doc/latex/uri}%
@@ -95,30 +112,30 @@
 }
 
 \obeyspaces
-\Msg{*************************************************************}
-\Msg{*                                                           *}
-\Msg{* To finish the installation you have to move the following *}
-\Msg{* file into a directory searched by TeX:                    *}
-\Msg{*                                                           *}
-\Msg{* uri.sty                                                   *}
-\Msg{*                                                           *}
-\Msg{* To produce the documentation run the file `uri.drv'       *}
-\Msg{* through (pdf)LaTeX, e.g.                                  *}
-\Msg{*  pdflatex uri.drv                                         *}
-\Msg{*  makeindex -s gind.ist uri.idx                            *}
-\Msg{*  pdflatex uri.drv                                         *}
-\Msg{*  makeindex -s gind.ist uri.idx                            *}
-\Msg{*  pdflatex uri.drv                                         *}
-\Msg{*                                                           *}
-\Msg{* At least two runs are necessary e.g. to get the           *}
-\Msg{*  references right!                                        *}
-\Msg{*                                                           *}
-\Msg{* Happy TeXing!                                             *}
-\Msg{*                                                           *}
-\Msg{*************************************************************}
 
+\Msg{************************************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* uri.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file `uri.drv'}
+\Msg{* through (pdf)LaTeX, e.g.}
+\Msg{*  pdflatex uri.drv}
+\Msg{*  makeindex -s gind.ist uri.idx}
+\Msg{*  pdflatex uri.drv}
+\Msg{*  makeindex -s gind.ist uri.idx}
+\Msg{*  pdflatex uri.drv}
+\Msg{*}
+\Msg{* At least two runs are necessary e.g. to get the}
+\Msg{*  references right!}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{************************************************************************}
+
 \endbatchfile
-
 \endinput
 %%
 %% End of file `uri.ins'.

Modified: trunk/Master/texmf-dist/tex/latex/uri/uri.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/uri/uri.sty	2018-09-01 22:17:26 UTC (rev 48537)
+++ trunk/Master/texmf-dist/tex/latex/uri/uri.sty	2018-09-01 22:17:45 UTC (rev 48538)
@@ -8,10 +8,16 @@
 %% 
 %% This is a generated file.
 %% 
-%% IMPORTANT NOTICE:
-%% The package takes options.
+%% Project: uri
+%% Version: 2018/09/01 v2.0a
 %% 
-%% The usual disclaimers apply:
+%% Copyright (C) 2011 - 2018 by
+%%     H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
+%% Portions of code copyrighted by other people as marked.
+%% 
+%% IMPORTANT NOTICE: The package takes options.
+%% 
+%% The usual disclaimer applies:
 %% If it doesn't work right that's your problem.
 %% (Nevertheless, send an e-mail to the maintainer
 %%  when you find an error in this package.)
@@ -28,99 +34,219 @@
 %% 
 %% This work has the LPPL maintenance status "maintained".
 %% 
-%% The Current Maintainer of this work is H.-Martin Muench
-%% (Martin dot Muench at Uni-Bonn dot de).
+%% The Current Maintainer of this work is H.-Martin Muench.
 %% 
-%% This work consists of the main source file uri.dtx
-%% and the derived files
+%% This work consists of the main source file uri.dtx,
+%% the README, and the derived files
 %%    uri.sty, uri.pdf, uri.ins, uri.drv,
-%%    uri-example.tex.
+%%    uri-example.tex, uri-example.pdf.
 %% 
-\NeedsTeXFormat{LaTeX2e}[1994/06/01]
-\ProvidesPackage{uri}[2011/03/04 v1.0a
+%% In memoriam
+%%  Claudia Simone Barth + 1996/01/30
+%%  Tommy Muench + 2014/01/02
+%%  Hans-Klaus Muench + 2014/08/24
+%% 
+\NeedsTeXFormat{LaTeX2e}[2015/01/01]
+\ProvidesPackage{uri}[2018/09/01 v2.0a
    Hyperlinks URIs like DOI,HDL,NBN,PubMed (HMM)]
 
-%% Allows to automatically hyperlink uris of type
-%% arXiv, ASIN, DOI, HDL, NBN, PubMed, OID, TINY, TINY with preview, XMPP
+%% Allows to automatically hyperlink uris of types
+%% arXiv, ASIN, DOI, HDL, NBN, OCLC, OID, PubMed, TINY, TINY with preview,
+%% and WebCite
 %% in such a way that they are resolved to an address understood by browsers
-%% without native support or add-ons for such types of uri
-%% and provides commands citeurl, mailto, ukoeln, and uref.
-\RequirePackage{kvoptions}[2010/02/22]% v3.7
-\RequirePackage{url}[2006/04/12]% v3.3, documentation as of 2010/01/20
+%% independent of native support or add-ons for such types of uri
+%% and provides commands \citeurl, \mailto, \ukoeln, and \uref.
+\RequirePackage{kvoptions}[2011/06/30]% v3.11
+\RequirePackage{url}[2013/09/16]% v3.4
 
 \SetupKeyvalOptions{family = uri, prefix = uri@}
 
-\DeclareStringOption[{arXiv:}]{arxivpre}[{arXiv:}]
-\DeclareStringOption[{}]{arxivpost}[{}]
+\DeclareStringOption[arXiv:]{arxivpre}[arXiv:]
+\DeclareStringOption[]{arxivpost}[]
 
-\DeclareStringOption[{ASIN:}]{asinpre}[{ASIN:}]
-\DeclareStringOption[{}]{asinpost}[{}]
+\DeclareStringOption[ASIN:]{asinpre}[ASIN:]
+\DeclareStringOption[]{asinpost}[]
 
-\DeclareStringOption[{DOI:}]{doipre}[{DOI:}]
-\DeclareStringOption[{}]{doipost}[{}]
+\DeclareStringOption[DOI:]{doipre}[DOI:]
+\DeclareStringOption[]{doipost}[]
 
-\DeclareStringOption[{HDL:}]{hdlpre}[{HDL:}]
-\DeclareStringOption[{}]{hdlpost}[{}]
+\DeclareStringOption[HDL:]{hdlpre}[HDL:]
+\DeclareStringOption[]{hdlpost}[]
 
-\DeclareStringOption[{}]{nbnpre}[{}]
-\DeclareStringOption[{}]{nbnpost}[{}]
+\DeclareStringOption[]{nbnpre}[]
+\DeclareStringOption[]{nbnpost}[]
 
-\DeclareStringOption[{PubMed:}]{pubmedpre}[{PubMed:}]
-\DeclareStringOption[{}]{pubmedpost}[{}]
+\DeclareStringOption[OCLC:]{oclcpre}[OCLC:]
+\DeclareStringOption[]{oclcpost}[]
 
-\DeclareStringOption[{URN:OID:}]{oidpre}[{URN:OID:}]
-\DeclareStringOption[{}]{oidpost}[{}]
+\DeclareStringOption[URN:OID:]{oidpre}[URN:OID:]
+\DeclareStringOption[]{oidpost}[]
 
-\DeclareStringOption[{TINY:}]{tinypre}[{TINY:}]
-\DeclareStringOption[{}]{tinypost}[{}]
+\DeclareStringOption[PubMed:]{pubmedpre}[PubMed:]
+\DeclareStringOption[]{pubmedpost}[]
 
-\DeclareStringOption[{TINY:P:}]{tinyppre}[{TINY:P:}]
-\DeclareStringOption[{}]{tinyppost}[{}]
+\def\uri at tiny@pre at default{TINY:}
+\def\uri at tiny@post at default{}
 
-\DeclareStringOption[{URN:XMPP:}]{xmpppre}[{}]
-\DeclareStringOption[{}]{xmpppost}[{}]
+\def\uri at tinyp@pre at default{TINY:P:}
+\def\uri at tinyp@post at default{}
 
-\DeclareStringOption[{<}]{citeurlpre}[{<}]
-\DeclareStringOption[{>}]{citeurlpost}[{>}]
+\DeclareStringOption[\uri at tiny@pre at default]{tinypre}[\uri at tiny@pre at default]
+\DeclareStringOption[\uri at tiny@post at default]{tinypost}[\uri at tiny@post at default]
 
-\DeclareStringOption[{mailto:}]{mailtopre}[{mailto:}]
-\DeclareStringOption[{}]{mailtopost}[{}]
+\DeclareStringOption[\uri at tinyp@pre at default]{tinyppre}[\uri at tinyp@pre at default]
+\DeclareStringOption[\uri at tinyp@post at default]{tinyppost}[\uri at tinyp@post at default]
 
-\DeclareStringOption[{http://ukoeln.de/}]{ukoelnpre}[{http://ukoeln.de/}]
-\DeclareStringOption[{}]{ukoelnpost}[{}]
+\DeclareStringOption[\uri at tiny@pre at default]{tinyuripre}[\uri at tiny@pre at default]
+\DeclareStringOption[\uri at tiny@post at default]{tinyuripost}[\uri at tiny@post at default]
 
+\DeclareStringOption[\uri at tinyp@pre at default]{tinypuripre}[\uri at tinyp@pre at default]
+\DeclareStringOption[\uri at tinyp@post at default]{tinypuripost}[\uri at tinyp@post at default]
+
+\DeclareStringOption[WC:]{wcpre}[WC:]
+\DeclareStringOption[]{wcpost}[]
+
+\DeclareStringOption[URN:XMPP:]{xmpppre}[]
+\DeclareStringOption[]{xmpppost}[]
+
+\DeclareStringOption[<]{citeurlpre}[<]
+\DeclareStringOption[>]{citeurlpost}[>]
+
+\DeclareStringOption[mailto:]{mailtopre}[mailto:]
+\DeclareStringOption[]{mailtopost}[]
+
+\DeclareStringOption[http://UKoeln.de/]{ukoelnpre}[http://UKoeln.de/]
+\DeclareStringOption[]{ukoelnpost}[]
+
 \ProcessKeyvalOptions*
 
+\gdef\urisetup{\kvsetkeys{uri}}
+
+\def\uri at wrapper{\uri at tiny@pre at default}
+\ifx\uri at tinypre\uri at wrapper%
+\else%
+  \ifx\uri at tinyuripre\uri at wrapper%
+    \PackageWarning{uri}{Option tinypre deprecated.\MessageBreak%
+      Please use tinyuripre instead!\MessageBreak%
+      Transfering content of option tinypre to tinyuripre now;\MessageBreak%
+      }%
+    \let\uri at tinyuripre\uri at tinypre%
+  \else%
+    \PackageError{uri}{Conflicting options tinypre and tinyuripre used}{%
+      Option tinypre deprecated.\MessageBreak%
+      Please use ONLY option tinyuripre instead!\MessageBreak%
+      Ignoring option tinypre now.\MessageBreak%
+      }%
+  \fi%
+\fi%
+
+\def\uri at wrapper{\uri at tiny@post at default}
+\ifx\uri at tinypost\uri at wrapper%
+\else%
+  \ifx\uri at tinyuripost\uri at wrapper%
+    \PackageWarning{uri}{Option tinypost deprecated.\MessageBreak%
+      Please use tinyuripost instead!\MessageBreak%
+      Transfering content of option tinypost to tinyuripost now;\MessageBreak%
+      }%
+    \let\uri at tinyuripost\uri at tinypost%
+  \else%
+    \PackageError{uri}{Conflicting options tinypost and tinyuripost used}{%
+      Option tinypost deprecated.\MessageBreak%
+      Please use ONLY option tinyuripost instead!\MessageBreak%
+      Ignoring option tinypost now.\MessageBreak%
+      }%
+  \fi%
+\fi%
+
+\def\uri at wrapper{\uri at tinyp@pre at default}
+\ifx\uri at tinyppre\uri at wrapper%
+\else%
+  \ifx\uri at tinypuripre\uri at wrapper%
+    \PackageWarning{uri}{Option tinyppre deprecated.\MessageBreak%
+      Please use tinypuripre instead!\MessageBreak%
+      Transfering content of option tinyppre to tinypuripre now;\MessageBreak%
+      }%
+    \let\uri at tinypuripre\uri at tinyppre%
+  \else%
+    \PackageError{uri}{Conflicting options tinyppre and tinypuripre used}{%
+      Option tinyppre deprecated.\MessageBreak%
+      Please use ONLY option tinypuripre instead!\MessageBreak%
+      Ignoring option tinyppre now.\MessageBreak%
+      }%
+  \fi%
+\fi%
+
+\def\uri at wrapper{\uri at tinyp@post at default}
+\ifx\uri at tinyppost\uri at wrapper%
+\else%
+  \ifx\uri at tinypuripost\uri at wrapper%
+    \PackageWarning{uri}{Option tinyppost deprecated.\MessageBreak%
+      Please use tinypuripost instead!\MessageBreak%
+      Transfering content of option tinyppost to tinypuripost now;\MessageBreak%
+      }%
+    \let\uri at tinypuripost\uri at tinyppost%
+  \else%
+    \PackageError{uri}{Conflicting options tinyppost and tinypuripost used}{%
+      Option tinyppost deprecated.\MessageBreak%
+      Please use ONLY option tinypuripost instead!\MessageBreak%
+      Ignoring option tinyppost now.\MessageBreak%
+      }%
+  \fi%
+\fi%
+
+\DisableKeyvalOption[action={error},package=uri]{uri}{tinypre}
+\DisableKeyvalOption[action={error},package=uri]{uri}{tinypost}
+\DisableKeyvalOption[action={error},package=uri]{uri}{tinyppre}
+\DisableKeyvalOption[action={error},package=uri]{uri}{tinyppost}
+
 \@ifpackageloaded{hyperref}{%
-\newcommand{\uref}[2]{\protect\href{#1}{\protect\nolinkurl{#2}}}%
+\DeclareRobustCommand{\uref}[2]{\protect\href{#1}{\protect\nolinkurl{#2}}}%
 %% arXiv
-\DeclareUrlCommand\arxiv{\def\UrlLeft##1\UrlRight{\href{http://arxiv.org/abs/##1}{\uri at arxivpre##1\uri at arxivpost}}}%
+\DeclareUrlCommand\arxiv{\def\UrlLeft##1\UrlRight{\href{https://arxiv.org/abs/##1}{\uri at arxivpre##1\uri at arxivpost}}}%
 %% ASIN
-\DeclareUrlCommand\asin{\def\UrlLeft##1\UrlRight{\href{http://amzn.com/##1}{\uri at asinpre##1\uri at asinpost}}}%
+\DeclareUrlCommand\asin{\def\UrlLeft##1\UrlRight{\href{https://amzn.com/##1}{\uri at asinpre##1\uri at asinpost}}}%
 %% DOI
-\DeclareUrlCommand\doi{\def\UrlLeft##1\UrlRight{\href{http://dx.doi.org/##1}{\uri at doipre##1\uri at doipost}}}%
+\DeclareUrlCommand\doi{\def\UrlLeft##1\UrlRight{\href{https://dx.doi.org/##1}{\uri at doipre##1\uri at doipost}}}%
 %% HDL
-\DeclareUrlCommand\hdl{\def\UrlLeft##1\UrlRight{\href{http://hdl.handle.net/##1}{\uri at hdlpre##1\uri at hdlpost}}}%
+\DeclareUrlCommand\hdl{\def\UrlLeft##1\UrlRight{\href{https://hdl.handle.net/##1}{\uri at hdlpre##1\uri at hdlpost}}}%
 %% NBN
-\DeclareUrlCommand\nbn{\def\UrlLeft##1\UrlRight{\href{http://nbn-resolving.org/##1}{\uri at nbnpre##1\uri at nbnpost}}}%
+\DeclareUrlCommand\nbn{\def\UrlLeft##1\UrlRight{\href{https://nbn-resolving.org/urn/resolver.pl?urn=##1}{\uri at nbnpre##1\uri at nbnpost}}}%
+%% OCLC
+\DeclareUrlCommand\oclc{\def\UrlLeft##1\UrlRight{\href{https://www.worldcat.org/oclc/##1}{\uri at oclcpre##1\uri at oclcpost}}}%
 %% OID
-\DeclareUrlCommand\oid{\def\UrlLeft##1\UrlRight{\href{http://www.oid-info.com/cgi-bin/display?oid=##1&submit=Display&action=display}{\uri at oidpre##1\uri at oidpost}}}%
+\DeclareUrlCommand\oid{\def\UrlLeft##1\UrlRight{\href{http://www.oid-info.com/cgi-bin/display?oid=##1&submit=Display&action=display}{%
+\uri at oidpre##1\uri at oidpost}}}%
 %% PubMed
-\DeclareUrlCommand\pubmed{\def\UrlLeft##1\UrlRight{\href{http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=PubMed&list_uids=##1&dopt=Abstract}{\uri at pubmedpre##1\uri at pubmedpost}}}%
+\DeclareUrlCommand\pubmed{\def\UrlLeft##1\UrlRight{%
+\href{https://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=PubMed&list_uids=##1&dopt=Abstract}{\uri at pubmedpre##1\uri at pubmedpost}}}%
 %% TINY
-\DeclareUrlCommand\tinyuri{\def\UrlLeft##1\UrlRight{\href{http://tinyurl.com/##1}{\uri at tinypre##1\uri at tinypost}}}%
+\DeclareUrlCommand\tinyuri{\def\UrlLeft##1\UrlRight{\href{https://tinyurl.com/##1}{\uri at tinyuripre##1\uri at tinyuripost}}}%
 %% TINYP (tiny with preview)
-\DeclareUrlCommand\tinypuri{\def\UrlLeft##1\UrlRight{\href{http://preview.tinyurl.com/##1}{\uri at tinyppre##1\uri at tinyppost}}}%
+\DeclareUrlCommand\tinypuri{\def\UrlLeft##1\UrlRight{\href{https://preview.tinyurl.com/##1}{\uri at tinypuripre##1\uri at tinypuripost}}}%
+%% WebCite
+\DeclareUrlCommand\wc{\def\UrlLeft##1\UrlRight{\href{https://www.webcitation.org/##1}{\uri at wcpre##1\uri at wcpost}}}%
 %% XMPP
-\DeclareUrlCommand\xmpp{\def\UrlLeft##1\UrlRight{\href{http://xmpp.org/protocols/urn:xmpp:##1/}{\uri at xmpppre##1\uri at xmpppost}}}%
+\DeclareUrlCommand\xmpp{%
+  \PackageError{uri}{Command \string\xmpp\space deprecated}{%
+    XMPP (https://xmpp.org/about/) changed, for example URN:XMPP:time\MessageBreak%
+    was moved from https://xmpp.org/protocols/urn:xmpp:time/\MessageBreak%
+    to https://xmpp.org/extensions/xep-0202.html. Therefore\MessageBreak%
+    \string\xmpp\space is no longer provided by this package.\MessageBreak%
+    For backward compatibility \string\xmpp\space links to\MessageBreak%
+    https://xmpp.org/extensions/.\MessageBreak%
+    Please replace \string\xmpp\space in your document by the appropriate url.\MessageBreak%
+  }%
+  \def\UrlLeft##1\UrlRight{\href{https://xmpp.org/extensions/}{\uri at xmpppre##1\uri at xmpppost}}%
+  }%
 %% citeurl
 \DeclareUrlCommand\citeurl{\def\UrlLeft##1\UrlRight{\href{##1}{\uri at citeurlpre##1\uri at citeurlpost}}}%
 %% mailto
-\DeclareUrlCommand\mailto{\def\UrlLeft##1\UrlRight{\href{mailto:##1}{\uri at mailtopre##1\uri at mailtopost}}}%
+\DeclareUrlCommand\mailto@{\def\UrlLeft##1\UrlRight{\href{mailto:##1\mailto at subject}{\uri at mailtopre##1\uri at mailtopost}}}%
+\DeclareRobustCommand\mailto[1][]{\def\mailto at subject{?subject=#1}\mailto@}%
 %% ukoeln
-\DeclareUrlCommand\ukoeln{\def\UrlLeft##1\UrlRight{\href{http://ukoeln.de/##1}{\uri at ukoelnpre##1\uri at ukoelnpost}}}%
+\DeclareUrlCommand\ukoeln{\def\UrlLeft##1\UrlRight{\href{https://UKoeln.de/##1}{\uri at ukoelnpre##1\uri at ukoelnpost}}}%
 }{% otherwise, i.e. if hyperref has not been loaded:
-\newcommand{\uref}[2]{\protect\nolinkurl{#2}}%
+\DeclareRobustCommand{\uref}[1]{\url}%
 %% arXiv
 \DeclareUrlCommand\arxiv{\def\UrlLeft##1\UrlRight{\uri at arxivpre##1\uri at arxivpost}}%
 %% ASIN
@@ -131,40 +257,47 @@
 \DeclareUrlCommand\hdl{\def\UrlLeft##1\UrlRight{\uri at hdlpre##1\uri at hdlpost}}%
 %% NBN
 \DeclareUrlCommand\nbn{\def\UrlLeft##1\UrlRight{\uri at nbnpre##1\uri at nbnpost}}%
+%% OCLC
+\DeclareUrlCommand\oclc{\def\UrlLeft##1\UrlRight{\uri at oclcpre##1\uri at oclcpost}}%
 %% OID
 \DeclareUrlCommand\oid{\def\UrlLeft##1\UrlRight{\uri at oidpre##1\uri at oidpost}}%
 %% PubMed
 \DeclareUrlCommand\pubmed{\def\UrlLeft##1\UrlRight{\uri at pubmedpre##1\uri at pubmedpost}}%
 %% TINY
-\DeclareUrlCommand\tinyuri{\def\UrlLeft##1\UrlRight{\uri at tinypre##1\uri at tinypost}}%
+\DeclareUrlCommand\tinyuri{\def\UrlLeft##1\UrlRight{\uri at tinyuripre##1\uri at tinyuripost}}%
 %% TINYP (tiny with preview)
-\DeclareUrlCommand\tinypuri{\def\UrlLeft##1\UrlRight{\uri at tinyppre##1\uri at tinyppost}}%
+\DeclareUrlCommand\tinypuri{\def\UrlLeft##1\UrlRight{\uri at tinypuripre##1\uri at tinypuripost}}%
+%% WebCite
+\DeclareUrlCommand\wc{\def\UrlLeft##1\UrlRight{\uri at wcpre##1\uri at wcpost}}%
 %% XMPP
 \DeclareUrlCommand\xmpp{\def\UrlLeft##1\UrlRight{\uri at xmpppre##1\uri at xmpppost}}%
 %% citeurl
 \DeclareUrlCommand\citeurl{\def\UrlLeft##1\UrlRight{\uri at citeurlpre##1\uri at citeurlpost}}%
 %% mailto
-\DeclareUrlCommand\mailto{\def\UrlLeft##1\UrlRight{\uri at mailtopre##1\uri at mailtopost}}%
+\DeclareUrlCommand\mailto@{\def\UrlLeft##1\UrlRight{\uri at mailtopre##1\uri at mailtopost}}%
+\DeclareRobustCommand\mailto[1][]{\mailto@}%
 %% ukoeln
 \DeclareUrlCommand\ukoeln{\def\UrlLeft##1\UrlRight{\uri at ukoelnpre##1\uri at ukoelnpost}}%
 }
 
 \AtBeginDocument{%
+  \@ifpackageloaded{aurl}%
+    {\PackageWarning{uri}{Packages uri AND aurl detected.\MessageBreak%
+       Results might depend on order of loading;\MessageBreak}%
+    }{\relax}%
   \@ifpackageloaded{doi}%
     {\PackageWarning{uri}{Packages uri AND doi detected.\MessageBreak%
-       Result will depend on order of loading!\MessageBreak%
+       Results will depend on order of loading!\MessageBreak%
        Consider using only one package.\MessageBreak%
-       The uri package alone should be sufficient.\MessageBreak%
-       }%
+       The uri package alone should be sufficient;\MessageBreak}%
     }{\relax}%
   \@ifpackageloaded{doipubmed}%
     {\PackageWarning{uri}{Packages uri AND doipubmed detected.\MessageBreak%
-       Result will depend on order of loading!\MessageBreak%
+       Results will depend on order of loading!\MessageBreak%
        Consider using only one package.\MessageBreak%
-       The uri package alone should be sufficient.\MessageBreak%
-       }%
+       The uri package alone should be sufficient;\MessageBreak}%
     }{\relax}%
-  }
+  }%
 \endinput
 %%
 %% End of file `uri.sty'.



More information about the tex-live-commits mailing list