summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/uri/README124
-rw-r--r--Master/texmf-dist/doc/latex/uri/uri-example.pdfbin82019 -> 119167 bytes
-rw-r--r--Master/texmf-dist/doc/latex/uri/uri-example.tex205
-rw-r--r--Master/texmf-dist/doc/latex/uri/uri.pdfbin306332 -> 320491 bytes
-rw-r--r--Master/texmf-dist/source/latex/uri/ltxdoc.cfg103
-rw-r--r--Master/texmf-dist/source/latex/uri/uri.drv57
-rw-r--r--Master/texmf-dist/source/latex/uri/uri.dtx1076
-rw-r--r--Master/texmf-dist/source/latex/uri/uri.ins107
-rw-r--r--Master/texmf-dist/tex/latex/uri/uri.sty265
9 files changed, 1119 insertions, 818 deletions
diff --git a/Master/texmf-dist/doc/latex/uri/README b/Master/texmf-dist/doc/latex/uri/README
index 60a265cfd49..3875313eced 100644
--- a/Master/texmf-dist/doc/latex/uri/README
+++ b/Master/texmf-dist/doc/latex/uri/README
@@ -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,46 +8,50 @@ TABLE OF CONTENTS
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.
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/
-
-Also a ZIP file is provided that contains the files, already
-sorted in a TDS tree:
- CTAN:install/macros/latex/contrib/uri.tds.zip
+https://www.ctan.org/pkg/uri
-`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/
+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
3 INSTALLATION
@@ -55,10 +59,11 @@ corresponds to
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 @@ Example:
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
- "TDS:doc/latex/uri/":
- README, uri.pdf, uri-example.tex, uri-example.pdf.
-e) Update the databases if necessary, e. g. for teTeX:
+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.
4 ADDITIONAL PACKAGES
@@ -90,11 +106,11 @@ e) Update the databases if necessary, e. g. for teTeX:
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 @@ which again load other packages
=======================
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ünch
+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 @@ A bug report should contain:
Bug address
-----------
Bug reports can be send to the maintainer:
- Hans-Martin Münch
+ 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
diff --git a/Master/texmf-dist/doc/latex/uri/uri-example.pdf b/Master/texmf-dist/doc/latex/uri/uri-example.pdf
index 90ab88c7eaa..be90e373861 100644
--- a/Master/texmf-dist/doc/latex/uri/uri-example.pdf
+++ b/Master/texmf-dist/doc/latex/uri/uri-example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/uri/uri-example.tex b/Master/texmf-dist/doc/latex/uri/uri-example.tex
index a5ae4d0633f..1f90b5364f6 100644
--- a/Master/texmf-dist/doc/latex/uri/uri-example.tex
+++ b/Master/texmf-dist/doc/latex/uri/uri-example.tex
@@ -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 (\url{https://tinyurl.com/}), e.\,g. \tinyuri{MST19-105603}\newline%
+ (uses \verb|\tinyuri| instead of \verb|\tiny|, because that command already existed).
+
+\item[--] TINY with preview (\url{https://preview.tinyurl.com/}), %
+ e.\,g. \tinypuri{MST19-105603}.
-\item[--] TINY with preview, 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{http://xmpp.org/about/}), e.\,g. \xmpp{time}.
+\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[--] \texttt{mailto} for e-mail addresses, e.\,g. \mailto{spam@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[--] \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[--] \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|\citeurl| similar to the command of the \textsf{doipubmed} package,\newline%
+ \citeurl{https://ctan.org/pkg/doipubmed}.
+
+\item[--] \verb|\mailto| for e-mail addresses (optionally with e-mail subject), e.\,g.\newline%
+\mailto{spam@example.org} or with subject %
+\mailto[Some subject of the e-mail]{spam@example.org}.
+
+\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[--] \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
-
-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{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
+
+\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}
\endinput
%%
diff --git a/Master/texmf-dist/doc/latex/uri/uri.pdf b/Master/texmf-dist/doc/latex/uri/uri.pdf
index dd129dccf54..7a3b5df4ea2 100644
--- a/Master/texmf-dist/doc/latex/uri/uri.pdf
+++ b/Master/texmf-dist/doc/latex/uri/uri.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/uri/ltxdoc.cfg b/Master/texmf-dist/source/latex/uri/ltxdoc.cfg
deleted file mode 100644
index 23256d1e48e..00000000000
--- a/Master/texmf-dist/source/latex/uri/ltxdoc.cfg
+++ /dev/null
@@ -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@plain{plain}%
- \def\string@myheadings{myheadings}%
- \def\current@pagestyle{plain}%
- \let\ltxdoc@cfg@pagestyle\pagestyle
- \def\pagestyle#1{%
- \def\current@pagestyle{#1}%
- \ltxdoc@cfg@pagestyle{#1}%
- }%
- \edef\ltxdoc@cfg@jobname{\jobname}%
- \def\ltxdoc@cfg@longtable{longtable}%
- \@onelevel@sanitize\ltxdoc@cfg@longtable
- \ifx\ltxdoc@cfg@jobname\ltxdoc@cfg@longtable
- \def\current@pagestyle{both}%
- \fi
- \let\ltxdoc@cfg@document\document
- \def\document{%
- \ifx\current@pagestyle\string@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@pagestyle\string@myheadings
- \addtolength{\textheight}{\footskip}%
- \global\textheight\textheight
- \fi
- \ltxdoc@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'.
diff --git a/Master/texmf-dist/source/latex/uri/uri.drv b/Master/texmf-dist/source/latex/uri/uri.drv
index 8ffdd241ed7..3d3a43492d2 100644
--- a/Master/texmf-dist/source/latex/uri/uri.drv
+++ b/Master/texmf-dist/source/latex/uri/uri.drv
@@ -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.
+%%
+%% In memoriam
+%% Claudia Simone Barth + 1996/01/30
+%% Tommy Muench + 2014/01/02
+%% Hans-Klaus Muench + 2014/08/24
%%
-\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,%
@@ -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}
diff --git a/Master/texmf-dist/source/latex/uri/uri.dtx b/Master/texmf-dist/source/latex/uri/uri.dtx
index deb9888f84e..98e647064e8 100644
--- a/Master/texmf-dist/source/latex/uri/uri.dtx
+++ b/Master/texmf-dist/source/latex/uri/uri.dtx
@@ -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.
-%
-% 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)
-%
-% 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
-%
-% 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
+% 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.
+%
+% 'uri' is available on CTAN:
+% https://www.ctan.org/pkg/uri
+%
+% 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
%
%<*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
+
+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 disclaimers apply:
+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,13 +86,17 @@ 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).
+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 @@ and the derived files
\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 @@ and the derived files
}
\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{*************************************************************}
-\endbatchfile
+\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 @@ and the derived files
% \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,91 +179,18 @@ and the derived files
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}
%</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@plain{plain}%
- \def\string@myheadings{myheadings}%
- \def\current@pagestyle{plain}%
- \let\ltxdoc@cfg@pagestyle\pagestyle
- \def\pagestyle#1{%
- \def\current@pagestyle{#1}%
- \ltxdoc@cfg@pagestyle{#1}%
- }%
- \edef\ltxdoc@cfg@jobname{\jobname}%
- \def\ltxdoc@cfg@longtable{longtable}%
- \@onelevel@sanitize\ltxdoc@cfg@longtable
- \ifx\ltxdoc@cfg@jobname\ltxdoc@cfg@longtable
- \def\current@pagestyle{both}%
- \fi
- \let\ltxdoc@cfg@document\document
- \def\document{%
- \ifx\current@pagestyle\string@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@pagestyle\string@myheadings
- \addtolength{\textheight}{\footskip}%
- \global\textheight\textheight
- \fi
- \ltxdoc@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 @@ and the derived files
% 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 @@ and the derived files
% \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}
-%
-% \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}
+% \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 \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
-%
-% 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:\\
+% $2\unit{g}$ CO$_{2}$ and $2\unit{g}$ wood:
% Therefore please print only if this is really necessary.
%
+% \bigskip
+%
% \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 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 Change the programme code of the web browser to recognise the uri.
+%
+% \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 @@ and the derived files
% \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 @@ and the derived files
%
% \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 @@ and the derived files
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
-
-\bigskip
+For more details please see the documentation!
-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 (\url{https://tinyurl.com/}), e.\,g. \tinyuri{MST19-105603}\newline%
+ (uses \verb|\tinyuri| instead of \verb|\tiny|, because that command already existed).
+
+\item[--] TINY with preview (\url{https://preview.tinyurl.com/}), %
+ e.\,g. \tinypuri{MST19-105603}.
-\item[--] TINY with preview, 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{http://xmpp.org/about/}), e.\,g. \xmpp{time}.
+\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@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@example.org} or with subject %
+\mailto[Some subject of the e-mail]{spam@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
+
+\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}
%</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,132 +543,291 @@ would work (if that DOI would exist):\newline
% \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}
%
% 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).\\
-%
-% 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.)
+% 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, |...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[DOI:]{doipre}[DOI:]
+\DeclareStringOption[]{doipost}[]
-\DeclareStringOption[{ASIN:}]{asinpre}[{ASIN:}]
-\DeclareStringOption[{}]{asinpost}[{}]
+\DeclareStringOption[HDL:]{hdlpre}[HDL:]
+\DeclareStringOption[]{hdlpost}[]
-\DeclareStringOption[{DOI:}]{doipre}[{DOI:}]
-\DeclareStringOption[{}]{doipost}[{}]
+\DeclareStringOption[]{nbnpre}[]
+\DeclareStringOption[]{nbnpost}[]
-\DeclareStringOption[{HDL:}]{hdlpre}[{HDL:}]
-\DeclareStringOption[{}]{hdlpost}[{}]
+\DeclareStringOption[OCLC:]{oclcpre}[OCLC:]
+\DeclareStringOption[]{oclcpost}[]
-\DeclareStringOption[{}]{nbnpre}[{}]
-\DeclareStringOption[{}]{nbnpost}[{}]
+\DeclareStringOption[URN:OID:]{oidpre}[URN:OID:]
+\DeclareStringOption[]{oidpost}[]
-\DeclareStringOption[{PubMed:}]{pubmedpre}[{PubMed:}]
-\DeclareStringOption[{}]{pubmedpost}[{}]
+\DeclareStringOption[PubMed:]{pubmedpre}[PubMed:]
+\DeclareStringOption[]{pubmedpost}[]
+
+% \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@tiny@pre@default{TINY:}
+\def\uri@tiny@post@default{}
-\DeclareStringOption[{URN:OID:}]{oidpre}[{URN:OID:}]
-\DeclareStringOption[{}]{oidpost}[{}]
+\def\uri@tinyp@pre@default{TINY:P:}
+\def\uri@tinyp@post@default{}
-\DeclareStringOption[{TINY:}]{tinypre}[{TINY:}]
-\DeclareStringOption[{}]{tinypost}[{}]
+\DeclareStringOption[\uri@tiny@pre@default]{tinypre}[\uri@tiny@pre@default]
+\DeclareStringOption[\uri@tiny@post@default]{tinypost}[\uri@tiny@post@default]
-\DeclareStringOption[{TINY:P:}]{tinyppre}[{TINY:P:}]
-\DeclareStringOption[{}]{tinyppost}[{}]
+\DeclareStringOption[\uri@tinyp@pre@default]{tinyppre}[\uri@tinyp@pre@default]
+\DeclareStringOption[\uri@tinyp@post@default]{tinyppost}[\uri@tinyp@post@default]
-\DeclareStringOption[{URN:XMPP:}]{xmpppre}[{}]
-\DeclareStringOption[{}]{xmpppost}[{}]
+\DeclareStringOption[\uri@tiny@pre@default]{tinyuripre}[\uri@tiny@pre@default]
+\DeclareStringOption[\uri@tiny@post@default]{tinyuripost}[\uri@tiny@post@default]
-\DeclareStringOption[{<}]{citeurlpre}[{<}]
-\DeclareStringOption[{>}]{citeurlpost}[{>}]
+\DeclareStringOption[\uri@tinyp@pre@default]{tinypuripre}[\uri@tinyp@pre@default]
+\DeclareStringOption[\uri@tinyp@post@default]{tinypuripost}[\uri@tinyp@post@default]
-\DeclareStringOption[{mailto:}]{mailtopre}[{mailto:}]
-\DeclareStringOption[{}]{mailtopost}[{}]
+\DeclareStringOption[WC:]{wcpre}[WC:]
+\DeclareStringOption[]{wcpost}[]
-\DeclareStringOption[{http://ukoeln.de/}]{ukoelnpre}[{http://ukoeln.de/}]
-\DeclareStringOption[{}]{ukoelnpost}[{}]
+\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@wrapper{\uri@tiny@pre@default}
+\ifx\uri@tinypre\uri@wrapper%
+\else%
+ \ifx\uri@tinyuripre\uri@wrapper%
+ \PackageWarning{uri}{Option tinypre deprecated.\MessageBreak%
+ Please use tinyuripre instead!\MessageBreak%
+ Transfering content of option tinypre to tinyuripre now;\MessageBreak%
+ }%
+ \let\uri@tinyuripre\uri@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@wrapper{\uri@tiny@post@default}
+\ifx\uri@tinypost\uri@wrapper%
+\else%
+ \ifx\uri@tinyuripost\uri@wrapper%
+ \PackageWarning{uri}{Option tinypost deprecated.\MessageBreak%
+ Please use tinyuripost instead!\MessageBreak%
+ Transfering content of option tinypost to tinyuripost now;\MessageBreak%
+ }%
+ \let\uri@tinyuripost\uri@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@wrapper{\uri@tinyp@pre@default}
+\ifx\uri@tinyppre\uri@wrapper%
+\else%
+ \ifx\uri@tinypuripre\uri@wrapper%
+ \PackageWarning{uri}{Option tinyppre deprecated.\MessageBreak%
+ Please use tinypuripre instead!\MessageBreak%
+ Transfering content of option tinyppre to tinypuripre now;\MessageBreak%
+ }%
+ \let\uri@tinypuripre\uri@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@wrapper{\uri@tinyp@post@default}
+\ifx\uri@tinyppost\uri@wrapper%
+\else%
+ \ifx\uri@tinypuripost\uri@wrapper%
+ \PackageWarning{uri}{Option tinyppost deprecated.\MessageBreak%
+ Please use tinypuripost instead!\MessageBreak%
+ Transfering content of option tinyppost to tinypuripost now;\MessageBreak%
+ }%
+ \let\uri@tinypuripost\uri@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@arxivpre##1\uri@arxivpost}}}%
+\DeclareUrlCommand\arxiv{\def\UrlLeft##1\UrlRight{\href{https://arxiv.org/abs/##1}{\uri@arxivpre##1\uri@arxivpost}}}%
%% ASIN
-\DeclareUrlCommand\asin{\def\UrlLeft##1\UrlRight{\href{http://amzn.com/##1}{\uri@asinpre##1\uri@asinpost}}}%
+\DeclareUrlCommand\asin{\def\UrlLeft##1\UrlRight{\href{https://amzn.com/##1}{\uri@asinpre##1\uri@asinpost}}}%
%% DOI
-\DeclareUrlCommand\doi{\def\UrlLeft##1\UrlRight{\href{http://dx.doi.org/##1}{\uri@doipre##1\uri@doipost}}}%
+\DeclareUrlCommand\doi{\def\UrlLeft##1\UrlRight{\href{https://dx.doi.org/##1}{\uri@doipre##1\uri@doipost}}}%
%% HDL
-\DeclareUrlCommand\hdl{\def\UrlLeft##1\UrlRight{\href{http://hdl.handle.net/##1}{\uri@hdlpre##1\uri@hdlpost}}}%
+\DeclareUrlCommand\hdl{\def\UrlLeft##1\UrlRight{\href{https://hdl.handle.net/##1}{\uri@hdlpre##1\uri@hdlpost}}}%
%% NBN
-\DeclareUrlCommand\nbn{\def\UrlLeft##1\UrlRight{\href{http://nbn-resolving.org/##1}{\uri@nbnpre##1\uri@nbnpost}}}%
+\DeclareUrlCommand\nbn{\def\UrlLeft##1\UrlRight{\href{https://nbn-resolving.org/urn/resolver.pl?urn=##1}{\uri@nbnpre##1\uri@nbnpost}}}%
+%% OCLC
+\DeclareUrlCommand\oclc{\def\UrlLeft##1\UrlRight{\href{https://www.worldcat.org/oclc/##1}{\uri@oclcpre##1\uri@oclcpost}}}%
%% OID
-\DeclareUrlCommand\oid{\def\UrlLeft##1\UrlRight{\href{http://www.oid-info.com/cgi-bin/display?oid=##1&submit=Display&action=display}{\uri@oidpre##1\uri@oidpost}}}%
+\DeclareUrlCommand\oid{\def\UrlLeft##1\UrlRight{\href{http://www.oid-info.com/cgi-bin/display?oid=##1&submit=Display&action=display}{%
+\uri@oidpre##1\uri@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@pubmedpre##1\uri@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@pubmedpre##1\uri@pubmedpost}}}%
%% TINY
-\DeclareUrlCommand\tinyuri{\def\UrlLeft##1\UrlRight{\href{http://tinyurl.com/##1}{\uri@tinypre##1\uri@tinypost}}}%
+\DeclareUrlCommand\tinyuri{\def\UrlLeft##1\UrlRight{\href{https://tinyurl.com/##1}{\uri@tinyuripre##1\uri@tinyuripost}}}%
%% TINYP (tiny with preview)
-\DeclareUrlCommand\tinypuri{\def\UrlLeft##1\UrlRight{\href{http://preview.tinyurl.com/##1}{\uri@tinyppre##1\uri@tinyppost}}}%
+\DeclareUrlCommand\tinypuri{\def\UrlLeft##1\UrlRight{\href{https://preview.tinyurl.com/##1}{\uri@tinypuripre##1\uri@tinypuripost}}}%
+%% WebCite
+\DeclareUrlCommand\wc{\def\UrlLeft##1\UrlRight{\href{https://www.webcitation.org/##1}{\uri@wcpre##1\uri@wcpost}}}%
%% XMPP
-\DeclareUrlCommand\xmpp{\def\UrlLeft##1\UrlRight{\href{http://xmpp.org/protocols/urn:xmpp:##1/}{\uri@xmpppre##1\uri@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@xmpppre##1\uri@xmpppost}}%
+ }%
%% citeurl
\DeclareUrlCommand\citeurl{\def\UrlLeft##1\UrlRight{\href{##1}{\uri@citeurlpre##1\uri@citeurlpost}}}%
%% mailto
-\DeclareUrlCommand\mailto{\def\UrlLeft##1\UrlRight{\href{mailto:##1}{\uri@mailtopre##1\uri@mailtopost}}}%
+\DeclareUrlCommand\mailto@{\def\UrlLeft##1\UrlRight{\href{mailto:##1\mailto@subject}{\uri@mailtopre##1\uri@mailtopost}}}%
+\DeclareRobustCommand\mailto[1][]{\def\mailto@subject{?subject=#1}\mailto@}%
+% \end{macrocode}
+%
+% \verb|\mailto| code provided by \textsc{Frank Mittelbach} (thanks!),
+% making possible \verb|\mailto{person@example.org}| as well as\newline
+% \verb|\mailto[Some subject of the e-mail]{person@example.org}|,
+% i.\,e. \verb|mailto:person@example.org?subject=Some subject of the e-mail|.
+%
+% \begin{macrocode}
%% ukoeln
-\DeclareUrlCommand\ukoeln{\def\UrlLeft##1\UrlRight{\href{http://ukoeln.de/##1}{\uri@ukoelnpre##1\uri@ukoelnpost}}}%
+\DeclareUrlCommand\ukoeln{\def\UrlLeft##1\UrlRight{\href{https://UKoeln.de/##1}{\uri@ukoelnpre##1\uri@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@arxivpre##1\uri@arxivpost}}%
%% ASIN
@@ -718,53 +838,62 @@ would work (if that DOI would exist):\newline
\DeclareUrlCommand\hdl{\def\UrlLeft##1\UrlRight{\uri@hdlpre##1\uri@hdlpost}}%
%% NBN
\DeclareUrlCommand\nbn{\def\UrlLeft##1\UrlRight{\uri@nbnpre##1\uri@nbnpost}}%
+%% OCLC
+\DeclareUrlCommand\oclc{\def\UrlLeft##1\UrlRight{\uri@oclcpre##1\uri@oclcpost}}%
%% OID
\DeclareUrlCommand\oid{\def\UrlLeft##1\UrlRight{\uri@oidpre##1\uri@oidpost}}%
%% PubMed
\DeclareUrlCommand\pubmed{\def\UrlLeft##1\UrlRight{\uri@pubmedpre##1\uri@pubmedpost}}%
%% TINY
-\DeclareUrlCommand\tinyuri{\def\UrlLeft##1\UrlRight{\uri@tinypre##1\uri@tinypost}}%
+\DeclareUrlCommand\tinyuri{\def\UrlLeft##1\UrlRight{\uri@tinyuripre##1\uri@tinyuripost}}%
%% TINYP (tiny with preview)
-\DeclareUrlCommand\tinypuri{\def\UrlLeft##1\UrlRight{\uri@tinyppre##1\uri@tinyppost}}%
+\DeclareUrlCommand\tinypuri{\def\UrlLeft##1\UrlRight{\uri@tinypuripre##1\uri@tinypuripost}}%
+%% WebCite
+\DeclareUrlCommand\wc{\def\UrlLeft##1\UrlRight{\uri@wcpre##1\uri@wcpost}}%
%% XMPP
\DeclareUrlCommand\xmpp{\def\UrlLeft##1\UrlRight{\uri@xmpppre##1\uri@xmpppost}}%
%% citeurl
\DeclareUrlCommand\citeurl{\def\UrlLeft##1\UrlRight{\uri@citeurlpre##1\uri@citeurlpost}}%
%% mailto
-\DeclareUrlCommand\mailto{\def\UrlLeft##1\UrlRight{\uri@mailtopre##1\uri@mailtopost}}%
+\DeclareUrlCommand\mailto@{\def\UrlLeft##1\UrlRight{\uri@mailtopre##1\uri@mailtopost}}%
+\DeclareRobustCommand\mailto[1][]{\mailto@}%
%% ukoeln
\DeclareUrlCommand\ukoeln{\def\UrlLeft##1\UrlRight{\uri@ukoelnpre##1\uri@ukoelnpost}}%
}
% \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 @@ would work (if that DOI would exist):\newline
%
% \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 @@ would work (if that DOI would exist):\newline
% \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 @@ would work (if that DOI would exist):\newline
%
% \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 @@ would work (if that DOI would exist):\newline
%
% \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,37 +1156,55 @@ would work (if that DOI would exist):\newline
%
% \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}
% \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
diff --git a/Master/texmf-dist/source/latex/uri/uri.ins b/Master/texmf-dist/source/latex/uri/uri.ins
index d2967c7b035..0a8bde83457 100644
--- a/Master/texmf-dist/source/latex/uri/uri.ins
+++ b/Master/texmf-dist/source/latex/uri/uri.ins
@@ -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
+
+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.
-The usual disclaimers apply:
+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,13 +87,17 @@ 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).
+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 @@ and the derived files
\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 @@ and the derived files
}
\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{*************************************************************}
-\endbatchfile
+\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'.
diff --git a/Master/texmf-dist/tex/latex/uri/uri.sty b/Master/texmf-dist/tex/latex/uri/uri.sty
index 92187fd9014..41ee32d6d00 100644
--- a/Master/texmf-dist/tex/latex/uri/uri.sty
+++ b/Master/texmf-dist/tex/latex/uri/uri.sty
@@ -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[DOI:]{doipre}[DOI:]
+\DeclareStringOption[]{doipost}[]
+
+\DeclareStringOption[HDL:]{hdlpre}[HDL:]
+\DeclareStringOption[]{hdlpost}[]
+
+\DeclareStringOption[]{nbnpre}[]
+\DeclareStringOption[]{nbnpost}[]
+
+\DeclareStringOption[OCLC:]{oclcpre}[OCLC:]
+\DeclareStringOption[]{oclcpost}[]
-\DeclareStringOption[{ASIN:}]{asinpre}[{ASIN:}]
-\DeclareStringOption[{}]{asinpost}[{}]
+\DeclareStringOption[URN:OID:]{oidpre}[URN:OID:]
+\DeclareStringOption[]{oidpost}[]
-\DeclareStringOption[{DOI:}]{doipre}[{DOI:}]
-\DeclareStringOption[{}]{doipost}[{}]
+\DeclareStringOption[PubMed:]{pubmedpre}[PubMed:]
+\DeclareStringOption[]{pubmedpost}[]
-\DeclareStringOption[{HDL:}]{hdlpre}[{HDL:}]
-\DeclareStringOption[{}]{hdlpost}[{}]
+\def\uri@tiny@pre@default{TINY:}
+\def\uri@tiny@post@default{}
-\DeclareStringOption[{}]{nbnpre}[{}]
-\DeclareStringOption[{}]{nbnpost}[{}]
+\def\uri@tinyp@pre@default{TINY:P:}
+\def\uri@tinyp@post@default{}
-\DeclareStringOption[{PubMed:}]{pubmedpre}[{PubMed:}]
-\DeclareStringOption[{}]{pubmedpost}[{}]
+\DeclareStringOption[\uri@tiny@pre@default]{tinypre}[\uri@tiny@pre@default]
+\DeclareStringOption[\uri@tiny@post@default]{tinypost}[\uri@tiny@post@default]
-\DeclareStringOption[{URN:OID:}]{oidpre}[{URN:OID:}]
-\DeclareStringOption[{}]{oidpost}[{}]
+\DeclareStringOption[\uri@tinyp@pre@default]{tinyppre}[\uri@tinyp@pre@default]
+\DeclareStringOption[\uri@tinyp@post@default]{tinyppost}[\uri@tinyp@post@default]
-\DeclareStringOption[{TINY:}]{tinypre}[{TINY:}]
-\DeclareStringOption[{}]{tinypost}[{}]
+\DeclareStringOption[\uri@tiny@pre@default]{tinyuripre}[\uri@tiny@pre@default]
+\DeclareStringOption[\uri@tiny@post@default]{tinyuripost}[\uri@tiny@post@default]
-\DeclareStringOption[{TINY:P:}]{tinyppre}[{TINY:P:}]
-\DeclareStringOption[{}]{tinyppost}[{}]
+\DeclareStringOption[\uri@tinyp@pre@default]{tinypuripre}[\uri@tinyp@pre@default]
+\DeclareStringOption[\uri@tinyp@post@default]{tinypuripost}[\uri@tinyp@post@default]
-\DeclareStringOption[{URN:XMPP:}]{xmpppre}[{}]
-\DeclareStringOption[{}]{xmpppost}[{}]
+\DeclareStringOption[WC:]{wcpre}[WC:]
+\DeclareStringOption[]{wcpost}[]
-\DeclareStringOption[{<}]{citeurlpre}[{<}]
-\DeclareStringOption[{>}]{citeurlpost}[{>}]
+\DeclareStringOption[URN:XMPP:]{xmpppre}[]
+\DeclareStringOption[]{xmpppost}[]
-\DeclareStringOption[{mailto:}]{mailtopre}[{mailto:}]
-\DeclareStringOption[{}]{mailtopost}[{}]
+\DeclareStringOption[<]{citeurlpre}[<]
+\DeclareStringOption[>]{citeurlpost}[>]
-\DeclareStringOption[{http://ukoeln.de/}]{ukoelnpre}[{http://ukoeln.de/}]
-\DeclareStringOption[{}]{ukoelnpost}[{}]
+\DeclareStringOption[mailto:]{mailtopre}[mailto:]
+\DeclareStringOption[]{mailtopost}[]
+
+\DeclareStringOption[http://UKoeln.de/]{ukoelnpre}[http://UKoeln.de/]
+\DeclareStringOption[]{ukoelnpost}[]
\ProcessKeyvalOptions*
+\gdef\urisetup{\kvsetkeys{uri}}
+
+\def\uri@wrapper{\uri@tiny@pre@default}
+\ifx\uri@tinypre\uri@wrapper%
+\else%
+ \ifx\uri@tinyuripre\uri@wrapper%
+ \PackageWarning{uri}{Option tinypre deprecated.\MessageBreak%
+ Please use tinyuripre instead!\MessageBreak%
+ Transfering content of option tinypre to tinyuripre now;\MessageBreak%
+ }%
+ \let\uri@tinyuripre\uri@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@wrapper{\uri@tiny@post@default}
+\ifx\uri@tinypost\uri@wrapper%
+\else%
+ \ifx\uri@tinyuripost\uri@wrapper%
+ \PackageWarning{uri}{Option tinypost deprecated.\MessageBreak%
+ Please use tinyuripost instead!\MessageBreak%
+ Transfering content of option tinypost to tinyuripost now;\MessageBreak%
+ }%
+ \let\uri@tinyuripost\uri@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@wrapper{\uri@tinyp@pre@default}
+\ifx\uri@tinyppre\uri@wrapper%
+\else%
+ \ifx\uri@tinypuripre\uri@wrapper%
+ \PackageWarning{uri}{Option tinyppre deprecated.\MessageBreak%
+ Please use tinypuripre instead!\MessageBreak%
+ Transfering content of option tinyppre to tinypuripre now;\MessageBreak%
+ }%
+ \let\uri@tinypuripre\uri@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@wrapper{\uri@tinyp@post@default}
+\ifx\uri@tinyppost\uri@wrapper%
+\else%
+ \ifx\uri@tinypuripost\uri@wrapper%
+ \PackageWarning{uri}{Option tinyppost deprecated.\MessageBreak%
+ Please use tinypuripost instead!\MessageBreak%
+ Transfering content of option tinyppost to tinypuripost now;\MessageBreak%
+ }%
+ \let\uri@tinypuripost\uri@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@arxivpre##1\uri@arxivpost}}}%
+\DeclareUrlCommand\arxiv{\def\UrlLeft##1\UrlRight{\href{https://arxiv.org/abs/##1}{\uri@arxivpre##1\uri@arxivpost}}}%
%% ASIN
-\DeclareUrlCommand\asin{\def\UrlLeft##1\UrlRight{\href{http://amzn.com/##1}{\uri@asinpre##1\uri@asinpost}}}%
+\DeclareUrlCommand\asin{\def\UrlLeft##1\UrlRight{\href{https://amzn.com/##1}{\uri@asinpre##1\uri@asinpost}}}%
%% DOI
-\DeclareUrlCommand\doi{\def\UrlLeft##1\UrlRight{\href{http://dx.doi.org/##1}{\uri@doipre##1\uri@doipost}}}%
+\DeclareUrlCommand\doi{\def\UrlLeft##1\UrlRight{\href{https://dx.doi.org/##1}{\uri@doipre##1\uri@doipost}}}%
%% HDL
-\DeclareUrlCommand\hdl{\def\UrlLeft##1\UrlRight{\href{http://hdl.handle.net/##1}{\uri@hdlpre##1\uri@hdlpost}}}%
+\DeclareUrlCommand\hdl{\def\UrlLeft##1\UrlRight{\href{https://hdl.handle.net/##1}{\uri@hdlpre##1\uri@hdlpost}}}%
%% NBN
-\DeclareUrlCommand\nbn{\def\UrlLeft##1\UrlRight{\href{http://nbn-resolving.org/##1}{\uri@nbnpre##1\uri@nbnpost}}}%
+\DeclareUrlCommand\nbn{\def\UrlLeft##1\UrlRight{\href{https://nbn-resolving.org/urn/resolver.pl?urn=##1}{\uri@nbnpre##1\uri@nbnpost}}}%
+%% OCLC
+\DeclareUrlCommand\oclc{\def\UrlLeft##1\UrlRight{\href{https://www.worldcat.org/oclc/##1}{\uri@oclcpre##1\uri@oclcpost}}}%
%% OID
-\DeclareUrlCommand\oid{\def\UrlLeft##1\UrlRight{\href{http://www.oid-info.com/cgi-bin/display?oid=##1&submit=Display&action=display}{\uri@oidpre##1\uri@oidpost}}}%
+\DeclareUrlCommand\oid{\def\UrlLeft##1\UrlRight{\href{http://www.oid-info.com/cgi-bin/display?oid=##1&submit=Display&action=display}{%
+\uri@oidpre##1\uri@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@pubmedpre##1\uri@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@pubmedpre##1\uri@pubmedpost}}}%
%% TINY
-\DeclareUrlCommand\tinyuri{\def\UrlLeft##1\UrlRight{\href{http://tinyurl.com/##1}{\uri@tinypre##1\uri@tinypost}}}%
+\DeclareUrlCommand\tinyuri{\def\UrlLeft##1\UrlRight{\href{https://tinyurl.com/##1}{\uri@tinyuripre##1\uri@tinyuripost}}}%
%% TINYP (tiny with preview)
-\DeclareUrlCommand\tinypuri{\def\UrlLeft##1\UrlRight{\href{http://preview.tinyurl.com/##1}{\uri@tinyppre##1\uri@tinyppost}}}%
+\DeclareUrlCommand\tinypuri{\def\UrlLeft##1\UrlRight{\href{https://preview.tinyurl.com/##1}{\uri@tinypuripre##1\uri@tinypuripost}}}%
+%% WebCite
+\DeclareUrlCommand\wc{\def\UrlLeft##1\UrlRight{\href{https://www.webcitation.org/##1}{\uri@wcpre##1\uri@wcpost}}}%
%% XMPP
-\DeclareUrlCommand\xmpp{\def\UrlLeft##1\UrlRight{\href{http://xmpp.org/protocols/urn:xmpp:##1/}{\uri@xmpppre##1\uri@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@xmpppre##1\uri@xmpppost}}%
+ }%
%% citeurl
\DeclareUrlCommand\citeurl{\def\UrlLeft##1\UrlRight{\href{##1}{\uri@citeurlpre##1\uri@citeurlpost}}}%
%% mailto
-\DeclareUrlCommand\mailto{\def\UrlLeft##1\UrlRight{\href{mailto:##1}{\uri@mailtopre##1\uri@mailtopost}}}%
+\DeclareUrlCommand\mailto@{\def\UrlLeft##1\UrlRight{\href{mailto:##1\mailto@subject}{\uri@mailtopre##1\uri@mailtopost}}}%
+\DeclareRobustCommand\mailto[1][]{\def\mailto@subject{?subject=#1}\mailto@}%
%% ukoeln
-\DeclareUrlCommand\ukoeln{\def\UrlLeft##1\UrlRight{\href{http://ukoeln.de/##1}{\uri@ukoelnpre##1\uri@ukoelnpost}}}%
+\DeclareUrlCommand\ukoeln{\def\UrlLeft##1\UrlRight{\href{https://UKoeln.de/##1}{\uri@ukoelnpre##1\uri@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@arxivpre##1\uri@arxivpost}}%
%% ASIN
@@ -131,40 +257,47 @@
\DeclareUrlCommand\hdl{\def\UrlLeft##1\UrlRight{\uri@hdlpre##1\uri@hdlpost}}%
%% NBN
\DeclareUrlCommand\nbn{\def\UrlLeft##1\UrlRight{\uri@nbnpre##1\uri@nbnpost}}%
+%% OCLC
+\DeclareUrlCommand\oclc{\def\UrlLeft##1\UrlRight{\uri@oclcpre##1\uri@oclcpost}}%
%% OID
\DeclareUrlCommand\oid{\def\UrlLeft##1\UrlRight{\uri@oidpre##1\uri@oidpost}}%
%% PubMed
\DeclareUrlCommand\pubmed{\def\UrlLeft##1\UrlRight{\uri@pubmedpre##1\uri@pubmedpost}}%
%% TINY
-\DeclareUrlCommand\tinyuri{\def\UrlLeft##1\UrlRight{\uri@tinypre##1\uri@tinypost}}%
+\DeclareUrlCommand\tinyuri{\def\UrlLeft##1\UrlRight{\uri@tinyuripre##1\uri@tinyuripost}}%
%% TINYP (tiny with preview)
-\DeclareUrlCommand\tinypuri{\def\UrlLeft##1\UrlRight{\uri@tinyppre##1\uri@tinyppost}}%
+\DeclareUrlCommand\tinypuri{\def\UrlLeft##1\UrlRight{\uri@tinypuripre##1\uri@tinypuripost}}%
+%% WebCite
+\DeclareUrlCommand\wc{\def\UrlLeft##1\UrlRight{\uri@wcpre##1\uri@wcpost}}%
%% XMPP
\DeclareUrlCommand\xmpp{\def\UrlLeft##1\UrlRight{\uri@xmpppre##1\uri@xmpppost}}%
%% citeurl
\DeclareUrlCommand\citeurl{\def\UrlLeft##1\UrlRight{\uri@citeurlpre##1\uri@citeurlpost}}%
%% mailto
-\DeclareUrlCommand\mailto{\def\UrlLeft##1\UrlRight{\uri@mailtopre##1\uri@mailtopost}}%
+\DeclareUrlCommand\mailto@{\def\UrlLeft##1\UrlRight{\uri@mailtopre##1\uri@mailtopost}}%
+\DeclareRobustCommand\mailto[1][]{\mailto@}%
%% ukoeln
\DeclareUrlCommand\ukoeln{\def\UrlLeft##1\UrlRight{\uri@ukoelnpre##1\uri@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'.