From d00f2929d26af30109b9c7f5909b584460b73978 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 5 Dec 2008 01:52:40 +0000 Subject: new latex package pdfx (4dec08) git-svn-id: svn://tug.org/texlive/trunk@11521 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/pdfx/README | 36 ++ Master/texmf-dist/doc/latex/pdfx/manifest.txt | 59 +++ Master/texmf-dist/doc/latex/pdfx/pdfx.pdf | Bin 0 -> 133809 bytes Master/texmf-dist/doc/latex/pdfx/small2e.pdf | Bin 0 -> 55030 bytes Master/texmf-dist/doc/latex/pdfx/small2e.tex | 42 ++ Master/texmf-dist/doc/latex/pdfx/small2e.xmpdata | 5 + Master/texmf-dist/source/latex/pdfx/Makefile | 42 ++ Master/texmf-dist/source/latex/pdfx/pdfx.dtx | 521 +++++++++++++++++++++++ Master/texmf-dist/source/latex/pdfx/pdfx.ins | 38 ++ Master/texmf-dist/source/latex/pdfx/rvdtx.sty | 351 +++++++++++++++ Master/texmf-dist/tex/latex/pdfx/pdfa-1b.xmp | 73 ++++ Master/texmf-dist/tex/latex/pdfx/pdfx-1a.xmp | 55 +++ Master/texmf-dist/tex/latex/pdfx/pdfx.sty | 201 +++++++++ Master/tlpkg/bin/ctan2tds | 5 +- Master/tlpkg/bin/tlpkg-ctan-check | 2 +- Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 + Master/tlpkg/tlpsrc/pdfx.tlpsrc | 2 + 17 files changed, 1431 insertions(+), 2 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/pdfx/README create mode 100644 Master/texmf-dist/doc/latex/pdfx/manifest.txt create mode 100644 Master/texmf-dist/doc/latex/pdfx/pdfx.pdf create mode 100644 Master/texmf-dist/doc/latex/pdfx/small2e.pdf create mode 100644 Master/texmf-dist/doc/latex/pdfx/small2e.tex create mode 100644 Master/texmf-dist/doc/latex/pdfx/small2e.xmpdata create mode 100644 Master/texmf-dist/source/latex/pdfx/Makefile create mode 100644 Master/texmf-dist/source/latex/pdfx/pdfx.dtx create mode 100644 Master/texmf-dist/source/latex/pdfx/pdfx.ins create mode 100644 Master/texmf-dist/source/latex/pdfx/rvdtx.sty create mode 100644 Master/texmf-dist/tex/latex/pdfx/pdfa-1b.xmp create mode 100644 Master/texmf-dist/tex/latex/pdfx/pdfx-1a.xmp create mode 100644 Master/texmf-dist/tex/latex/pdfx/pdfx.sty create mode 100644 Master/tlpkg/tlpsrc/pdfx.tlpsrc 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 and +Han The Thanh \ 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 Binary files /dev/null and b/Master/texmf-dist/doc/latex/pdfx/pdfx.pdf 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 Binary files /dev/null and b/Master/texmf-dist/doc/latex/pdfx/small2e.pdf 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{pdfTeXPDF/X-1aPDF/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 , +% Han The Thanh +% +% 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} +% +% \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{pdfTeXPDF/X-1aPDF/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 +% || 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}|[