diff options
Diffstat (limited to 'Master/texmf-dist/source')
-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 |
4 files changed, 952 insertions, 0 deletions
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' +%% |