diff options
author | Karl Berry <karl@freefriends.org> | 2008-12-05 01:52:40 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-12-05 01:52:40 +0000 |
commit | d00f2929d26af30109b9c7f5909b584460b73978 (patch) | |
tree | e4ca1a17c574062225ca3f59ef5829b89792ad30 /Master | |
parent | 328f6344fc5d11b5731246b12ea1df785d55d968 (diff) |
new latex package pdfx (4dec08)
git-svn-id: svn://tug.org/texlive/trunk@11521 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/pdfx/README | 36 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/pdfx/manifest.txt | 59 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/pdfx/pdfx.pdf | bin | 0 -> 133809 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/pdfx/small2e.pdf | bin | 0 -> 55030 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/pdfx/small2e.tex | 42 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/pdfx/small2e.xmpdata | 5 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/pdfx/Makefile | 42 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/pdfx/pdfx.dtx | 521 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/pdfx/pdfx.ins | 38 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/pdfx/rvdtx.sty | 351 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/pdfx/pdfa-1b.xmp | 73 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/pdfx/pdfx-1a.xmp | 55 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/pdfx/pdfx.sty | 201 | ||||
-rwxr-xr-x | Master/tlpkg/bin/ctan2tds | 5 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/pdfx.tlpsrc | 2 |
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 Binary files differnew file mode 100644 index 00000000000..481b4506bd6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pdfx/pdfx.pdf diff --git a/Master/texmf-dist/doc/latex/pdfx/small2e.pdf b/Master/texmf-dist/doc/latex/pdfx/small2e.pdf Binary files differnew file mode 100644 index 00000000000..61451d80da8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pdfx/small2e.pdf 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 |