summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/phfsvnwatermark
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-08-16 21:46:50 +0000
committerKarl Berry <karl@freefriends.org>2016-08-16 21:46:50 +0000
commitf07178212e036c91f6da66d754d5915b42cf8a2b (patch)
tree18afffdd4da9444242b838caabd1d13171ad1029 /Master/texmf-dist/tex/latex/phfsvnwatermark
parentf8d159fa556763f431ce7d024cb4dc92df50de41 (diff)
phfsvnwatermark (16aug16)
git-svn-id: svn://tug.org/texlive/trunk@41870 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/phfsvnwatermark')
-rw-r--r--Master/texmf-dist/tex/latex/phfsvnwatermark/phfsvnwatermark.sty169
1 files changed, 169 insertions, 0 deletions
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 <philippe.faist@bluewin.ch>
+%%
+%% 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'.