summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-12-05 01:52:40 +0000
committerKarl Berry <karl@freefriends.org>2008-12-05 01:52:40 +0000
commitd00f2929d26af30109b9c7f5909b584460b73978 (patch)
treee4ca1a17c574062225ca3f59ef5829b89792ad30
parent328f6344fc5d11b5731246b12ea1df785d55d968 (diff)
new latex package pdfx (4dec08)
git-svn-id: svn://tug.org/texlive/trunk@11521 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/pdfx/README36
-rw-r--r--Master/texmf-dist/doc/latex/pdfx/manifest.txt59
-rw-r--r--Master/texmf-dist/doc/latex/pdfx/pdfx.pdfbin0 -> 133809 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfx/small2e.pdfbin0 -> 55030 bytes
-rw-r--r--Master/texmf-dist/doc/latex/pdfx/small2e.tex42
-rw-r--r--Master/texmf-dist/doc/latex/pdfx/small2e.xmpdata5
-rw-r--r--Master/texmf-dist/source/latex/pdfx/Makefile42
-rw-r--r--Master/texmf-dist/source/latex/pdfx/pdfx.dtx521
-rw-r--r--Master/texmf-dist/source/latex/pdfx/pdfx.ins38
-rw-r--r--Master/texmf-dist/source/latex/pdfx/rvdtx.sty351
-rw-r--r--Master/texmf-dist/tex/latex/pdfx/pdfa-1b.xmp73
-rw-r--r--Master/texmf-dist/tex/latex/pdfx/pdfx-1a.xmp55
-rw-r--r--Master/texmf-dist/tex/latex/pdfx/pdfx.sty201
-rwxr-xr-xMaster/tlpkg/bin/ctan2tds5
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/pdfx.tlpsrc2
17 files changed, 1431 insertions, 2 deletions
diff --git a/Master/texmf-dist/doc/latex/pdfx/README b/Master/texmf-dist/doc/latex/pdfx/README
new file mode 100644
index 00000000000..6c6fc8ba7a2
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfx/README
@@ -0,0 +1,36 @@
+Readme for pdfx package (pdfx.sty)
+
+pdfx.sty is a LaTeX package which helps to create PDF/X-1a and
+PFD/A-1b compliant pdf documents with pdfTeX.
+
+Installation:
+
+Create a directory $TEXMF/tex/latex/pdfx and copy pdfx.sty, *.xmp to
+this directory. Update the file database of your TeX system.
+
+Documentation:
+
+Composite documentation and code is available in src/pdfx.dtx. Run
+TeX/LaTeX on pdfx.ins to extract pdfx.sty from pdfx.dtx. If you
+[pdf]LaTeX pdfx.dtx, you will get pdfx.pdf which is the human readable
+documentation.
+
+A Makefile is provided in the src directory. Following steps will
+create the documentation:
+
+ make pdf
+ make out
+ make index
+ make pdf
+
+'make out' is for manipulating the bookmarks file to create QUICK
+LINKS in the pdf document.
+
+Licence:
+
+The package is released under LaTeX Project Public Licence.
+
+Authors:
+
+CV Radhakrishnan <cvr@river-valley.org> and
+Han The Thanh <thanh@river-valley.org> \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/pdfx/manifest.txt b/Master/texmf-dist/doc/latex/pdfx/manifest.txt
new file mode 100644
index 00000000000..d4529fc7cba
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfx/manifest.txt
@@ -0,0 +1,59 @@
+% \iffalse meta-comment
+%
+% Copyright 2008 CV Radhakrishnan and Han The Thanh
+%
+% This file is part of the 'pdfx' package.
+% ----------------------------------------
+%
+% It may be distributed and/or modified under the conditions of the
+% LaTeX Project Public License, either version 1.2 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.2
+% or later is part of all distributions of LaTeX version 1999/12/01 or
+% later.
+%
+% The list of all files belonging to the LaTeX package, 'pdfx.sty' is
+% given in the file `manifest.txt'.
+%
+% \fi
+%
+% CONTENTS
+
+README
+ Readme file
+
+pdfa-1b.xmp
+ xmp template for pdf/a-1b documents
+
+pdfx-1a.xmp
+ xmp template for pdf/x-1a documents
+
+pdfx.sty
+ the main package
+
+pdfx.pdf
+ documentation in pdf format
+
+small2e.pdf
+ example pdf document
+
+small2e.tex
+ example TeX document
+
+small2e.xmpdata
+ data file with meta information
+
+Directory: src
+
+Makefile
+ make file for compiling documentation
+
+pdfx.dtx
+ main package with driver
+
+pdfx.ins
+ main installer batch file
+
+rvdtx.sty
+ extra package needed to compile documentation
+
diff --git a/Master/texmf-dist/doc/latex/pdfx/pdfx.pdf b/Master/texmf-dist/doc/latex/pdfx/pdfx.pdf
new file mode 100644
index 00000000000..481b4506bd6
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfx/pdfx.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfx/small2e.pdf b/Master/texmf-dist/doc/latex/pdfx/small2e.pdf
new file mode 100644
index 00000000000..61451d80da8
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfx/small2e.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/pdfx/small2e.tex b/Master/texmf-dist/doc/latex/pdfx/small2e.tex
new file mode 100644
index 00000000000..728ecb3b4cc
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfx/small2e.tex
@@ -0,0 +1,42 @@
+% This is a small sample LaTeX input file (Version of 10 April 1994)
+%
+% Use this file as a model for making your own LaTeX input file.
+% Everything to the right of a % is a remark to you and is ignored by LaTeX.
+
+% The Local Guide tells how to run LaTeX.
+
+% WARNING! Do not type any of the following 10 characters except as directed:
+% & $ # % _ { } ^ ~ \
+
+\documentclass{article} % Your input file must contain these two lines
+\usepackage[a-1b]{pdfx}
+
+\begin{document} % plus the \end{document} command at the end.
+
+
+\section{Simple Text} % This command makes a section title.
+
+Words are separated by one or more spaces. Paragraphs are separated by
+one or more blank lines. The output is not affected by adding extra
+spaces or extra blank lines to the input file.
+
+Double quotes are typed like this: ``quoted text''.
+Single quotes are typed like this: `single-quoted text'.
+
+dashes are typed as Long three dash characters---like this.
+
+Emphasized text is typed like this: \emph{this is emphasized}.
+Bold text is typed like this: \textbf{this is bold}.
+
+\subsection{A Warning or Two} % This command makes a subsection title.
+
+If you get too much space after a mid-sentence period---abbreviations
+like etc.\ are the common culprits)---then type a backslash followed by
+a space after the period, as in this sentence.
+
+Remember, don't $\left[\frac2a\right]H_n^1$ type the 10 special characters (such as dollar sign and
+backslash) except as directed! The following seven are printed by
+typing a backslash in front of them: \$ \& \# \% \_ \{ and \}.
+The manual tells how to make other symbols.
+
+\end{document} % The input file ends with this command.
diff --git a/Master/texmf-dist/doc/latex/pdfx/small2e.xmpdata b/Master/texmf-dist/doc/latex/pdfx/small2e.xmpdata
new file mode 100644
index 00000000000..9da9ecab417
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pdfx/small2e.xmpdata
@@ -0,0 +1,5 @@
+\Keywords{pdfTeX</rdf:li><rdf:li>PDF/X-1a</rdf:li><rdf:li>PDF/A-b}
+\Title{Sample LaTeX input file}
+\Author{LaTeX project team}
+\Org{TeX Users Group}
+ \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/pdfx/Makefile b/Master/texmf-dist/source/latex/pdfx/Makefile
new file mode 100644
index 00000000000..ea0f75ec00a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/pdfx/Makefile
@@ -0,0 +1,42 @@
+##
+## Makefile
+##
+##
+##
+##
+##
+
+file=pdfx
+
+
+all: pdf out index changes
+ 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).dtx
+
+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 pdfx.ins
+
+diff:
+ diff $(file).sty ../$(file).sty |less
+
+copy:
+ cp $(file).sty ../
+
diff --git a/Master/texmf-dist/source/latex/pdfx/pdfx.dtx b/Master/texmf-dist/source/latex/pdfx/pdfx.dtx
new file mode 100644
index 00000000000..e3285522299
--- /dev/null
+++ b/Master/texmf-dist/source/latex/pdfx/pdfx.dtx
@@ -0,0 +1,521 @@
+% \iffalse meta-comment
+%
+% File: pdfx.dtx
+%
+% Copyright (c) 2008, CV Radhakrishnan <cvr@river-valley.org>,
+% Han The Thanh <thanh@river-valley.org>
+%
+% This file may be distributed and/or modified under the conditions
+% of the LaTeX Project Public License, either version 1.2 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.2 or later is part of all distributions of LaTeX
+% version 1999/12/01 or later.
+%
+% \fi
+%
+% \CheckSum{374}
+% \iffalse
+%
+%<*driver>
+\documentclass[a4paper]{ltxdoc}
+\usepackage{rvdtx}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{pdfx.dtx}
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \GetFileInfo{pdfx.dtx}
+%
+% \DoNotIndex{\newcommand,\newenvironment}
+%
+% \DoNotIndex{\def,\edef,\gdef,\xdef,\global,\long,\let}
+% \DoNotIndex{\expandafter,\string,\the,\ifx,\else,\fi}
+% \DoNotIndex{\csname,\endcsname,\relax,\begingroup,\endgroup}
+% \DoNotIndex{\DeclareTextCommand,\DeclareTextCompositeCommand}
+% \DoNotIndex{\space,\@empty,\special,\@nil,\advance\@nnil}
+% \DoNotIndex{\\,\@gobble,\@@,\@fornoop,\@fortmp,\@ifundefined}
+% \DoNotIndex{\@tempcnta,\@tempcntb,\{,\},\alph,\bgroup,\egroup}
+% \DoNotIndex{\do,\end,\HN,\ifcase,\ifnum,\IfFileExists,\ifvmode}
+% \DoNotIndex{\ignorespaces,\immediate,\input,\item,\jobname}
+% \DoNotIndex{\leavevmode,\loop,\repeat,\makeatletter,\makeatother}
+% \DoNotIndex{\meaning,\newcounter,\next,\or,\par,\renewcommand}
+% \DoNotIndex{\renewcommand,\renewenvironment,\stepcounter}
+% \DoNotIndex{\Tg,\thepage,\unskip,\write,\advance,\{,\}}
+%
+% \changes{v1.00}{2008/12/01}{Initial commit to the CVS.}
+%
+% \title{Generation of PDF/X-1a and PDF/A-1b compliant PDF's
+% with PDF\TeX{} --- \texttt{pdfx.sty}}
+% \date{2008/12/01}
+% \version{1.1}
+% \keywords{\pdf, \pdfx, \pdfa, pdf\TeX, \LaTeX}
+% \author{C.\,V.\,Radhakrishnan {\upshape\small and} \thanh}
+% \contact{\texttt{[cvr,thanh]@river-valley.org}}
+%
+% \maketitle
+%
+% \StopEventually{}
+%
+% \section{Introduction}
+%
+% \textsc{pdf/x} and \textsc{pdf/a} are umbrella terms used to denote
+% several \textsc{iso} standards that define different subsets of the
+% \pdf standard. The objective of \textsc{pdf/x} is to facilitate
+% graphics exchange between document creator and printer and
+% therefore, has all requirements related to printing. For instance,
+% in \pdfx, all fonts need to be embedded and all images need to be
+% \textsc{cmyk} or spot colors. \textsc{pdf/x-2} and \textsc{pdf/x-3}
+% accept calibrated \textsc{rgb} and \textsc{cielab} colors along with
+% all other specifications of \pdfx.
+%
+% \textsc{pdf/a} defines a profile for archiving \pdf documents which
+% ensures the documents can be reproduced the exact same way in years
+% to come, a key element to achieve this is that the \textsc{pdf/a}
+% documents shall be 100\% self contained. All the information needed
+% to display the document in the same manner every time, is embedded
+% in the file. \textsc{pdf/a} document is not permitted to be reliant
+% on information from external sources. Other restrictions include
+% avoidance of audio/video content, JavaScript and encryption.
+% Mandatory inclusion of fonts, color profile and standards based
+% metadata are absolutely essential for \textsc{pdf/a}.
+%
+% This package currently supports generation of \pdfx and \pdfa
+% compliant documents using \pdftex. More and more standards will be
+% included in future.
+%
+% \section{Usage}
+%
+% The file, namely |pdfx.dtx| is a composite document of
+% program code and documentation in \LaTeX{} format in the
+% tradition of \emph{literate programming}. You
+% can extract the program code alone by stripping off the
+% documentation part by running \LaTeX{} or \TeX{} over the installer
+% namely, |pdfx.ins| which is also provided with this file. To
+% get the documentation which you are reading now, you need to run
+% (\pdf)\LaTeX{} over the file, |pdfx.dtx|.
+%
+% \subsection{Data file for XMP metadata}
+%
+% As you are aware, standards compliant \pdf documents need
+% \textsc{xmp} metadata to be included. In order to create
+% \textsc{xmp} in the prescribed \xml format, a simple data file
+% holding the meta information of the document needs to be created
+% either through a program or by hand. For our purposes, we name it as
+% |\jobname.xmpdata|, a simple example of which will look like the
+% following:
+% \begin{verbatim}
+% \Keywords{pdfTeX</rdf:li><rdf:li>PDF/X-1a</rdf:li><rdf:li>PDF/A-b}
+% \Title{Sample LaTeX input file}
+% \Author{LaTeX project team}
+% \Org{TeX Users Group}
+% \end{verbatim}
+% You may note that the keywords are separated by \xml elements
+% |</rdf:li><rdf:li>| instead of comma character. This is the correct
+% format required by the \xmp metadata which is in \xml format.
+% Similarly, several other kinds of data can be captured using the
+% following commands:
+% \begin{enumerate}
+% \item |\Subject|
+% \item |\Creator|
+% \item |\Producer|
+% \item |\Volume|
+% \item |\Issue|
+% \item |\CoverDisplayDate|
+% \item |\CoverDate|
+% \item |\Copyright|
+% \item |\Doi|
+% \item |\Lastpage|
+% \item |\Firstpage|
+% \item |\Journaltitle|
+% \item |\Journalnumber|
+% \item |\CreatorTool|
+% \item |\AuthoritativeDomain|
+% \end{enumerate}
+% The above commands are self-explanatory. Users can resort to
+% alternate ways to create |xmp| file for inclusion in \pdf. However,
+% minimal |\jobname.xmpdata| shall be created with |\Title| and
+% |\Author| commands along with their corresponding values for |pdfx|
+% package to work correctly. You may check
+% \href{http://www.adobe.com/devnet/xmp/}{Adobe \textsc{xmp}
+% Development Center} for more exhaustive information about
+% Extensible Metadata Platform (\textsc{xmp}). An \textsc{xmp}
+% Toolkit \textsc{sdk} which supports \textsc{gnu}/Linux, Macintosh
+% and Windows operating systems is also provided under \textsc{bsd}
+% licence.
+%
+% |pdfx| makes use of |xmpincl| package to include |xmp| data into the
+% \pdf. A good look at the documentation of |xmpincl| package will
+% greatly help the users to understand the process of |xmp| data
+% inclusion.
+%
+% \subsection{Limitations and dependencies}
+%
+% |pdfx.sty| works only with \pdftex. It further depends on the following
+% packages:
+% \begin{enumerate}
+% \item |xmpincl| for insertion of metadata into \pdf.
+% \item |hyperref| for hyperlinking, bookmarks, etc.
+% \item |glyphtounicode.tex| maps glyph names to corresponding Unicode.
+% \item |glyphtounicode-cmr.tex| does the same for |cmr| fonts.
+% \end{enumerate}
+% Necessary color profile files may be obtained from International
+% Color Consortium. Please take a look at
+% \url{http://www.color.org/iccprofile.xalter}.
+%
+% \subsection{Files included}
+%
+% Following files are included in the archive:
+%
+% \begin{enumerate}
+% \item |pdfx.dtx| --- composite package and documentation.
+% \item |pdfx.ins| --- installer batch file.
+% \item |pdfx-1a.xmp| --- specimen |xmp| template for \pdfx.
+% \item |pdfa-1b.xmp| --- specimen |xmp| template for \pdfa.
+% \item |small2e.xmpdata| --- specimen data file to provide values
+% relating to the document to generate metadata.
+% \end{enumerate}
+% A directory named |pdfx| may be created under |$TEXMF/tex/latex| and
+% all |*.sty| and |*.xmp| may be moved to the same. \TeX's file
+% database may need to be updated by suitable command depending on
+% your distribution and operating system.
+%
+% \subsection{Options}
+%
+% The package can be loaded with the command:
+% \begin{decl}
+% \defmacro{usepackage}|[<option>]{pdfx}|
+% \end{decl}
+% where the options are:
+% \begin{description}
+% \item[|x-1a|] generates \pdfx compliant \pdf.
+% \item[|a-1b|] generates \pdfa compliant \pdf.
+% \end{description}
+%
+% \subsection{Useful production notes}
+%
+% We have included some useful notes about production problems which
+% we have encountered while generating \pdfa compliant documents and
+% the fixes recommended at:
+% \url{http://support.river-valley.com/wiki/index.php?title=Generating_PDF/A_compliant_PDFs_from_pdftex}.
+%
+% \subsection{Miscellaneous information}
+%
+% The package is released under \LaTeX{} Project Public Licence. Bug
+% reports, suggestions, feature requests, etc., may be sent to the
+% authors at \href{mailto:cvr@river-valley.org}{\ttfamily
+% cvr@river-valley.org} and/or
+% \href{mailto:thanh@river-valley.org}{\ttfamily
+% thanh@river-valley.org}.
+%
+% \section{Implementation}
+% \subsection{Various auxiliary macros}
+%
+% Two booleans are defined to switch between two options, |a-1b| and
+% |x-1a|. \pdfx further demands \pdf version 1.3 and properly placed
+% mediabox, bleedbox and trimbox (innermost) in that order. The
+% MediaBox defines the size of the entire document, either the
+% ArtBox or the TrimBox, defines the extent of the printable
+% area. If the file is to be printed with bleed, a BleedBox, which
+% must be larger than the TrimBox/ArtBox, but smaller than the
+% MediaBox, must be defined.
+%
+% \begin{macrocode}
+%<*package>
+%
+% $Id: pdfx.dtx,v 1.1 2008/12/01 10:28:01 cvr Exp cvr $
+%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{pdfx}
+ [2008/12/01 v1.1 PDF/X and PDF/A support (CVR/HTH)]
+
+\newif\ifpdfxonea \pdfxoneafalse
+\newif\ifpdfaoneb \pdfaonebfalse
+
+\DeclareOption{a-1b}{\global\pdfaonebtrue}
+\DeclareOption{x-1a}{\global\pdfxoneatrue}
+\ProcessOptions
+
+\ifpdfxonea
+ \pdfminorversion=3
+ \pdfpageattr{/MediaBox[0 0 595 793]
+ /BleedBox[0 0 595 793]
+ /TrimBox[25 20 570 773]}
+\else
+ \pdfminorversion=4
+\fi
+% \end{macrocode}
+%
+% Several macros were defined to capture data for the \xmp metadata to
+% be inserted into the PDF during generation.
+% \begin{macrocode}
+\def\hash{\expandafter\@gobble\string\#}
+\def\amp{\expandafter\@gobble\string\&}
+\def\xmpAmp{\amp\hash x0026;}
+\def\TextCopyright{\amp\hash x00A9;}
+\def\Title#1{\gdef\xmpTitle{#1}}
+ \let\xmpTitle\@empty
+\def\Author#1{\gdef\xmpAuthor{#1}}
+ \let\xmpAuthor\@empty
+\def\Keywords#1{\gdef\xmpKeywords{#1}}
+ \let\xmpKeywords\@empty
+ \let\xmpSubject\xmpKeywords
+\def\Creator#1{\gdef\xmpCreator{#1}}
+ \def\xmpCreator{\@pdfcreator}
+\def\Producer#1{\gdef\xmpProducer{#1}}
+ \def\xmpProducer{pdfTeX}
+\def\Volume#1{\gdef\xmpVolume{#1}}
+ \let\xmpVolume\@empty
+\def\Issue#1{\gdef\xmpIssue{#1}}
+ \let\xmpIssue\@empty
+\def\CoverDisplayDate#1{\gdef\xmpCoverDisplayDate{#1}}
+ \let\xmpCoverDisplayDate\@empty
+\def\CoverDate#1{\gdef\xmpCoverDate{#1}}
+ \let\xmpCoverDate\@empty
+\def\Copyright#1{\gdef\xmpCopyright{#1}}
+ \let\xmpCopyright\@empty
+\def\Doi#1{\gdef\xmpDoi{#1}}
+ \let\xmpDoi\@empty
+\def\Lastpage#1{\gdef\xmpLastpage{#1}}
+ \let\xmpLastpage\@empty
+\def\Firstpage#1{\gdef\xmpFirstpage{#1}}
+ \let\xmpFirstpage\@empty
+\def\Journaltitle#1{\gdef\xmpJournaltitle{#1}}
+ \let\xmpJournaltitle\@empty
+\def\Journalnumber#1{\gdef\xmpJournalnumber{#1}}
+ \let\xmpJournalnumber\@empty
+\def\Org#1{\gdef\xmpOrg{#1}}
+ \let\xmpOrg\@empty
+\def\CreatorTool#1{\gdef\xmpCreatorTool{#1}}
+ \def\xmpCreatorTool{\xmpProducer}
+\def\AuthoritativeDomain#1{\gdef\xmpAuthoritativeDomain{#1}}
+ \let\xmpAuthoritativeDomain\@empty
+% \end{macrocode}
+%
+% \subsection{Document and instance ID's}
+%
+% Document \textsc{id} and instance \textsc{id} are created from
+% values obtained from |\jobname.pdf| and |\pdfcreationdate| by making
+% \DescribeMacro{\findUUID}
+% \DescribeMacro{\uuid}
+% use of |\pdfmdfivesum| primitive of \pdftex.
+% \begin{macrocode}
+\def\findUUID#1{\edef\tmpstring{\pdfmdfivesum{#1}}
+ \expandafter\eightofnine\tmpstring\end}
+\def\eightofnine#1#2#3#4#5#6#7#8#9\end{%
+ \xdef\eightchars{#1#2#3#4#5#6#7#8}
+ \fouroffive#9\end}
+\def\fouroffive#1#2#3#4#5\end{\xdef\ffourchars{#1#2#3#4}
+ \sfouroffive#5\end}
+\def\sfouroffive#1#2#3#4#5\end{\xdef\sfourchars{#1#2#3#4}
+ \tfouroffive#5\end}
+\def\tfouroffive#1#2#3#4#5\end{\xdef\tfourchars{#1#2#3#4}
+ \xdef\laststring{#5}}
+
+\def\uuid{\eightchars-%
+ \ffourchars-%
+ \sfourchars-%
+ \tfourchars-%
+ \laststring}
+
+\findUUID{\jobname.pdf}
+\edef\xmpdocid{\uuid}
+\findUUID{\pdfcreationdate}
+\edef\xmpinstid{\uuid}
+% \end{macrocode}
+%
+% |\jobname.xmpdata| is read if available and the package, |xmpincl|
+% is also loaded which will take care of inserting metadata into the
+% \pdf document.
+%
+% \begin{macrocode}
+\InputIfFileExists{\jobname.xmpdata}{}{}
+\RequirePackage{xmpincl}
+% \end{macrocode}
+%
+% \DescribeMacro{\convDate}
+% \DescribeMacro{\convertDate}
+% The date format needed by metadata is different from the value
+% provided by the |\pdfcreationdate|. |\convertDate| macro generates
+% the required date format from |\pdfcreationdate|.
+%
+% \begin{macrocode}
+\def\convertDate{\getYear}
+{\catcode`\D=12
+ \gdef\getYear D:#1#2#3#4{\edef\xYear{#1#2#3#4}\getMonth}
+}
+\def\getMonth#1#2{\edef\xMonth{#1#2}\getDay}
+\def\getDay#1#2{\edef\xDay{#1#2}\getHour}
+\def\getHour#1#2{\edef\xHour{#1#2}\getMin}
+\def\getMin#1#2{\edef\xMin{#1#2}\getSec}
+\def\getSec#1#2{\edef\xSec{#1#2}\getTZh}
+\def\getTZh +#1#2{\edef\xTZh{#1#2}\getTZm}
+\def\getTZm '#1#2'{%
+ \edef\xTZm{#1#2}%
+ \edef\convDate{\xYear-\xMonth-\xDay
+ T\xHour:\xMin:\xSec+\xTZh:\xTZm}}
+\expandafter\convertDate\pdfcreationdate
+% \end{macrocode}
+%
+% \subsection{Color profiles}
+% \DescribeMacro{/OutputIntents} For better color management, \pdfx
+% and \pdfa need an ICC profile included in the document. An ICC
+% profile is a set of data that characterizes a color input or output
+% device, or a color space, according to standards promulgated by the
+% International Color Consortium (ICC). Profiles describe the color
+% attributes of a particular device or viewing requirement by defining
+% a mapping between the device source or target color space and a
+% profile connection space. For \pdfx, we have included the ICC
+% profile namely, |FOGRA39L.icc| which is for \textsc{cmyk} data and
+% for \pdfa, we have used |sRGBIEC1966-2.1.icm| for \textsc{rgb}
+% data. You can change the value of the |file| attribute in the code
+% below to use different color profile files.
+%
+% \begin{macrocode}
+\ifpdfxonea
+ \def\@pctchar{\expandafter\@gobble\string\%}
+ \def\@bchar{\expandafter\@gobble\string\\}
+ \immediate\pdfobj stream attr{/N 4} file{FOGRA39L.icc}
+ \edef\OBJ@CVR{\the\pdflastobj}
+ \pdfcatalog{/OutputIntents [ <<
+ /Type/OutputIntent
+ /S/GTS_PDFX
+ /OutputCondition (FOGRA39)
+ /OutputConditionIdentifier (FOGRA39 \@bchar(ISO Coated v2
+ 300\@pctchar\space \@bchar(ECI\@bchar)\@bchar))
+ /DestOutputProfile \OBJ@CVR\space 0 R
+ /RegistryName(http://www.color.org)
+ >> ]}
+\else
+ \immediate\pdfobj stream attr{/N 4} file{sRGBIEC1966-2.1.icm}
+ \edef\OBJ@RVT{\the\pdflastobj}
+ \pdfcatalog{%
+ /OutputIntents [ <<
+ /Type /OutputIntent
+ /S/GTS_PDFA1
+ /DestOutputProfile \OBJ@RVT\space 0 R
+ /OutputConditionIdentifier (sRGB IEC61966-2.1)
+ /Info(sRGB IEC61966-2.1)
+ >> ]}
+\fi
+% \end{macrocode}
+%
+% One of the |xmp| files is selectively loaded based on the option
+% chosen.
+%
+% \begin{macrocode}
+\begingroup
+\let\&=\xmpAmp
+\ifpdfxonea
+ \includexmp{pdfx-1a}
+\else
+ \includexmp{pdfa-1b}
+\fi
+\endgroup
+% \end{macrocode}
+%
+% |glyphtounicode.tex| and |glyphtounicode-cmr.tex| are read.
+% These files contain mapping from glyph names to corresponding unicode for
+% embedded fonts, which are required by \pdfa. |glyphtounicode.tex| covers
+% AGL (Adobe Glyph List), names from |texglyphlist.txt| (part of
+% lcdf-typetools) and |zapfdingbats.txt|, plus a few exceptions.
+% |glyphtounicode-cmr.tex| covers glyphs that are used in CM fonts but not
+% listed in |glyphtounicode.txt|; the mappings come from file |goadb998.nam|
+% (part of \TeX{} Gyre fonts).
+
+
+%
+% \begin{macrocode}
+\input glyphtounicode.tex
+\input glyphtounicode-cmr.tex
+\pdfgentounicode=1
+% \end{macrocode}
+%
+% Active content is not allowed in a \pdfx file. This means that
+% standard \pdf features like forms, signatures, comments and embedded
+% sounds and movies are not allowed in \pdfx. So |hyperref| is loaded
+% in |draft| mode and |info| dictionary is defined with |\pdfinfo|
+% command.
+%
+% \begin{macrocode}
+\ifpdfxonea
+ \RequirePackage[draft,pdftex,pdfpagemode=UseNone,bookmarks=false]{hyperref}
+ \pdfinfo{
+ /Title(\xmpTitle)%
+ /Author(\xmpAuthor)%
+ /Creator(\xmpProducer)%
+ /CreationDate(\convDate)%
+ /ModDate(\convDate)%
+ /Producer(\xmpProducer)%
+ /Trapped /False
+ /GTS_PDFXVersion (PDF/X-1:2001)%
+ /GTS_PDFXConformance (PDF/X-1a:2001)%
+ }
+\else
+% \end{macrocode}
+%
+% For \pdfa, load |hyperref| package with |pdfa| option, so that it
+% will take care of the link annotations correctly. We have slightly
+% modified the |\pdfinfo| by including |/GTS_PDFA1Version|
+% |(PDA/A-1b:2005)|. Take a look at the modified |\PDF@FinishDoc|
+% macro of |hyprref|.
+%
+% \begin{macrocode}
+ \RequirePackage[pdftex,pdfa]{hyperref}
+ \def\PDF@FinishDoc{%
+ \Hy@UseMaketitleInfos
+ \pdfinfo{%
+ /Creator(\xmpProducer)%
+ \ifx\@pdfcreationdate\@empty
+ \else
+ /CreationDate(\@pdfcreationdate)%
+ \fi
+ \ifx\@pdfmoddate\@empty
+ \else
+ /ModDate(\@pdfmoddate)%
+ \fi
+ /Producer(\xmpProducer)%
+ /Trapped /False
+ /GTS_PDFA1Version (PDF/A-1b:2005)%
+ }%
+ \Hy@DisableOption{pdfauthor}%
+ \Hy@DisableOption{pdftitle}%
+ \Hy@DisableOption{pdfsubject}%
+ \Hy@DisableOption{pdfcreator}%
+ \Hy@DisableOption{pdfcreationdate}%
+ \Hy@DisableOption{pdfmoddate}%
+ \Hy@DisableOption{pdfproducer}%
+ \Hy@DisableOption{pdfkeywords}}
+\fi
+%
+%</package>
+% \end{macrocode}
+% \Finale
+% \PrintIndex
+% \PrintChanges
+% \endinput
diff --git a/Master/texmf-dist/source/latex/pdfx/pdfx.ins b/Master/texmf-dist/source/latex/pdfx/pdfx.ins
new file mode 100644
index 00000000000..0d0f2e32499
--- /dev/null
+++ b/Master/texmf-dist/source/latex/pdfx/pdfx.ins
@@ -0,0 +1,38 @@
+\input docstrip.tex
+%\keepsilent
+
+\preamble
+
+ Copyright (c) 2008, CV Radhakrishnan <cvr@river-valley.org>,
+ Han The Thanh <thanh@river-valley.org>
+
+ This file may be distributed and/or modified under the conditions
+ of the LaTeX Project Public License, either version 1.2 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.2 or later is part of all distributions of LaTeX
+ version 1999/12/01 or later.
+
+\endpreamble
+
+\generate{\file{pdfx.sty}{\from{pdfx.dtx}{package}}}
+
+\obeyspaces
+\Msg{ *************************************************************}
+\Msg{ * *}
+\Msg{ * To finish the installation you have to move the files *}
+\Msg{ * into a directory searched by TeX: *}
+\Msg{ * *}
+\Msg{ * *}
+\Msg{ * To produce the documentation run the relevant file.dtx *}
+\Msg{ * through pdfLaTeX or use the Makefile which is far *}
+\Msg{ * more easier. *}
+\Msg{ * *}
+\Msg{ * Happy TeXing! *}
+\Msg{ * *}
+\Msg{ *************************************************************}
+
+\endbatchfile
diff --git a/Master/texmf-dist/source/latex/pdfx/rvdtx.sty b/Master/texmf-dist/source/latex/pdfx/rvdtx.sty
new file mode 100644
index 00000000000..6e7e9235d32
--- /dev/null
+++ b/Master/texmf-dist/source/latex/pdfx/rvdtx.sty
@@ -0,0 +1,351 @@
+%
+%
+% File: rvdtx.sty
+%
+% Auxiliary package to format *.dtx documents.
+%
+% Copyright (c) 2008, CV Radhakrishnan <cvr@river-valley.org>,
+%
+% This file may be distributed and/or modified under the conditions
+% of the LaTeX Project Public License, either version 1.2 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.2 or later is part of all distributions of LaTeX
+% version 1999/12/01 or later.
+%
+%
+\newcounter{colorscheme}
+
+\DeclareOption{green}{\setcounter{colorscheme}{1}}
+\DeclareOption{orange}{\setcounter{colorscheme}{0}}
+\ProcessOptions
+
+\RequirePackage[dvipsnames,svgnames]{xcolor}
+
+\ifcase\thecolorscheme
+%
+% Orange color spec (default)
+%
+ \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}
+%
+%
+\or% Green color specs
+%
+%
+ \colorlet{itemcolor}{OliveGreen}
+ \colorlet{verbcolor}{OliveGreen}
+ \colorlet{botrulecolor}{GreenYellow!25}
+ \colorlet{botbgcolor}{GreenYellow!30}
+ \colorlet{botcolor}{Green!80}
+ \colorlet{pgrulecolor}{GreenYellow}
+ \colorlet{pgbgcolor}{white}
+
+ \colorlet{quicklinkrulecolor}{Green!40}
+ \colorlet{quicklinkcolor}{Green}
+ \colorlet{topverticalrule}{Green}
+ \colorlet{titlecolor}{DarkOliveGreen}
+ \colorlet{hlinkcolor}{DarkOliveGreen}
+ \colorlet{hlinktricolor}{Green!70}
+ \colorlet{linkcolor}{OliveGreen}
+ \colorlet{urlcolor}{OliveGreen}
+
+ \colorlet{arrayrulecolor}{olive!30}
+ \colorlet{seccolor}{OliveGreen}
+
+ \colorlet{toprulecolor}{GreenYellow!50}
+ \colorlet{topbgcolor}{GreenYellow!20}
+ \colorlet{topcolor}{GreenYellow!80}
+\fi
+
+\def\floatpagefraction{.99}
+\usepackage{geometry}
+\geometry{top=2in,
+ bottom=1in,
+ left=2in,
+ right=1in,
+ a4paper}
+
+\RequirePackage{comment,xspace}
+\def\xml{\textsc{xml}\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\TeX}\xspace}
+\def\defmacro#1{\texttt{\@bsl#1}}
+\def\thanh{H\`an Th\^e Th\`anh\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}}}
+
+\MakeShortVerb{\|}
+
+\IfFileExists{charter.sty}{\RequirePackage{charter}}{}
+\IfFileExists{lfr.sty}{\RequirePackage[scaled=.9]{lfr}}{}
+\IfFileExists{prima.sty}{\RequirePackage[scaled=.8]{prima}}{}
+
+\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@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries\color{seccolor}}}
+\def\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\bfseries\color{seccolor}}}
+
+%\RequirePackage[draft]{pdfdraftcopy}
+% \draftstring{}
+ \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{\texttt{#1}}}
+\def\author#1{\gdef\@author{#1}}
+\def\@author{River Valley Technologies}
+\def\@contact{\texttt{support@river-valley.com}}
+\def\keywords#1{\gdef\@keywords{#1}}
+\def\@keywords{\LaTeX, \xml}
+
+\long\def\Hrule{\\[-4pt]\hspace*{-3em}%
+ {\color{quicklinkrulecolor}\rule{\linewidth}{.1pt}}\\}
+
+\long\def\dtxmark[#1][#2]#3#4#5{\def\next{#1}%
+ \ifcase\next\or\Hlink{#4}{#3}\Hrule \fi}
+
+\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 River Valley Technologies,
+ \href{http://www.river-valley.com}{%
+ \texttt{http://www.river-valley.com}}\\
+ \textsc{sjp} Building, Cotton Hills, Trivandrum
+ 695014, India\\ 9, Browns Court, Kennford,
+ Exeter, United Kingdom
+ }\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,amsfonts,amssymb}
+
+\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}
+
+
+\def\@lbr{\expandafter\@gobble\string\{}
+\def\@rbr{\expandafter\@gobble\string\}}
+\def\@bsl{\expandafter\@gobble\string\\}
+\def\@Bsl#1{\texttt{\@bsl#1}\xspace}
+\def\trics#1{\protect\@Bsl{#1}}
+\def\onecs#1{\protect\@Bsl{#1}}
+%\let\trics\onecs
+
+\c@GlossaryColumns=1
+\c@IndexColumns=2
+
+\def\index@prologue{\section{Index}%
+ \markboth{Index}{Index}%
+ Numbers written in italic refer to the page
+ where the corresponding entry is described;
+ numbers underlined refer to the
+ \ifcodeline@index
+ code line of the
+ \fi
+ definition; numbers in roman refer to the
+ \ifcodeline@index
+ code lines
+ \else
+ pages
+ \fi
+ where the entry is used.
+ }
+
+\renewenvironment{theglossary}{%
+ \glossary@prologue%][\GlossaryMin]%
+ \GlossaryParms \let\item\@idxitem \ignorespaces}%
+ {}
+
+\newenvironment{decl}[1][]%
+ {\par\small\addvspace{1.5ex plus 1ex}%
+ \vskip -\parskip
+ \ifx\relax#1\relax
+ \def\@decl@date{}%
+ \else
+ \def\@decl@date{\NEWfeature{#1}}%
+ \fi
+ \noindent%\hspace{-\leftmargini}%
+ \begin{tabular}{l}\hline\ignorespaces}%
+ {\\\hline\end{tabular}\nobreak\@decl@date\par\nobreak
+ \vspace{0.75ex}\vskip -\parskip\ignorespacesafterend\noindent}
+
+\endinput
+
+%%
+%% End of file 'rvdtx.sty'
+%%
diff --git a/Master/texmf-dist/tex/latex/pdfx/pdfa-1b.xmp b/Master/texmf-dist/tex/latex/pdfx/pdfa-1b.xmp
new file mode 100644
index 00000000000..a811614f18e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pdfx/pdfa-1b.xmp
@@ -0,0 +1,73 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% File: pdfa-1b.xmp
+%%
+%% Purpose: This is the engine of Elsevier XSL typesetting
+%% packages. This file is complete with other model
+%% class files and packages.
+%%
+%% Copyright (c) 2008, Focal Image (India) Pvt. Ltd.,
+%% Trivandrum
+%%
+%% This package is for the exclusive inhouse usage of
+%% Focal Image (India) Pvt Ltd., Trivandrum, India,
+%% River Valley Technologies, Trivandrum and Exeter, UK,
+%% and their associates authorised by the copyright holder.
+%% Copying, modifying and redistributing this package for
+%% a price or free are expressly prohibited.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% $Id: pdfa-1b.xmp,v 1.2 2008/06/24 10:31:38 cvr Exp cvr $
+%%
+%%
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:14:39">
+ <rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:pdfx = "http://ns.adobe.com/pdfx/1.3/"
+ xmlns:pdfaid = "http://www.aiim.org/pdfa/ns/id/"
+ xmlns:xap = "http://ns.adobe.com/xap/1.0/"
+ xmlns:xapRights = "http://ns.adobe.com/xap/1.0/rights/"
+ xmlns:dc = "http://purl.org/dc/elements/1.1/"
+ xmlns:dcterms = "http://purl.org/dc/terms/"
+ xmlns:prism = "http://prismstandard.org/namespaces/basic/2.0/">
+ <rdf:Description rdf:about="" xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <pdf:Producer>\xmpProducer</pdf:Producer>
+ </rdf:Description>
+ <rdf:Description rdf:about="doi:\xmpDoi">
+ <dc:format>application/pdf</dc:format>
+ <dc:title>\xmpTitle</dc:title>
+ <dc:creator><rdf:Seq><rdf:li>\xmpAuthor</rdf:li></rdf:Seq></dc:creator>
+\@ifundefined{xmpKeywords}{}{<dc:subject><rdf:Bag><rdf:li>\xmpKeywords</rdf:li></rdf:Bag></dc:subject>}
+ <prism:aggregationType>journal</prism:aggregationType>
+ <prism:copyright>\xmpOrg</prism:copyright>
+ <dc:publisher>\xmpOrg</dc:publisher>
+ \ifx\xmpJournalnumber\@empty\relax\else<prism:issn>\xmpJournalnumber</prism:issn>\fi
+ \ifx\xmpVolume\@empty\relax\else<prism:volume>\xmpVolume</prism:volume>\fi
+ \ifx\xmpIssue\@empty\relax\else<prism:number>\xmpIssue</prism:number>\fi
+ \ifx\xmpCoverDisplayDate\@empty\relax\else<prism:coverDisplayDate>\xmpCoverDisplayDate</prism:coverDisplayDate>\fi
+ \ifx\xmpCoverDate\@empty\relax\else<prism:coverDate>\xmpCoverDate</prism:coverDate>\fi
+ \ifx\xmpJournaltitle\@empty\relax\else<prism:issueName>\xmpJournaltitle</prism:issueName>\fi
+ \ifx\xmpFirstpage\@empty\relax\else<prism:pageRange>\xmpFirstpage-\xmpLastpage</prism:pageRange>\fi
+ \ifx\xmpFirstpage\@empty\relax\else<prism:startingPage>\xmpFirstpage</prism:startingPage>\fi
+ \ifx\xmpLastpage\@empty\relax\else<prism:endingPage>\xmpLastpage</prism:endingPage>\fi
+ \ifx\xmpDoi\@empty\relax\else<prism:doi>\xmpDoi</prism:doi>\fi
+ \ifx\xmpDoi\@empty\relax\else<prism:url>http://dx.doi.org/\xmpDoi</prism:url>\fi
+ \ifx\xmpDoi\@empty\relax\else<dc:identifier>doi:\xmpDoi</dc:identifier>\fi
+ \ifx\xmpAuthoritativeDomain\@empty\relax\else<pdfx:AuthoritativeDomain><rdf:Bag><rdf:li>\xmpAuthoritativeDomain</rdf:li></rdf:Bag></pdfx:AuthoritativeDomain>\fi
+ <pdfaid:part>1</pdfaid:part>
+ <pdfaid:conformance>B</pdfaid:conformance>
+ <xap:CreatorTool>\xmpCreatorTool</xap:CreatorTool>
+ <xapRights:Marked>True</xapRights:Marked>
+ <xap:ModifyDate>\convDate</xap:ModifyDate>
+ <xap:CreateDate>\convDate</xap:CreateDate>
+ <xap:MetadataDate>\convDate</xap:MetadataDate>
+ </rdf:Description>
+% <rdf:Description rdf:about="" xmlns:xapMM="http://ns.adobe.com/xap/1.0/mm/">
+% <xapMM:DocumentID>uuid:\xmpdocid</xapMM:DocumentID>
+% <xapMM:InstanceID>uuid:\xmpinstid</xapMM:InstanceID>
+% </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+%%
+%% End of pdfa-1b.xmp
+%%
+%%
diff --git a/Master/texmf-dist/tex/latex/pdfx/pdfx-1a.xmp b/Master/texmf-dist/tex/latex/pdfx/pdfx-1a.xmp
new file mode 100644
index 00000000000..f99175e832f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pdfx/pdfx-1a.xmp
@@ -0,0 +1,55 @@
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:14:39">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:pdf="http://www.adobe.com/pdf/1.3/">
+ <pdf:Trapped>False</pdf:Trapped>
+ <pdf:GTS_PDFXVersion>PDF/X-1:2001</pdf:GTS_PDFXVersion>
+ <pdf:GTS_PDFXConformance>PDF/X-1a:2001</pdf:GTS_PDFXConformance>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xap="http://ns.adobe.com/xap/1.0/">
+ <xap:CreateDate>\convDate</xap:CreateDate>
+ <xap:CreatorTool>pdfTeX</xap:CreatorTool>
+ <xap:ModifyDate>\convDate</xap:ModifyDate>
+ <xap:MetadataDate>\convDate</xap:MetadataDate>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+ <pdf:Producer>pdfTeX</pdf:Producer>
+ <pdf:Trapped>False</pdf:Trapped>
+ <pdf:Keywords>\xmpKeywords</pdf:Keywords>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <dc:format>application/pdf</dc:format>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">\xmpTitle</rdf:li>
+ </rdf:Alt>
+ </dc:title>
+ <dc:description>
+ <rdf:Alt>
+ <rdf:li xml:lang="x-default">\xmpSubject</rdf:li>
+ </rdf:Alt>
+ </dc:description>
+ <dc:creator>
+ <rdf:Bag>
+ <rdf:li>\xmpAuthor</rdf:li>
+ </rdf:Bag>
+ </dc:creator>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>\xmpKeywords</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </rdf:Description>
+ <rdf:Description rdf:about=""
+ xmlns:xapMM="http://ns.adobe.com/xap/1.0/mm/">
+ <xapMM:DocumentID>uuid:\xmpdocid</xapMM:DocumentID>
+ <xapMM:InstanceID>uuid:\xmpinstid</xapMM:InstanceID>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
diff --git a/Master/texmf-dist/tex/latex/pdfx/pdfx.sty b/Master/texmf-dist/tex/latex/pdfx/pdfx.sty
new file mode 100644
index 00000000000..f10e9d98c93
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pdfx/pdfx.sty
@@ -0,0 +1,201 @@
+%%
+%% This is file `pdfx.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% pdfx.dtx (with options: `package')
+%%
+%% Copyright (c) 2008, CV Radhakrishnan <cvr@river-valley.org>,
+%% Han The Thanh <thanh@river-valley.org>
+%%
+%% This file may be distributed and/or modified under the conditions
+%% of the LaTeX Project Public License, either version 1.2 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.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{pdfx}
+ [2008/12/01 v1.1 PDF/X and PDF/A support (CVR/HTH)]
+
+\newif\ifpdfxonea \pdfxoneafalse
+\newif\ifpdfaoneb \pdfaonebfalse
+
+\DeclareOption{a-1b}{\global\pdfaonebtrue}
+\DeclareOption{x-1a}{\global\pdfxoneatrue}
+\ProcessOptions
+
+\ifpdfxonea
+ \pdfminorversion=3
+ \pdfpageattr{/MediaBox[0 0 595 793]
+ /BleedBox[0 0 595 793]
+ /TrimBox[25 20 570 773]}
+\else
+ \pdfminorversion=4
+\fi
+\def\hash{\expandafter\@gobble\string\#}
+\def\amp{\expandafter\@gobble\string\&}
+\def\xmpAmp{\amp\hash x0026;}
+\def\TextCopyright{\amp\hash x00A9;}
+\def\Title#1{\gdef\xmpTitle{#1}}
+ \let\xmpTitle\@empty
+\def\Author#1{\gdef\xmpAuthor{#1}}
+ \let\xmpAuthor\@empty
+\def\Keywords#1{\gdef\xmpKeywords{#1}}
+ \let\xmpKeywords\@empty
+ \let\xmpSubject\xmpKeywords
+\def\Creator#1{\gdef\xmpCreator{#1}}
+ \def\xmpCreator{\@pdfcreator}
+\def\Producer#1{\gdef\xmpProducer{#1}}
+ \def\xmpProducer{pdfTeX}
+\def\Volume#1{\gdef\xmpVolume{#1}}
+ \let\xmpVolume\@empty
+\def\Issue#1{\gdef\xmpIssue{#1}}
+ \let\xmpIssue\@empty
+\def\CoverDisplayDate#1{\gdef\xmpCoverDisplayDate{#1}}
+ \let\xmpCoverDisplayDate\@empty
+\def\CoverDate#1{\gdef\xmpCoverDate{#1}}
+ \let\xmpCoverDate\@empty
+\def\Copyright#1{\gdef\xmpCopyright{#1}}
+ \let\xmpCopyright\@empty
+\def\Doi#1{\gdef\xmpDoi{#1}}
+ \let\xmpDoi\@empty
+\def\Lastpage#1{\gdef\xmpLastpage{#1}}
+ \let\xmpLastpage\@empty
+\def\Firstpage#1{\gdef\xmpFirstpage{#1}}
+ \let\xmpFirstpage\@empty
+\def\Journaltitle#1{\gdef\xmpJournaltitle{#1}}
+ \let\xmpJournaltitle\@empty
+\def\Journalnumber#1{\gdef\xmpJournalnumber{#1}}
+ \let\xmpJournalnumber\@empty
+\def\Org#1{\gdef\xmpOrg{#1}}
+ \let\xmpOrg\@empty
+\def\CreatorTool#1{\gdef\xmpCreatorTool{#1}}
+ \def\xmpCreatorTool{\xmpProducer}
+\def\AuthoritativeDomain#1{\gdef\xmpAuthoritativeDomain{#1}}
+ \let\xmpAuthoritativeDomain\@empty
+\def\findUUID#1{\edef\tmpstring{\pdfmdfivesum{#1}}
+ \expandafter\eightofnine\tmpstring\end}
+\def\eightofnine#1#2#3#4#5#6#7#8#9\end{%
+ \xdef\eightchars{#1#2#3#4#5#6#7#8}
+ \fouroffive#9\end}
+\def\fouroffive#1#2#3#4#5\end{\xdef\ffourchars{#1#2#3#4}
+ \sfouroffive#5\end}
+\def\sfouroffive#1#2#3#4#5\end{\xdef\sfourchars{#1#2#3#4}
+ \tfouroffive#5\end}
+\def\tfouroffive#1#2#3#4#5\end{\xdef\tfourchars{#1#2#3#4}
+ \xdef\laststring{#5}}
+
+\def\uuid{\eightchars-%
+ \ffourchars-%
+ \sfourchars-%
+ \tfourchars-%
+ \laststring}
+
+\findUUID{\jobname.pdf}
+\edef\xmpdocid{\uuid}
+\findUUID{\pdfcreationdate}
+\edef\xmpinstid{\uuid}
+\InputIfFileExists{\jobname.xmpdata}{}{}
+\RequirePackage{xmpincl}
+\def\convertDate{\getYear}
+{\catcode`\D=12
+ \gdef\getYear D:#1#2#3#4{\edef\xYear{#1#2#3#4}\getMonth}
+}
+\def\getMonth#1#2{\edef\xMonth{#1#2}\getDay}
+\def\getDay#1#2{\edef\xDay{#1#2}\getHour}
+\def\getHour#1#2{\edef\xHour{#1#2}\getMin}
+\def\getMin#1#2{\edef\xMin{#1#2}\getSec}
+\def\getSec#1#2{\edef\xSec{#1#2}\getTZh}
+\def\getTZh +#1#2{\edef\xTZh{#1#2}\getTZm}
+\def\getTZm '#1#2'{%
+ \edef\xTZm{#1#2}%
+ \edef\convDate{\xYear-\xMonth-\xDay
+ T\xHour:\xMin:\xSec+\xTZh:\xTZm}}
+\expandafter\convertDate\pdfcreationdate
+\ifpdfxonea
+ \def\@pctchar{\expandafter\@gobble\string\%}
+ \def\@bchar{\expandafter\@gobble\string\\}
+ \immediate\pdfobj stream attr{/N 4} file{FOGRA39L.icc}
+ \edef\OBJ@CVR{\the\pdflastobj}
+ \pdfcatalog{/OutputIntents [ <<
+ /Type/OutputIntent
+ /S/GTS_PDFX
+ /OutputCondition (FOGRA39)
+ /OutputConditionIdentifier (FOGRA39 \@bchar(ISO Coated v2
+ 300\@pctchar\space \@bchar(ECI\@bchar)\@bchar))
+ /DestOutputProfile \OBJ@CVR\space 0 R
+ /RegistryName(http://www.color.org)
+ >> ]}
+\else
+ \immediate\pdfobj stream attr{/N 4} file{sRGBIEC1966-2.1.icm}
+ \edef\OBJ@RVT{\the\pdflastobj}
+ \pdfcatalog{%
+ /OutputIntents [ <<
+ /Type /OutputIntent
+ /S/GTS_PDFA1
+ /DestOutputProfile \OBJ@RVT\space 0 R
+ /OutputConditionIdentifier (sRGB IEC61966-2.1)
+ /Info(sRGB IEC61966-2.1)
+ >> ]}
+\fi
+\begingroup
+\let\&=\xmpAmp
+\ifpdfxonea
+ \includexmp{pdfx-1a}
+\else
+ \includexmp{pdfa-1b}
+\fi
+\endgroup
+
+\input glyphtounicode.tex
+\input glyphtounicode-cmr.tex
+\pdfgentounicode=1
+\ifpdfxonea
+ \RequirePackage[draft,pdftex,pdfpagemode=UseNone,bookmarks=false]{hyperref}
+ \pdfinfo{
+ /Title(\xmpTitle)%
+ /Author(\xmpAuthor)%
+ /Creator(\xmpProducer)%
+ /CreationDate(\convDate)%
+ /ModDate(\convDate)%
+ /Producer(\xmpProducer)%
+ /Trapped /False
+ /GTS_PDFXVersion (PDF/X-1:2001)%
+ /GTS_PDFXConformance (PDF/X-1a:2001)%
+ }
+\else
+ \RequirePackage[pdftex,pdfa]{hyperref}
+ \def\PDF@FinishDoc{%
+ \Hy@UseMaketitleInfos
+ \pdfinfo{%
+ /Creator(\xmpProducer)%
+ \ifx\@pdfcreationdate\@empty
+ \else
+ /CreationDate(\@pdfcreationdate)%
+ \fi
+ \ifx\@pdfmoddate\@empty
+ \else
+ /ModDate(\@pdfmoddate)%
+ \fi
+ /Producer(\xmpProducer)%
+ /Trapped /False
+ /GTS_PDFA1Version (PDF/A-1b:2005)%
+ }%
+ \Hy@DisableOption{pdfauthor}%
+ \Hy@DisableOption{pdftitle}%
+ \Hy@DisableOption{pdfsubject}%
+ \Hy@DisableOption{pdfcreator}%
+ \Hy@DisableOption{pdfcreationdate}%
+ \Hy@DisableOption{pdfmoddate}%
+ \Hy@DisableOption{pdfproducer}%
+ \Hy@DisableOption{pdfkeywords}}
+\fi
+\endinput
+%%
+%% End of file `pdfx.sty'.
diff --git a/Master/tlpkg/bin/ctan2tds b/Master/tlpkg/bin/ctan2tds
index 92ee3626f89..bb08d54ef7f 100755
--- a/Master/tlpkg/bin/ctan2tds
+++ b/Master/tlpkg/bin/ctan2tds
@@ -223,7 +223,7 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw
'hfoldsty', "&MAKEflatten",
'hilowres', "die 'skipping, nonfree'",
'hyph-utf8', "&MAKEcopy",
- 'hyphen-german',"die 'please install hyphen-german by hand, sorry'",
+ 'hyphen-german',"die 'skipping, part of hyph-utf8'",
'ibycus-babel',"&MAKEibycusbabel",
'ibygrk', "&MAKEflatten",
'ifacmtg', "die 'skipping, nonfree license'",
@@ -334,6 +334,7 @@ chdir $startdir || die "chdir($startdir) failed: $!"; # back to raw
'pdf-forms-tutorial-de', "&MAKEpdf_forms_tutorial",
'pdf-forms-tutorial-en', "&MAKEpdf_forms_tutorial",
'pdfrack', "die 'skipping until someone asks for it'",
+ 'pdfx', "&MAKEflatten",
'pgf', "&MAKEcopy",
'pgfplots', "&MAKEcopy",
'phaistos', "&MAKEflatten",
@@ -531,6 +532,7 @@ $standardsource='\.fdd|\.dtx|\.ins|\.c$|Makefile|configure.*|install-sh|\.drv';
'latex2man', 'NULL', # leave Makefile
'mpman-ru', 'NULL', # doc package
'ot2cyr', '\.afm|\.etx|' . $standardsource,
+ 'pdfx', 'rvdtx\.sty|' . $standardsource,
'patch', '\.doc',
'pgfplots', 'NULL', # keep manual.install.tex in doc/
'rcs', 'rcs.el|src|' . $standardsource,
@@ -806,6 +808,7 @@ $standardtex='\.(cfg|sty|clo|ldf|cls|def|fd|cmap|4ht)$';
'pdfcprot', '\.cpa|\.sty',
'pdfscreen', 'overlay.*pdf|but.*pdf|left.*pdf|right\.pdf|pdfscreen.sty',
'pdfslide', '\.jpg|\.sty|\.clo|\.cfg|meta.*\.pdf',
+ 'pdfx', '\.xmp$|pdfx\.sty',
'petri-nets', 'pnets\.tex|pntext\.tex|\.sty|pndraw\.tex|pnversion\.tex|\.sty|pndraw\.tex',
'pictex', '\.sty|\.tex',
'plgraph', '\.tex',
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 26eab4b1010..e7188aaaec6 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -166,7 +166,7 @@ my @WorkingTLP = qw(
patch pauldoc pax pbox pb-diagram
pdf-forms-tutorial-de pdf-forms-tutorial-en
pdf-trans pdfcprot pdfcrop
- pdfpages pdfscreen pdfslide pdfsync pdftex-def pdftricks
+ pdfpages pdfscreen pdfslide pdfsync pdftex-def pdftricks pdfx
perception perltex
permute petiteannonce
pgf pgf-soroban pgfopts pgfplots phaistos philex philosophersimprint
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index 8a22e4cb082..f9a57cd4929 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -372,6 +372,7 @@ depend pdfscreen
depend pdfslide
depend pdfsync
depend pdfwin
+depend pdfx
depend pecha
depend perltex
depend permute
diff --git a/Master/tlpkg/tlpsrc/pdfx.tlpsrc b/Master/tlpkg/tlpsrc/pdfx.tlpsrc
new file mode 100644
index 00000000000..758c44d5dee
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/pdfx.tlpsrc
@@ -0,0 +1,2 @@
+name pdfx
+category Package