diff options
author | Karl Berry <karl@freefriends.org> | 2019-11-29 21:55:29 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-11-29 21:55:29 +0000 |
commit | 4ad6738e017ba1a8be227e7ae42573b29e3fe2ce (patch) | |
tree | b3a92307932a8a33854959912efbe2a6c78d39c1 /Master/texmf-dist | |
parent | 2770228050d72e4c94ecf302e8ee6804cf222913 (diff) |
hvqrurl (29nov19)
git-svn-id: svn://tug.org/texlive/trunk@52969 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/hvqrurl/Changes | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/hvqrurl/README | 10 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/hvqrurl/hvqrurl.pdf | bin | 0 -> 95763 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/hvqrurl/hvqrurl.tex | 150 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/hvqrurl/hvqrurl.sty | 47 |
5 files changed, 209 insertions, 0 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 Binary files differnew file mode 100644 index 00000000000..f1e8eb176ca --- /dev/null +++ b/Master/texmf-dist/doc/latex/hvqrurl/hvqrurl.pdf 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 |