From f07178212e036c91f6da66d754d5915b42cf8a2b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 16 Aug 2016 21:46:50 +0000 Subject: phfsvnwatermark (16aug16) git-svn-id: svn://tug.org/texlive/trunk@41870 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/phfsvnwatermark/phfsvnwatermark.sty | 169 +++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/phfsvnwatermark/phfsvnwatermark.sty (limited to 'Master/texmf-dist/tex/latex/phfsvnwatermark') diff --git a/Master/texmf-dist/tex/latex/phfsvnwatermark/phfsvnwatermark.sty b/Master/texmf-dist/tex/latex/phfsvnwatermark/phfsvnwatermark.sty new file mode 100644 index 00000000000..0bb42512d3e --- /dev/null +++ b/Master/texmf-dist/tex/latex/phfsvnwatermark/phfsvnwatermark.sty @@ -0,0 +1,169 @@ +%% +%% This is file `phfsvnwatermark.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% phfsvnwatermark.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright (C) 2016 by Philippe Faist +%% +%% This 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.3 or later is part of all distributions of LaTeX version +%% 2005/12/01 or later. +%% +\NeedsTeXFormat{LaTeX2e}[2005/12/01] +\ProvidesPackage{phfsvnwatermark} + [2016/08/15 v1.0 phfsvnwatermark package] +\RequirePackage{kvoptions} +\RequirePackage{calc} +\@ifpackageloaded{xcolor}{}{% + \@ifpackageloaded{color}{}{% + \RequirePackage{xcolor}% + } +} +\definecolor{phfsvnversionidcolor}{rgb}{0.6,0.6,0.6} +\def\phfsvnVersionIdTagOuterFont{\normalfont\scriptsize} +\def\phfsvnVersionIdTagInnerFont{\ttfamily} +\def\phfsvn@versionidtag{% + \begingroup% + \color{phfsvnversionidcolor}\phfsvnVersionIdTagOuterFont% + [\,\begingroup\phfsvnVersionIdTagInnerFont% + {\phfsvn@versionidtag@contents}\endgroup\,]% + \endgroup% +} +\newcommand\phfsvnVersionIdTag{% + \@ifstar\phfsvn@smashedsvnversionidtag\phfsvn@versionidtag +} +\def\phfsvn@smashedsvnversionidtag{% + \hspace*{0pt}\smash{\phfsvn@clap{\phfsvn@versionidtag}} +} +\def\phfsvn@clap#1{\hbox to 0pt{\hss#1\hss}} +\def\phfsvn@versionidtag@contents@svn{% + \SVNId% +} +\def\phfsvn@doincludesvn@svn{ + \RequirePackage{svn} +} +\def\phfsvn@versionidtag@contents@gitnotsvn{% + \SVNId\hspace*{1.5em}\SVNDate~\SVNTime\hspace*{1.5em}\SVNAuthor% +} +\def\phfsvn@doincludesvn@gitnotsvn{ + \RequirePackage{svn}% +} +\def\phfsvn@versionidtag@contents@svnmulti{% + SVN Document Version:\hspace*{1ex}% + \svnmainfilename~r\svnrev~\svndate~\svnauthor% +} +\def\phfsvn@doincludesvn@svnmulti{ + \PassOptionsToPackage{filehooks}{svn-multi} + \RequirePackage{svn-multi} +} +\def\phfsvn@svnmulticurrfile@maxwidth{0.8\paperwidth} +\newsavebox\phfsvn@box@upperline +\newsavebox\phfsvn@box@lowerline +\def\phfsvn@svnmulticurrfile@upperline{% + SVN Document Version:\hspace{1.5ex}r\svnrev~\svndate~\svnauthor}% +\def\phfsvn@svnmulticurrfile@lowerline{% + \svnkw{Filename}:\hspace{1.5ex}r\svnfilerev~\svnfiledate~\svnfileauthor}% +\def\phfsvn@versionidtag@for@svnmulticurrfile{% + \begingroup% + \color{phfsvnversionidcolor}% + \phfsvnVersionIdTagOuterFont\phfsvnVersionIdTagInnerFont% + \sbox\phfsvn@box@upperline{\phfsvn@svnmulticurrfile@upperline}% + \sbox\phfsvn@box@lowerline{\phfsvn@svnmulticurrfile@lowerline}% + \begin{minipage}[t]{\minof{\phfsvn@svnmulticurrfile@maxwidth}% + {\maxof{\wd\phfsvn@box@upperline}{\wd\phfsvn@box@lowerline}}}% + \parindent=0pt\relax\parskip=0pt\relax% + \raggedleft% + \par\phfsvn@svnmulticurrfile@upperline% + \par\phfsvn@svnmulticurrfile@lowerline% + \end{minipage}% + \endgroup% +}% +\def\phfsvn@doincludesvn@svnmulticurrfile{% + \RequirePackage{currfile}% + \RequirePackage[filehooks]{svn-multi}% +}% +\def\phfsvn@doplace@shipout{% + \RequirePackage{eso-pic} + \AddToShipoutPicture{% + \setlength{\@tempdimb}{\phfsvnShipoutWatermarkXposRight}% + \setlength{\@tempdimc}{\phfsvnShipoutWatermarkYposBaseline}% + \setlength{\unitlength}{1pt}% + \put(2,\strip@pt\@tempdimc){% + \makebox(\strip@pt\@tempdimb,0)[r]% + {\hfill\phfsvn@versionidtag}}% + }% +} +\def\phfsvnShipoutWatermarkXposRight{0.9\paperwidth} +\def\phfsvnShipoutWatermarkYposBaseline{0.05\paperheight} +\def\phfsvn@doplace@manual{} +\SetupKeyvalOptions{ + family=phfsvn, + prefix=phfsvn@ +} +\def\phfsvn@SetupForId#1{% + \ifcsname phfsvn@SetupForId@#1\endcsname% + \csname phfsvn@SetupForId@#1\endcsname% + \else% + \PackageError{phfsvn}{Unknown SvnId method: '#1'}% + \fi +} +\def\phfsvn@doincludesvn{} +\def\phfsvn@SetupForId@svn{ + \message{phfsvn: Using SvnId method = svn} + \let\phfsvn@doincludesvn\phfsvn@doincludesvn@svn + \let\phfsvn@versionidtag@contents\phfsvn@versionidtag@contents@svn +} +\def\phfsvn@SetupForId@gitnotsvn{ + \message{phfsvn: Using SvnId method = gitnotsvn} + \let\phfsvn@doincludesvn\phfsvn@doincludesvn@gitnotsvn + \let\phfsvn@versionidtag@contents\phfsvn@versionidtag@contents@gitnotsvn +} +\expandafter\def\csname phfsvn@SetupForId@svn-multi\endcsname{ + \message{phfsvn: Using SvnId method = svn-multi} + \let\phfsvn@doincludesvn\phfsvn@doincludesvn@svnmulti + \let\phfsvn@versionidtag@contents\phfsvn@versionidtag@contents@svnmulti +} +\expandafter\def\csname phfsvn@SetupForId@svn-multi-currfile\endcsname{ + \message{phfsvn: Using SvnId method = svn-multi-currfile} + \let\phfsvn@doincludesvn\phfsvn@doincludesvn@svnmulticurrfile + % redefine whole versionidtag, not only contents: + \let\phfsvn@versionidtag\phfsvn@versionidtag@for@svnmulticurrfile +} +\def\phfsvn@SetupForId@{% no ID method + \PackageWarning{phfsvn}{*** No SvnId method provided, no watermark will be displayed.} + \phfsvn@watermarkfalse +} +\def\phfsvn@SetupPlacement#1{% + \ifcsname phfsvn@doplace@#1\endcsname% + \csname phfsvn@doplace@#1\endcsname% + \else% + \PackageError{phfsvn}{Unknown placement method: '#1'}% + \fi +} +\DeclareStringOption[]{id}[svn] +\DeclareBoolOption[true]{watermark} +\DeclareStringOption[shipout]{placement} +\DeclareDefaultOption{% + % We provide the standard LaTeX error. + \@unknownoptionerror +} +\ProcessKeyvalOptions* +\phfsvn@SetupForId{\phfsvn@id} +\phfsvn@doincludesvn +\ifphfsvn@watermark + \phfsvn@SetupPlacement{\phfsvn@placement} +\fi +\endinput +%% +%% End of file `phfsvnwatermark.sty'. -- cgit v1.2.3