diff options
Diffstat (limited to 'macros/latex/contrib/hvqrurl/latex/hvqrurl.sty')
-rw-r--r-- | macros/latex/contrib/hvqrurl/latex/hvqrurl.sty | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty b/macros/latex/contrib/hvqrurl/latex/hvqrurl.sty new file mode 100644 index 0000000000..b8c657b82f --- /dev/null +++ b/macros/latex/contrib/hvqrurl/latex/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 |