summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-07-24 21:32:13 +0000
committerKarl Berry <karl@freefriends.org>2015-07-24 21:32:13 +0000
commit45753dabbb93091efcea2a70996bcbdc51a39761 (patch)
treefe2868a7aa1ee754a2fbb7dee92bb9a534d10145
parent5700bb5345e7a304c811f215f1d0e5a7da2b7ff1 (diff)
pdfpagediff (24jul15)
git-svn-id: svn://tug.org/texlive/trunk@37946 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/pdfpagediff/README24
-rw-r--r--Master/texmf-dist/doc/latex/pdfpagediff/doc/Makefile42
-rw-r--r--Master/texmf-dist/doc/latex/pdfpagediff/doc/ar1.pngbin0 -> 76717 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfpagediff/doc/ar2.pngbin0 -> 74614 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfpagediff/doc/ar3.pngbin0 -> 73503 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfpagediff/doc/pdfpagediff-doc.pdfbin0 -> 449373 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfpagediff/doc/pdfpagediff-doc.sty360
-rw-r--r--Master/texmf-dist/doc/latex/pdfpagediff/doc/pdfpagediff-doc.tex179
-rw-r--r--Master/texmf-dist/doc/latex/pdfpagediff/example/file1.pdfbin0 -> 137130 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfpagediff/example/file2.pdfbin0 -> 137355 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfpagediff/example/ltest.pdfbin0 -> 208328 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfpagediff/example/ltest.tex22
-rw-r--r--Master/texmf-dist/doc/latex/pdfpagediff/manifest.txt25
-rw-r--r--Master/texmf-dist/tex/latex/pdfpagediff/pdfpagediff.sty261
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check3
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/pdfpagediff.tlpsrc0
17 files changed, 916 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/pdfpagediff/README b/Master/texmf-dist/doc/latex/pdfpagediff/README
new file mode 100644
index 00000000000..d3d7011f2fa
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfpagediff/README
@@ -0,0 +1,24 @@
+This directory contains the LaTeX2e package 'pdfpagediff'
+Version: 1.4; July 24, 2015
+
+This package shall be used to find differences between two versions of
+PDF's of same document.
+
+Copyright (C) 2010-2015, CV Radhakrishnan
+ JWRA 34, Jagathy
+ Trivandrum 695014, India
+ Email: <cvr@cvr.cc>
+
+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; either
+version 1 of the License, or any later version.
+
+If you find this package useful, please send me a postcard.
+
+To install:
+ copy pdfdocdiff.sty to a directory in your $TEXINPUTS path and
+ update TeX's file database.
+
+$Id: README,v 1.2 2015/07/24 09:57:54 cvr Exp cvr $
+
diff --git a/Master/texmf-dist/doc/latex/pdfpagediff/doc/Makefile b/Master/texmf-dist/doc/latex/pdfpagediff/doc/Makefile
new file mode 100644
index 00000000000..84aaa5a4b2b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfpagediff/doc/Makefile
@@ -0,0 +1,42 @@
+##
+## Makefile
+##
+##
+##
+##
+##
+
+file=pdfpagediff-doc
+
+
+all: pdf out
+ make pdf
+
+out:
+ if [ -f $(file).out ] ; then cp $(file).out tmp.out; fi ;
+ sed 's/BOOKMARK/dtxmark/g;' tmp.out > x.out; mv x.out tmp.out ;
+
+pdf:
+ pdflatex $(file).tex
+
+index:
+ makeindex -s gind.ist -o $(file).ind $(file).idx
+
+changes:
+ makeindex -s gglo.ist -o $(file).gls $(file).glo
+
+xview:
+ xpdf -z 200 $(file).pdf &>/dev/null
+
+view:
+ acroread $(file).pdf
+
+ins:
+ latex $(file).ins
+
+diff:
+ diff $(file).sty ../$(file).sty |less
+
+copy:
+ cp $(file).sty ../
+
diff --git a/Master/texmf-dist/doc/latex/pdfpagediff/doc/ar1.png b/Master/texmf-dist/doc/latex/pdfpagediff/doc/ar1.png
new file mode 100644
index 00000000000..61f00dd2814
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfpagediff/doc/ar1.png
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfpagediff/doc/ar2.png b/Master/texmf-dist/doc/latex/pdfpagediff/doc/ar2.png
new file mode 100644
index 00000000000..8c8420e8e09
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfpagediff/doc/ar2.png
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfpagediff/doc/ar3.png b/Master/texmf-dist/doc/latex/pdfpagediff/doc/ar3.png
new file mode 100644
index 00000000000..c6504d26c50
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfpagediff/doc/ar3.png
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfpagediff/doc/pdfpagediff-doc.pdf b/Master/texmf-dist/doc/latex/pdfpagediff/doc/pdfpagediff-doc.pdf
new file mode 100644
index 00000000000..8a20c5afc10
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfpagediff/doc/pdfpagediff-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfpagediff/doc/pdfpagediff-doc.sty b/Master/texmf-dist/doc/latex/pdfpagediff/doc/pdfpagediff-doc.sty
new file mode 100644
index 00000000000..582f6ecd9fa
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfpagediff/doc/pdfpagediff-doc.sty
@@ -0,0 +1,360 @@
+%%
+%% This is file 'pdfpagediff-doc.sty'.
+%%
+%% A supplementary package with auxiliary macros needed to typeset
+%% the documentation file, pdfpagediff-doc.tex.
+%%
+%% File: pdfpagediff-doc.sty Copyright (c) 2010-2015, CV Radhakrishnan
+%% JWRA 34, Jagathy, Trivandrum 695014
+%% http://www.cvr.cc Email: <cvr@cvr.cc>
+%%
+%% This package may be distributed under the terms of the LaTeX Project
+%% Public License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.0 or, at your option, any later version.
+%%
+%% $Id: pdfpagediff-doc.sty,v 1.3 2015/07/24 09:46:59 cvr Exp cvr $
+%%
+%%
+\RequirePackage[dvipsnames,svgnames]{xcolor}
+\RequirePackage{graphicx}
+\RequirePackage{tikz}
+\usetikzlibrary{backgrounds}
+\newdimen\lmrgn
+\def\rulecolor{seccolor}
+\def\rulewidth{1pt}
+\pgfdeclareshape{filledbox}{%
+ \inheritsavedanchors[from=rectangle] %
+ \inheritanchorborder[from=rectangle]
+ \inheritanchor[from=rectangle]{center}
+ \inheritanchor[from=rectangle]{north}
+ \inheritanchor[from=rectangle]{south}
+ \inheritanchor[from=rectangle]{west}
+ \inheritanchor[from=rectangle]{east}
+ \backgroundpath{%
+ \southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
+ \northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
+ \pgf@xc=\pgf@xb \advance\pgf@xc by-5pt
+ \pgf@yc=\pgf@yb \advance\pgf@yc by-5pt
+ \pgfsetlinewidth{.2pt}
+ \pgfsetstrokecolor{seccolor}
+ \pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}
+ \pgfsetcornersarced{\pgfpoint{9pt}{9pt}}
+ \pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@yb}}
+ \pgfsetcornersarced{\pgforigin}
+ \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}
+ \pgfsetcornersarced{\pgfpoint{9pt}{9pt}}
+ \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@ya}}
+ \pgfsetcornersarced{\pgforigin}
+ \pgfpathclose ;
+ }%
+}
+
+\newdimen\Linewidth
+\setlength\Linewidth{\textwidth}
+\addtolength{\Linewidth}{-17pt}
+\newcounter{clip}
+\def\src#1{\gdef\@src{#1}}\let\@src\@empty
+\def\includeclip{\@ifnextchar[{\@includeclip}{\@includeclip[]}}
+\def\@includeclip[#1]#2#3#4{\par
+ \vskip.75\baselineskip plus 3pt minus 1pt
+ \begingroup\color{white}%
+ \noindent%
+ \begin{tikzpicture}
+ %\node[fill=black!10,draw,shape=filledbox,
+ \node[fill=white,%
+ draw,
+ shade,%
+ top color=white!10,
+ bottom color=white,
+ shape=filledbox,
+ inner sep=8pt,
+ text width=\Linewidth] (x)
+ {\parbox{\Linewidth}
+ {\ifx\@src\@empty\else\refstepcounter{clip}\label{clip\theclip}%
+ {\color{seccolor}\sffamily\scriptsize
+ Clip \theclip\space\@src, p.\,#2}%
+ \par\vskip3pt\fi\normalcolor
+ \includegraphics[width=\Linewidth,page={#2},%
+ viewport={#3},clip=true,#1]{#4}}
+ \hspace*{-10pt}};
+ \end{tikzpicture}
+ \endgroup
+ \par\vskip.5\baselineskip
+ plus 3pt minus 1pt}
+%%
+%% include clippings from a pdf document:
+%% #1 => Optional argument for \includegraphics
+%% #2 => page number
+%% #3 => co-ordinates
+%% #4 => file name
+
+ \colorlet{itemcolor}{brown}
+ \colorlet{verbcolor}{Sepia}
+ \colorlet{botrulecolor}{orange!25}
+ \colorlet{botbgcolor}{orange!15}
+ \colorlet{botcolor}{orange!80}
+ \colorlet{pgrulecolor}{orange}
+ \colorlet{pgbgcolor}{white}
+
+ \colorlet{quicklinkrulecolor}{orange!40}
+ \colorlet{quicklinkcolor}{brown}
+ \colorlet{topverticalrule}{brown}
+ \colorlet{titlecolor}{brown}
+ \colorlet{hlinkcolor}{brown}
+ \colorlet{hlinktricolor}{orange!70}
+ \colorlet{linkcolor}{brown}
+ \colorlet{urlcolor}{brown}
+
+ \colorlet{arrayrulecolor}{olive!30}
+ \colorlet{seccolor}{brown}
+
+ \colorlet{toprulecolor}{orange!30}
+ \colorlet{topbgcolor}{orange!10}
+ \colorlet{topcolor}{brown!80}
+%
+%
+\def\floatpagefraction{.99}
+\RequirePackage{geometry}
+\geometry{top=2in,
+ bottom=1in,
+ left=2in,
+ right=1in,
+ a4paper}
+
+\DeclareRobustCommand{\LaTeX}{L\kern-.25em%
+ {\sbox\z@ T%
+ \vbox to\ht\z@{%
+ \hbox{%
+ \check@mathfonts
+ \fontsize\sf@size\z@
+ \math@fontsfalse\selectfont
+ A}%
+ \vss}%
+ }%
+ \kern-.10em%
+ \TeX}
+
+\RequirePackage{comment,xspace}
+\def\xml{\textsc{xml}\xspace}
+\def\latex{{\small\LaTeX}\xspace}
+\def\pdf{\textsc{pdf}\xspace}
+\def\pdfa{\textsc{pdf/a-1}b\xspace}
+\def\pdfx{\textsc{pdf/x-1}a\xspace}
+\def\xmp{\textsc{xmp}\xspace}
+\def\pdftex{\textsc{pdf{\small\TeX}}\xspace}
+\def\defmacro#1{\texttt{\bsl#1}}
+\def\thanh{H\`an Th\^e\llap{\raise 0.5ex\hbox{\'{}}} Th\`anh\xspace}
+\def\gnulinux{\textsc{gnu/linux}\xspace}
+\def\bsl{\expandafter\@gobble\string\\}
+\def\tex{{\small\TeX}\xspace}
+
+\let\@DRAFTout@Hook\@empty
+\newcommand{\DRAFTout}{\g@addto@macro\@DRAFTout@Hook}
+\newcommand{\@DRAFTout@Out}{%
+ \afterassignment\@DRAFTout@Test
+ \global\setbox\@cclv= %
+ }
+\newcommand{\@DRAFTout@Test}{%
+ \ifvoid\@cclv\relax
+ \aftergroup\@DRAFTout@Output
+ \else
+ \@DRAFTout@Output
+ \fi%
+ }
+\newcommand{\@DRAFTout@Output}{%
+ \@DRAFTout@Hook%
+ \@DRAFTout@Org@Out\box\@cclv%
+ }
+\newcommand{\@DRAFTout@Org@Out}{}
+\newcommand*{\@DRAFTout@Init}{%
+ \let\@DRAFTout@Org@Out\shipout
+ \let\shipout\@DRAFTout@Out
+ }
+\newdimen\OHeight
+\setlength\OHeight{\textheight}
+\addtolength\OHeight{\headheight}
+\addtolength\OHeight{\headsep}
+\addtolength\OHeight{\footskip}
+
+\newif\ifoverlay\overlayfalse
+
+\AtBeginDocument{\@DRAFTout@Init}
+\newcommand{\@DraftOverlay@Hook}{}
+\newcommand{\AddToDraftOverlay}{\g@addto@macro\@DraftOverlay@Hook}
+\newcommand{\ClearDraftOverlay}{\let\@DraftOverlay@Hook\@empty}
+\newcommand{\@DraftOverlay}{%
+ \ifx\@DraftOverlay@Hook\@empty
+ \else
+ \bgroup
+ \@tempdima=1in
+ \@tempcnta=\@tempdima
+ \@tempcntb=-\@tempdima
+ \advance\@tempcntb\paperheight
+ \ifoverlay
+ \global\setbox\@cclv\vbox{%
+ \box\@cclv
+ \vbox{\let\protect\relax%
+ \unitlength=1pt%
+ \pictur@(0,0)(\strip@pt\@tempdima,\strip@pt\@tempdimb)%
+ \@DraftOverlay@Hook%
+ \endpicture}}%
+ \else
+ \global\setbox\@cclv\vbox{%
+ \vbox{\let\protect\relax%
+ \unitlength=1sp%
+ \pictur@(0,0)(\@tempcnta,\@tempcntb)%
+ \@DraftOverlay@Hook%
+ \endpicture}%
+ \box\@cclv}%
+ \fi
+ \egroup
+ \fi
+}
+
+\definecolor{gray30}{gray}{.7}
+\definecolor{gray20}{gray}{.8}
+\definecolor{gray10}{gray}{.9}
+
+\DRAFTout{\@DraftOverlay}
+\long\def\puttext(#1)#2{\AddToDraftOverlay{%
+ \setlength{\unitlength}{1pt}\thinlines%
+ \put(#1){#2}}}
+
+\RequirePackage{shortvrb}
+\MakeShortVerb{\|}
+\RequirePackage{amsfonts,amssymb}
+\IfFileExists{mathpazo.sty}{\RequirePackage{mathpazo}}{}
+\IfFileExists{charter.sty}{\RequirePackage{charter}}{}
+\IfFileExists{sourcesanspro.sty}{\RequirePackage[osf,light,default]{sourcesanspro}}{}
+\IfFileExists{inconsolata.sty}{\RequirePackage[scaled=.9]{inconsolata}}{}
+
+\def\theCodelineNo{\reset@font\tiny\arabic{CodelineNo}}
+
+\def\@seccntformat#1{\llap{\csname the#1\endcsname.\hspace*{6pt}}}
+\def\section{\@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\large\bfseries\color{seccolor}}}
+\def\subsection{\@startsection{subsection}{2}{\z@}%
+ {-2.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries\color{seccolor}}}
+\def\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-1.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries\color{seccolor}}}
+
+\puttext(0,36){\botstring}%
+ \puttext(0,840){\copy\topbox}
+
+\RequirePackage{colortbl}
+\arrayrulecolor{arrayrulecolor}
+\let\shline\hline
+\def\hline{\noalign{\vskip3pt}\shline\noalign{\vskip4pt}}
+
+\RequirePackage[pdftex,colorlinks]{hyperref}
+\def\Hlink#1#2{\hyperlink{#2}{\color{hlinktricolor}%
+ $\blacktriangleright$~\color{hlinkcolor}#1}}
+ \def\@linkcolor{linkcolor}
+ \def\@urlcolor{urlcolor}
+
+\pagestyle{empty}
+\def\version#1{\gdef\@version{#1}}
+\def\@version{1.0}
+\def\contact#1{\gdef\@contact{#1}}
+\def\author#1{\gdef\@author{#1}}
+\def\@author{CV Radhakrishnan}
+\def\@contact{\texttt{cvr@cvr.cc}}
+\def\keywords#1{\gdef\@keywords{#1}}
+\def\@keywords{\LaTeX, \xml}
+
+\long\def\Hrule{\\[-4pt]\hspace*{-3em}%
+ {\color{quicklinkrulecolor}\rule{\linewidth}{.1pt}}\\}
+
+\long\def\dtxmarkone[#1][#2]#3#4#5{\def\next{#1}%
+ \ifcase\next\or\Hlink{#4}{#3}\Hrule \fi}
+
+\newcounter{dtx}
+
+\long\def\dtxmarktwo[#1][#2]#3#4#5{\def\next{#1}%
+ \stepcounter{dtx}\parbox{.45\linewidth}%
+ {\ifcase\next\or\Hlink{#4}{#3}\fi}%
+ \ifodd\thedtx\relax\else\Hrule\fi}
+
+%\let\dtxmark\dtxmarkone
+\let\dtxmark\dtxmarktwo
+
+\newbox\topbox
+\long\def\maketitle{\global\setbox\topbox=\vbox{\hsize=\paperwidth
+ \parindent=0pt
+ \fcolorbox{toprulecolor}{topbgcolor}%
+ {\parbox[t][1.5in][c]{\paperwidth}%
+ {\hspace*{15mm}%
+ \parbox[c]{.35\paperwidth}{\fontsize{18pt}{20pt}%
+ \raggedright\normalfont\sffamily \selectfont
+ \color{titlecolor} \@title\\[6pt]
+ {\normalsize\rmfamily\scshape\@author}\\%
+ {\footnotesize\textsc{keywords:} \@keywords}}%
+ \hfill
+ \parbox[c][1.5in][c]{1mm}{\color{topverticalrule}%
+ \rule{.1pt}{1.5in}}%
+ \hfill
+ \parbox[c][1.5in][c]{.35\paperwidth}%
+ {\normalfont\footnotesize\sffamily\color{quicklinkcolor}%
+ \vspace*{6pt} QUICK LINKS\Hrule
+ \IfFileExists{tmp.out}{\input tmp.out}{}%
+ }\hspace*{5mm}%
+ }%
+ }%
+ }%
+}
+\gdef\botstring{\fcolorbox{botrulecolor}{botbgcolor}%
+ {\parbox[t][.5in][t]{\paperwidth}%
+ {\normalfont\sffamily\footnotesize%
+ \color{botcolor}%
+ \hspace*{5mm}\parbox[c][.5in][c]{.45\paperwidth}%
+ {\raggedright CVR.CC,
+ \href{http://www.cvr.cc}{%
+ http://www.cvr.cc}\\
+ JWRA 34, Jagathy, Trivandrum
+ 695014, India
+ }\hfill%
+ \parbox[c][.5in][c]{1cm}
+ {\centering\sffamily\mdseries
+ \fcolorbox{pgrulecolor}{pgbgcolor}{\thepage}%
+ }\hfill
+ \parbox[c][.5in][c]{.45\paperwidth}
+ {\raggedleft\begin{tabular}{rl}%
+ Version:&\@version\\
+ Date:&\@date\\
+ Contact:&\@contact
+ \end{tabular}\hspace*{5mm}%
+ }%
+ }%
+ }%
+ }
+
+\RequirePackage{enumitem}
+\setitemize[1]{label={\small\color{itemcolor}$\blacktriangleright$},itemsep=0pt}
+\setitemize[2]{label={\small\color{itemcolor}$\triangleright$},itemsep=0pt}
+\setenumerate[1]{label={\small\color{itemcolor}\arabic*.},itemsep=0pt}
+
+\def\MacroFont{\fontencoding\encodingdefault
+ \fontfamily\ttdefault
+ \fontseries\mddefault
+ \fontshape\updefault
+ \color{verbcolor}\small}%
+
+\def\verbatim@font{\normalfont\color{verbcolor}\ttfamily}
+
+\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
+ \bgroup
+ \verb@eol@error \let\do\@makeother \dospecials
+ \verbatim@font\@noligs
+ \@ifstar\@sverb\@verb}
+
+\endinput
+
+%%
+%% End of file 'pdfpagediff-doc.sty'
+%% \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/pdfpagediff/doc/pdfpagediff-doc.tex b/Master/texmf-dist/doc/latex/pdfpagediff/doc/pdfpagediff-doc.tex
new file mode 100644
index 00000000000..43a7d2a7e7a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfpagediff/doc/pdfpagediff-doc.tex
@@ -0,0 +1,179 @@
+%%
+%%
+%% This is file 'pdfpagediff-doc.tex'.
+%%
+%% File: pdfpagediff-doc.tex Copyright (c) 2010 C. V. Radhakrishnan
+%% JWRA 34, Jagathy, Trivandrum 695014
+%% http://www.cvr.cc Email: <cvr@cvr.cc>
+%%
+%% This document may be distributed under the terms of the LaTeX Project
+%% Public License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.0 or, at your option, any later version.
+%%
+%% $Id: pdfpagediff-doc.tex,v 1.5 2015/07/24 09:42:14 cvr Exp cvr $
+%%
+%%
+
+\documentclass[a4paper]{article}
+
+\usepackage{pdfpagediff-doc}
+
+\begin{document}
+
+\title{User Manual of \texttt{pdfpagediff} Package}
+\date{2015/07/24}
+\version{1.5}
+\keywords{\pdf, \textsc{pdf}{\fontsize{6.5}{7}\selectfont\TeX, \LaTeX}}
+\author{C.\,V.\,Radhakrishnan}
+\contact{\texttt{cvr@cvr.cc}}
+
+\maketitle
+\advance\baselineskip by 1pt
+
+\noindent We often encounter nightmarish scenario while generating
+final versions of a long document when one or more of the following
+happens:
+\begin{enumerate}
+\item New revised versions of packages used.
+\item Smaller changes to a fewer number of pages of a long document.
+\item No change in the document, but recompiled with revised page
+ numbers as it happens during compilation of journal articles into an
+ issue for printing.
+\item Simply you happened to retypeset for no reason and then you're
+ forced to check each page for surprises.
+\end{enumerate}
+
+Now you are left with the job of comparing the \textsc{pdf}s generated
+now and that of previous version and it is not fun. To make the job
+easier, |pdgpagediff| package is written.
+
+\section{Principles}
+
+We have a version of document, say, |file1.pdf| and we have its
+revised version, |file2.pdf|. |pdfpagediff| will create a composite
+pdf by juxtaposing each page of |file1.pdf| over the corresponding
+page of |file2.pdf| or vice-versa. Since the pdf's are transparent,
+you can notice the slightest change visually by simply flipping
+through the pages.
+
+\section{Dependencies}
+
+|pdfpagediff| depends on the following packages:
+\begin{enumerate}
+\item |geometry.sty|
+\item |graphicx.sty|
+\item |color.sty|
+\item |substr.sty|
+\end{enumerate}
+
+\section{Usage}
+
+Package can be loaded with the following command:
+\begin{verbatim}
+ \usepackage{pdfpagediff}
+\end{verbatim}
+Another command |\layerPages| has been defined to include two versions
+of the \pdf documents to create the composite document, the syntax is:
+\begin{verbatim}
+ \layerPages[<optional page numbers>]{<file1>}{<file2>}|
+\end{verbatim}
+First one doesn't have an optional argument of page numbers, which
+means all the pages will be used to create the composite document.
+Second one has comma separted page numbers and hyphen separated page
+ranges which can be mixed in any order as shown in subsequent examples
+of usage. The last one has |10-| which means from page |10| to end
+of the document.
+
+\begin{enumerate}
+\item |\layerPages{file1.pdf}{file2}|
+\item |\layerPages[1,2,4-6,8]{file1}{file2.pdf}|
+\item |\layerPages[1,2,4-6,8,10-22]{file1.pdf}{file2.pdf}|
+\item |\layerPages[1,2,4-6,8-13,17]{file1}{file2.pdf}|
+\item |\layerPages[10-]{file1.pdf}{file2.pdf}|
+\end{enumerate}
+You need Adobe Reader to view the composite document which only
+provides to view each layer or all layers together or no layers at
+all. There is a small layer button at top left hand side of the
+Adobe Reader window, see the figure below:
+
+\medskip
+\noindent\includegraphics[width=\linewidth]{ar1}
+
+\medskip\noindent
+You can see |Layers| icon, clicking on the icon will show you the
+layers. We have two layers in this example, namely, |First| and
+|Second| which are also the default. These labels can be changed with
+|\FirstDoc| and |\SecondDoc| commands respectively.
+
+\subsubsection*{First Document}
+\noindent\includegraphics[width=\linewidth]{ar2.png}
+
+\medskip\noindent The above figure shows the first document alone. You
+might note that icon for second layer is not visible now.
+
+\subsubsection*{Second Document}
+\noindent\includegraphics[width=\linewidth]{ar3.png}
+
+\medskip\noindent The second document is generated with 30\% gray
+instead of black to facilitate easy indication of locations with
+differences. Also, note that icon for first layer is invisible since
+the second layer alone is mode visible here.
+
+\section{Examples}
+
+You might take a look at Clip \ref{clip1} which has a paragraph from
+the composite document. The last word of the paragraph has a
+mismatch.
+
+\src{A paragraph from composite document.}
+\includeclip{3}{104 419 508 556}{ltest.pdf}
+
+Now let us take a look at the last two lines of the above para from
+the first document:
+
+\src{Last two lines from first document.}
+\includeclip{3}{104 380 508 408}{file1.pdf}
+
+Here is the same location of the second document:
+
+\src{Last two lines from second document.}
+\includeclip{3}{104 380 508 408}{file2.pdf}
+
+\noindent The difference is a space added before the last word
+`concepts'. If you look at Clip \ref{clip1} now, you will get to know
+the difference quickly.
+
+Further differences can be observed in pages 9 and 17 of the included
+document, |ltest.pdf|.
+
+\section{Limitations}
+Following limitations apply:
+\begin{enumerate}
+\item Documents with enormous changes cannot be comapared.
+\item Documents with opaque backgrounds cannot be compared.
+\item Tables and figures with background will not provide any
+ meaningful information even if there are differences.
+\item This is not a character by character or word by word diff
+ program, instead it depends largely on your eyes very much.
+\item |pdfpagediff| will work only with \pdftex and will not work with
+ any other \tex compilers.
+
+\end{enumerate}
+
+\section{Acknowledgements}
+
+The test document is a chapter namely, |matrices.tex| from a freely
+available textbook, \emph{Matrix Overview} by Paul Hewson, at:
+\url{http://knowledgeforge.net/opentextbook/svn/multivariatestatistics/}.
+Permission to use this chapter to demonstrate the features of
+|pdfpagediff| is gratefully acknowledged.
+
+\section{Download}
+
+The package can be downloaded from
+\url{http://www.ctan.org/pkg/pdfpagediff}. Bug
+reports, feature requests and suggestions can be posted at
+\url{http://www.cvr.cc/pdfpagediff/}. The author can be contacted at
+\url{<cvr@cvr.cc>}.
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/pdfpagediff/example/file1.pdf b/Master/texmf-dist/doc/latex/pdfpagediff/example/file1.pdf
new file mode 100644
index 00000000000..518574d0699
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfpagediff/example/file1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfpagediff/example/file2.pdf b/Master/texmf-dist/doc/latex/pdfpagediff/example/file2.pdf
new file mode 100644
index 00000000000..d2bee0f2477
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfpagediff/example/file2.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfpagediff/example/ltest.pdf b/Master/texmf-dist/doc/latex/pdfpagediff/example/ltest.pdf
new file mode 100644
index 00000000000..30831d78eee
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfpagediff/example/ltest.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfpagediff/example/ltest.tex b/Master/texmf-dist/doc/latex/pdfpagediff/example/ltest.tex
new file mode 100644
index 00000000000..bbcb83299cf
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfpagediff/example/ltest.tex
@@ -0,0 +1,22 @@
+%
+% This document is in public domain.
+%
+\documentclass[a4paper]{article}
+\usepackage{pdfpagediff}
+
+\begin{document}
+
+% \definejnldata{stat}{-12pt}{0pt}{0pt}
+% \nameUse{statnormal}
+
+%% examples of usage
+
+% \layerPages{file1.pdf}{file2}
+% \layerPages[1,2,4-6,8,10-22]{file1.pdf}{file2.pdf}
+% \layerPages[1,2,4-6,8]{file1}{file2.pdf}
+% \layerPages[1-]{file1.pdf}{file2.pdf}
+% \layerPages[1,2,4-6,8,11-22]{file1.pdf}{file2}
+
+\layerPages{file1.pdf}{file2.pdf}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/pdfpagediff/manifest.txt b/Master/texmf-dist/doc/latex/pdfpagediff/manifest.txt
new file mode 100644
index 00000000000..6a0d417133b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfpagediff/manifest.txt
@@ -0,0 +1,25 @@
+Following files are available in the package, 'pdfpagediff'
+----------------------------------------------------------
+
+ manifest.txt this file
+ pdfpagediff.sty package
+ README readme
+
+
+./doc: documentation directory
+ ar1.png image included in doc
+ ar2.png -do-
+ ar3.png -do-
+ Makefile GNU makefile to generate pdf
+ pdfpagediff-doc.pdf pdf output of doc
+ pdfpagediff-doc.sty package needed to run doc
+ pdfpagediff-doc.tex documentation source
+
+./example: example directory
+
+ file1.pdf pdf of first version
+ file2.pdf pdf of second version
+ ltest.pdf pdf of composite version
+ ltest.tex source tex to generate composite
+
+
diff --git a/Master/texmf-dist/tex/latex/pdfpagediff/pdfpagediff.sty b/Master/texmf-dist/tex/latex/pdfpagediff/pdfpagediff.sty
new file mode 100644
index 00000000000..75dfefe87b8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pdfpagediff/pdfpagediff.sty
@@ -0,0 +1,261 @@
+%%
+%%
+%% This is file 'pdfpagediff.sty'.
+%%
+%% File: pdfpagediff.sty Copyright (c) 2010-2015, C. V. Radhakrishnan
+%% JWRA 34, Jagathy, Trivandrum 695014
+%% http://www.cvr.cc Email: <cvr@cvr.cc>
+%%
+%% This package may be distributed under the terms of the LaTeX Project
+%% Public License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.0 or, at your option, any later version.
+%%
+%% $Id: pdfpagediff.sty,v 1.4 2015/07/24 09:39:20 cvr Exp cvr $
+%%
+\NeedsTeXFormat{LaTeX2e}
+\def\Fileversion$#1: #2 ${\gdef\fileversion{#2}}
+\def\Filedate$#1: #2 #3 ${\gdef\filedate{#2}}
+\Fileversion$Revision: 1.4 $
+\Filedate$Date: 2015/07/24 09:39:20 $
+\ProvidesPackage{pdfpagediff}
+ [\filedate\space\fileversion\space Page diff of 2 PDFs (CVR)]
+\PackageWarningNoLine{pdfpagediff}
+ {****************************************\MessageBreak
+ Package pdfpagediff v,\fileversion\space loaded\MessageBreak
+ [Page diff of two PDFs (CVR)]\MessageBreak
+ ****************************************}
+%
+% Load needed packages:
+%
+\RequirePackage[margin=0pt,headsep=0pt,headheight=0pt,footskip=0pt]{geometry}
+\RequirePackage{graphicx,color}
+\pagestyle{empty}
+
+\@ifundefined{pdfoutput}
+ {\PackageError{pdfpagediff}
+ {You're either not using pdfLaTeX\MessageBreak
+ or have turn off PDF output.\MessageBreak
+ 'pdfpagediff' only works with pdfLaTeX\MessageBreak
+ and PDF output}
+ {Use 'pdflatex' instead of 'latex'\MessageBreak
+ and set output to PDF (usage: \pdfoutput = 1)!}
+ \endinput
+ }
+ {\ifnum\pdfoutput=\z@
+ \PackageError{pdfpagediff}
+ {PdfTeX is set to DVI output, but\MessageBreak
+ PDF is required for 'pdfpagediff' package}
+ {Set output to PDF. (usage: \pdfoutput = 1)}
+ \expandafter\endinput
+ \fi}
+
+\def\obj{\immediate\pdfobj}
+
+\def\objref#1{\space\expandafter\doobjref\number#1\relax}
+\def\doobjref#1\relax{#1 0 R}
+
+\def\objrefs#1{%
+ \ifx#1\relax
+ \space
+ \else
+ \objref{#1}\expandafter\objrefs
+ \fi}
+
+\def\lastobjref{\objref\pdflastobj}
+\def\thisobjref{\objref{\numexpr\pdflastobj+1\relax}}
+\def\nextobjref{\objref{\numexpr\pdflastobj+2\relax}} % eTeX needed
+
+%
+% We will make two layers
+%
+\def\FirstDoc#1{\gdef\@FirstDoc{#1}}
+\def\SecondDoc#1{\gdef\@SecondDoc{#1}}
+\def\@FirstDoc{First}
+\def\@SecondDoc{Second}
+
+\def\openlayer{ BDC}
+\def\closelayer{ EMC}
+
+\obj{<< /Type /OCG /Name (\@FirstDoc) >>}
+\def\PPDonercname{/OC1}
+\edef\PPDoneobjnum{\the\pdflastobj}
+\edef\PPDone{ /OC \PPDonercname}
+
+\obj{<< /Type /OCG /Name (\@SecondDoc) >>}
+\def\PPDtworcname{/OC2}
+\edef\PPDtwoobjnum{\the\pdflastobj}
+\edef\PPDtwo{ /OC \PPDtworcname}
+
+\obj{%
+<<
+ \PPDonercname\space\objref\PPDoneobjnum \space
+ \PPDtworcname\space\objref\PPDtwoobjnum \space
+>>
+}
+
+\edef\layersnames{\lastobjref}
+
+\edef\next{\pdfpageresources={/Properties \layersnames}}
+\next
+
+\edef\layersorder{\objrefs\PPDoneobjnum\PPDtwoobjnum\relax}
+\edef\layerson{\objrefs\PPDoneobjnum\relax}
+\edef\layersoff{\objrefs\PPDtwoobjnum\relax}
+
+\obj{%
+<<
+ /Order [\layersorder] \space
+ /ON [\layerson ] \space
+% /OFF [\layersoff ] \space
+ /ON [\layersoff ] \space
+>>
+}
+
+\edef\layersconfig{\lastobjref}
+
+\obj{%
+<<
+/S /SetOCGState
+/State [ /ON \objrefs\PPDoneobjnum\PPDtwoobjnum\relax ]
+>>}
+
+\edef\layersOn{\lastobjref}
+
+\pdfcatalog{%
+/OCProperties
+<<
+ /OCGs [\layersorder ]\space
+ /D \layersconfig \space
+>>
+}
+
+\parindent=0pt
+
+\newcounter{cpages}
+\newcounter{pages}
+\newdimen\vlength
+\newdimen\hoddlength
+\newdimen\hevenlength
+
+\vlength=-12pt
+\hoddlength=0pt
+\hevenlength=0pt
+
+%
+% Let's load substr package to parse various kinds of page numbers
+%
+\RequirePackage{substr}
+
+\def\buildPageList#1{\IfSubStringInString{,}{#1}%
+ {\processComma{#1}}{\processOther{#1}}}
+
+\def\processNormal#1{\pdf@addtolist{#1}}
+
+\def\processComma#1{\@for\@comma:=#1\do{%
+ {\IfSubStringInString{-}{\@comma}%
+ {{\expandafter\@processHyphen\@comma\END}}%
+ {\processNormal{\@comma}}%
+ }%
+ }%
+}
+
+\def\processOther#1{\IfSubStringInString{-}{#1}%
+ {\processHyphen{#1}}{\processNormal{#1}}}
+
+\def\processHyphen#1{\@processHyphen#1\END}
+\def\@processHyphen#1-#2\END{\def\next{#2}\ifx\next\@empty
+ \@tempcntb=\pdflastpage \else \@tempcntb=#2\fi
+ \@tempcnta=#1
+ \global\advance\@tempcntb by 1
+ \loop\ifnum\@tempcnta<\@tempcntb
+ \pdf@addtolist{\the\@tempcnta}
+ \advance\@tempcnta by 1
+ \repeat}
+
+\let\pdf@pagelist\@empty
+
+\gdef\pdf@addtolist#1{%
+ \let\savepdf@pagelist\pdf@pagelist
+ \ifnum#1<\numexpr\pdflastpage+1
+ \xdef\pdf@pagelist{\ifx\savepdf@pagelist\@empty
+ \else\savepdf@pagelist,\fi#1}\fi}
+
+\def\findPages#1{\pdfximage{#1}%
+ \@tempcntb=\the\pdflastximagepages\relax
+ \edef\lastpage{\the\@tempcntb}%
+}
+
+\newif\ifFiles \Filestrue
+
+\def\layerPages{\@ifnextchar[{\@@layerPages}{\@@layerPages[1-]}}%]
+
+\long\def\@@layerPages[#1]#2#3{%
+ \filename@parse{#2}%
+ \IfFileExists{\filename@base.pdf}%
+ {\xdef\PPDfirstdoc{\filename@base.pdf}}{\global\Filesfalse}
+ \filename@parse{#3}%
+ \IfFileExists{\filename@base.pdf}%
+ {\xdef\PPDseconddoc{\filename@base.pdf}}{\global\Filesfalse}%
+ \ifFiles
+ \findPages{\PPDfirstdoc} \edef\PPDfirstlastpage{\lastpage}%
+ \findPages{\PPDseconddoc} \edef\PPDsecondlastpage{\lastpage}%
+ \ifnum\PPDfirstlastpage<\PPDsecondlastpage
+ \xdef\pdflastpage{\PPDfirstlastpage}\else%
+ \ifnum\PPDsecondlastpage<\PPDfirstlastpage
+ \xdef\pdflastpage{\PPDsecondlastpage}\else
+ \ifnum\PPDfirstlastpage=\PPDsecondlastpage
+ \xdef\pdflastpage{\PPDfirstlastpage}\fi\fi\fi
+ \buildPageList{#1}%
+%
+ \@for\pdfpage:=\pdf@pagelist\do{{%
+ {\placepages}}}%
+ \else
+ \PackageError{pdfpagediff}{Not all PDF docs are available, exiting ...}{}
+ \expandafter\enddocument\fi
+}
+
+\long\def\placepages{%
+ \vbox to\z@{\pdfliteral{\PPDone\openlayer}%
+ \includegraphics[page=\pdfpage]{\PPDfirstdoc}%
+ \pdfliteral{\closelayer}\vspace{-\textheight}\vfill}%
+ \par\vskip\vlength
+ \vbox to\z@{\pdfliteral{\PPDtwo\openlayer}%
+ \ifodd\thecpages \hspace*{\hoddlength}\else
+ \hspace*{\hevenlength}\fi
+ \includegraphics[page=\pdfpage]{\PPDseconddoc}%
+ \pdfliteral{\closelayer}\vspace{-\textheight}\vfill}%
+ \clearpage
+}
+
+%%
+%% For River Valley to adjust horizontal or vertical shifts
+%% between documents. This happens while making CRC's
+%% when the first version starts from odd page while
+%% second version might start from even page since
+%% \openright is not followed by all journals.
+%%
+\def\definejnldata{\@ifstar{\starjnldata}{\normaljnldata}}
+\def\normaljnldata#1#2#3#4{\@namedef{#1normal}{\vlength=#2
+ \hoddlength=#3 \hevenlength=#4}}
+\def\starjnldata#1#2#3#4{\@namedef{#1even}{\vlength=#2
+ \hoddlength=#3 \hevenlength=#4}}
+%
+% \definedata{<jid>}{<vlength>}{<hodd>}{<heven>}
+%
+\definejnldata{aml}{-12pt}{0pt}{0pt}
+\definejnldata*{aml}{-7pt}{-4pt}{4pt}
+
+\def\nameUse#1{\@nameuse{#1}%
+ \typeout{[vlength = \the\vlength]}%
+ \typeout{[hoddlength = \the\hoddlength]}%
+ \typeout{[hevenlength = \the\hevenlength]}%
+}
+%%
+%% An example of usage will be:
+%% \nameUse{amlnormal} or \nameUse{amleven}
+%%
+\endinput
+
+%%
+%% End of file, 'pdfpagediff.sty'
+%%
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index f57b08a2c8c..34fc610e215 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -414,7 +414,8 @@ my @TLP_working = qw(
pbox pb-diagram pbsheet
pdf14
pdf-trans pdfbook2 pdfcomment pdfcprot pdfcrop pdfjam pdfmarginpar
- pdfpages pdfscreen pdfslide pdfsync pdftex-def pdftricks pdftricks2 pdfx
+ pdfpagediff pdfpages pdfscreen pdfslide pdfsync
+ pdftex-def pdftricks pdftricks2 pdfx
pecha pedigree-perl perception perfectcut perltex
permute persian-bib
petiteannonce petri-nets pfarrei
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index 3597357e1b7..000dd2a7023 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -721,6 +721,7 @@ depend pdf14
depend pdfcomment
depend pdfcprot
depend pdfmarginpar
+depend pdfpagediff
depend pdfscreen
depend pdfslide
depend pdfsync
diff --git a/Master/tlpkg/tlpsrc/pdfpagediff.tlpsrc b/Master/tlpkg/tlpsrc/pdfpagediff.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/pdfpagediff.tlpsrc