From 95255951c26abc51018d66c287c71bc96576a899 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 1 Sep 2018 22:17:45 +0000 Subject: uri (1sep18) git-svn-id: svn://tug.org/texlive/trunk@48538 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/uri/README | 124 +-- Master/texmf-dist/doc/latex/uri/uri-example.pdf | Bin 82019 -> 119167 bytes Master/texmf-dist/doc/latex/uri/uri-example.tex | 205 +++-- Master/texmf-dist/doc/latex/uri/uri.pdf | Bin 306332 -> 320491 bytes Master/texmf-dist/source/latex/uri/ltxdoc.cfg | 103 --- Master/texmf-dist/source/latex/uri/uri.drv | 57 +- Master/texmf-dist/source/latex/uri/uri.dtx | 1076 +++++++++++++---------- Master/texmf-dist/source/latex/uri/uri.ins | 107 ++- Master/texmf-dist/tex/latex/uri/uri.sty | 265 ++++-- 9 files changed, 1119 insertions(+), 818 deletions(-) delete mode 100644 Master/texmf-dist/source/latex/uri/ltxdoc.cfg 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 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 Binary files a/Master/texmf-dist/doc/latex/uri/uri-example.pdf and b/Master/texmf-dist/doc/latex/uri/uri-example.pdf 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 +%% 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 Binary files a/Master/texmf-dist/doc/latex/uri/uri.pdf and b/Master/texmf-dist/doc/latex/uri/uri.pdf 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 +%% 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 % 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 @@ % %<*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 +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 % %<*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} % % \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. %% - } - -% -% \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} % % \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 +%% 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 +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 +%% 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'. -- cgit v1.2.3