summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-11-29 21:55:29 +0000
committerKarl Berry <karl@freefriends.org>2019-11-29 21:55:29 +0000
commit4ad6738e017ba1a8be227e7ae42573b29e3fe2ce (patch)
treeb3a92307932a8a33854959912efbe2a6c78d39c1
parent2770228050d72e4c94ecf302e8ee6804cf222913 (diff)
hvqrurl (29nov19)
git-svn-id: svn://tug.org/texlive/trunk@52969 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/hvqrurl/Changes2
-rw-r--r--Master/texmf-dist/doc/latex/hvqrurl/README10
-rw-r--r--Master/texmf-dist/doc/latex/hvqrurl/hvqrurl.pdfbin0 -> 95763 bytes
-rw-r--r--Master/texmf-dist/doc/latex/hvqrurl/hvqrurl.tex150
-rw-r--r--Master/texmf-dist/tex/latex/hvqrurl/hvqrurl.sty47
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/hvqrurl.tlpsrc0
9 files changed, 212 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/hvqrurl/Changes b/Master/texmf-dist/doc/latex/hvqrurl/Changes
new file mode 100644
index 00000000000..dbf1c990f2b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/hvqrurl/Changes
@@ -0,0 +1,2 @@
+hvqrurl.sty:
+0.01 2019-11-27 - first CTAN version
diff --git a/Master/texmf-dist/doc/latex/hvqrurl/README b/Master/texmf-dist/doc/latex/hvqrurl/README
new file mode 100644
index 00000000000..12b48923cb0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/hvqrurl/README
@@ -0,0 +1,10 @@
+hvqrurl
+Placing an URL as a QR code into the margin of the text.
+The package loads by default url, qrcode, marginnote,
+xcolor, and xkeyval
+
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+
+hvoss@tug.org \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/hvqrurl/hvqrurl.pdf b/Master/texmf-dist/doc/latex/hvqrurl/hvqrurl.pdf
new file mode 100644
index 00000000000..f1e8eb176ca
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/hvqrurl/hvqrurl.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/hvqrurl/hvqrurl.tex b/Master/texmf-dist/doc/latex/hvqrurl/hvqrurl.tex
new file mode 100644
index 00000000000..23196651ec4
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/hvqrurl/hvqrurl.tex
@@ -0,0 +1,150 @@
+%% $Id: hvqrurl.tex 1118 2019-11-29 07:56:18Z herbert $
+\listfiles
+\errorcontextlines=100
+\documentclass[twoside,usegeometry]{scrartcl}
+\usepackage{libertinus-otf}
+\setmonofont[Scale=MatchLowercase,FakeStretch=0.9]{DejaVu Sans Mono}
+\usepackage{microtype}
+\usepackage[english]{babel}
+\usepackage[automark]{scrlayer-scrpage}
+\pagestyle{scrheadings}
+
+\usepackage[showframe=false]{geometry}
+\usepackage{listings}
+%
+\lstset{%
+ language=[LaTeX]TeX,%
+ showstringspaces=false,%
+ tabsize=5,%
+ frame=single,%
+% lineskip=-1pt,%
+ extendedchars=true,%
+ basicstyle={\small\ttfamily},%
+% numbers=left,%
+% stepnumber=1,%
+% numberstyle=\tiny,%
+% xleftmargin=2em,%
+ breaklines=true}
+%
+
+\usepackage{ragged2e}
+\usepackage{hvqrurl}
+\usepackage{xindex}
+
+\usepackage{hvdoctools}
+
+\usepackage{hyperref}
+\hypersetup{urlcolor=blue, linktocpage, colorlinks=true}%
+
+\begin{document}
+\title{Package \texttt{hvqrurl}\\Creating a QR-code of an URL in the margin \\ver 0.01}
+\author{Herbert Voß\thanks{\protect\url{hvoss@tug.org}}}
+\date{\today}
+\maketitle
+
+
+\begin{abstract}
+This package allows to draw an URL as a QR code into the margin of a one- or twosided
+document. The following packages are loaded by default:
+\LPack{qrcode}, \LPack{marginnote}, \LPack{url}, \LPack{xcolor},
+and
+\LPack{xkeyval}.
+\end{abstract}
+
+
+\section{The macro}
+
+
+\begin{BDef}
+\Lcs{hvqrset}\Largb{key=value list}\\
+\Lcs{hvqrurl}\Largb{key=value list}\Largb{URL}\\
+\Lcs{hvqrurl*}\Largb{key=value list}\Largb{URL}
+\end{BDef}
+
+With the default macro \Lcs{hvqrurl} the URL is printed as as QR code into the margin and
+in the the text as usual with the macro \Lcs{url}, for example \hvqrurl{https://mirror.ctan.org/pkg/hvqrurl}.
+With \LPack{hyperref} you'll get the the same color for the QR code as for the URL link and, of course,
+is also a link. This example shows the default setting for a QR code.
+
+
+\section{Optional arguments}
+
+\subsection{No link with \LPack{hyperref}}
+
+\begin{lstlisting}
+With \Lkeyset{qrlink=nolink} the QR code is no link: \hvqrurl[qrlink=nolink]{https://mirror.ctan.org/pkg/hvqrurl}.
+The default setting is \Lkeyset{qrlink=link}.
+\end{lstlisting}
+
+With \Lkeyset{qrlink=nolink} the QR code is no link: \hvqrurl[qrlink=nolink]{https://mirror.ctan.org/pkg/hvqrurl}.
+The default setting is \Lkeyset{qrlink=link}. Without using \LPack{hyperref} this optional argument
+has no meaning.
+
+\subsection{Color of the QR code}
+Without using \LPack{hyperref} the default color is \Lkeyval{black}. It can be changed by
+the optional argument \Lkeyword{qrcolor}. The package \LPack{xcolor}\hvqrurl*[qrlink=nolink,qrcolor=red!40!white]{http://mirror.ctan.org/pkg/xcolor}
+ is loaded by default,
+the reason why an extended color definition is possible. For this example we used
+
+\begin{lstlisting}
+The package \LPack{xcolor}\hvqrurl*[qrcolor=red!40!white]{http://mirror.ctan.org/pkg/xcolor}
+ is loaded by default, ...
+\end{lstlisting}
+
+\subsection{Vertical position of the QR code}
+By default the baseline of the QR code is nearly at the same height as the baseline of the textline.
+However, when changing the size of the QR code it may be nessesary to move up or down the QR code.
+The default value of \Lkeyword{qradjust} is \verb|-1.5\normalbaselineskip|. Setting the value
+to 0pt the QR code \hvqrurl*[qrlink=nolink,qradjust=0pt]{http://ctan.org/} is moved down which is the default
+setting without a vertical adjustment.
+
+\begin{lstlisting}
+The default value of \Lkeyword{qradjust} is \verb|-1.5\normalbaselineskip|. Setting the value
+to 0pt the QR code \hvqrurl*[qradjust=0pt]{http://ctan.org/} is moved down which is the default
+setting without a vertical adjustment.
+\end{lstlisting}
+
+
+\subsection{Size of the QR code}
+By default the QR code is a square with height and width of 1cm.
+it can be changed by setting \Lkeyword{qrheight} to another value, for example to 2cm:
+\hvqrurl*[qrlink=nolink,qrheight=2cm]{https://identity.fu-berlin.de/idp-fub/profile/SAML2/Redirect/SSO;jsessionid=71C984647E3B8F2E716CA067CB13387E?execution=e1s1}
+This is an exetremely long url where it may make sense to use a larger QR code.
+
+\begin{lstlisting}
+it can be changed by setting \Lkeyword{qrheight} to another value, for example to 2cm:
+\hvqrurl*[qrheight=2cm]{https://identity.fu-berlin.de/idp-fub/profile/SAML2/Redirect/SSO;jsessionid=71C984647E3B8F2E716CA067CB13387E?execution=e1s1}
+This is an exetremely long url where it may make sense to use a larger QR code.
+\end{lstlisting}
+
+
+\subsection{QR code level}
+The QR code specification includes four levels of encoding:
+Low (L) (\hvqrurl[qrlink=nolink]{https://www.tug.org/}), Medium (M), Quality (Q),
+and High (H) (\hvqrurl[qrlink=nolink,qradjust=0pt,qrlevel=H]{https://www.tug.org/}),
+in increasing order of error-correction capability.
+In general, for a given text a higher error-correction level requires
+more bits of information in the QR code.
+
+\begin{lstlisting}
+The QR code specification includes four levels of encoding:
+Low (L) (\hvqrurl{https://www.tug.org/}), Medium (M), Quality (Q),
+and High (H) (\hvqrurl[qradjust=0pt,qrlevel=H]{https://www.tug.org/}),
+in increasing order of error-correction capability.
+\end{lstlisting}
+
+The first QR code has the default level \Lkeyval{M} and the last one the
+level \Lkeyval{H}. In general the user has not to set this keyword it will be
+controlled internally by the package.
+
+
+
+\printindex
+
+
+\section{The Package Source}
+\lstinputlisting[basicstyle=\ttfamily\footnotesize,tabsize=3,numbers=left,numberstyle=\tiny]{hvqrurl.sty}
+
+
+\end{document}
+
diff --git a/Master/texmf-dist/tex/latex/hvqrurl/hvqrurl.sty b/Master/texmf-dist/tex/latex/hvqrurl/hvqrurl.sty
new file mode 100644
index 00000000000..b8c657b82ff
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/hvqrurl/hvqrurl.sty
@@ -0,0 +1,47 @@
+%% $Id: hvqrurl.sty 1117 2019-11-28 20:54:41Z herbert $
+%%
+%% This file is distributed under the terms of the LaTeX Project Public
+%% License from CTAN archives in directory macros/latex/base/lppl.txt.
+%% Either version 1.3 or, at your option, any later version.
+%%
+% Copyright 2019 Herbert Voss hvoss@tug.org
+%%
+\ProvidesPackage{hvqrurl}[%
+ 2019/11/27 v.0.01 (Herbert Voss) Supports qr images into the margin (hv)]
+%
+\NeedsTeXFormat{LaTeX2e}
+\RequirePackage{url}
+\RequirePackage{xcolor}
+\RequirePackage{marginnote}
+\RequirePackage{qrcode}
+\RequirePackage{xkeyval}
+
+\newlength\qr@url@qrheight
+\newlength\qr@url@qradjust
+
+\define@key{hvqr}{qrheight}[1cm]{\setlength\qr@url@qrheight{#1}}
+\define@key{hvqr}{qradjust}[-1.5\normalbaselineskip]{\setlength\qr@url@qradjust{#1}}
+\define@key{hvqr}{qrcolor}[black]{\colorlet{qr@url@qrcolor}{#1}}
+\define@key{hvqr}{qrlevel}[M]{\def\qr@url@qrlevel{#1}}
+\define@key{hvqr}{qrlink}[link]{\def\qr@url@qrlink{#1}}
+
+\setkeys{hvqr}{qrheight,qrcolor=black,qradjust,qrlevel,qrlink=link}% the default setting
+
+\newcommand*\hvqrset[1]{\setkeys{hvqr}{#1}}
+
+\def\hvqrurl{\@ifnextchar*{\@tempswafalse\hvqr@url}{\@tempswatrue\hvqr@@url}}
+\def\hvqr@url*{\hvqr@@url}
+
+\newcommand*\hvqr@@url[2][]{%
+ \begingroup
+ \providecommand*\qr@blank{0}%
+ \ifx\relax#1\relax \else\hvqrset{#1}\fi
+ \expandafter\qrset\expandafter{\qr@url@qrlink,height=\qr@url@qrheight,level=\qr@url@qrlevel}%
+ \if@tempswa\url{#2}\fi
+ \edef\reserved@a{\noexpand\marginnote{\noexpand\color{qr@url@qrcolor}\noexpand\qrcode{%
+ \detokenize\expandafter{#2}}}[\qr@url@qradjust]}%
+ \reserved@a
+ \endgroup
+}
+
+\endinput
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 49734c82ea7..f7aa619bda0 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -352,7 +352,7 @@ my @TLP_working = qw(
hhtensor histogr historische-zeitschrift hitec hithesis hletter hlist
hmtrump hobby hobete hobsub hook-pre-commit-pkg horoscop
hpsdiss hrefhide hrlatex
- hu-berlin-bundle hulipsum hustthesis hvfloat hvindex
+ hu-berlin-bundle hulipsum hustthesis hvfloat hvindex hvqrurl
hypdvips hyper hyperbar hypernat hyperref hyperxmp hyph-utf8 hyphen-base
hyphenat hyphenex hyplain
ibycus-babel ibygrk icite icsv identkey idxcmds idxlayout ieeepes ietfbibs
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 84229a6ff0e..87c1f4b6395 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -579,6 +579,7 @@ chomp (my $ctan_root = `tlpkginfo --ctan-root`);
'holtxdoc', "die 'skipping, use oberdiek'",
'hvfloat', "&MAKEflatten",
'hvindex', "&MAKEflatten",
+ 'hvqrurl', "&MAKEflatten",
'hybrid-latex', "die 'skipping, no self-locating of Python modules'",
'hyph-utf8', "&MAKEcopy",
'hyphen-german',"die 'skipping, part of hyph-utf8'",
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index a40ec9287e8..c8d485d4022 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -563,6 +563,7 @@ depend hobsub
depend hpsdiss
depend hrefhide
depend hvindex
+depend hvqrurl
depend hypdvips
depend hyper
depend hyperbar
diff --git a/Master/tlpkg/tlpsrc/hvqrurl.tlpsrc b/Master/tlpkg/tlpsrc/hvqrurl.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/hvqrurl.tlpsrc