diff options
author | Karl Berry <karl@freefriends.org> | 2016-02-05 23:40:13 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-02-05 23:40:13 +0000 |
commit | 463c2ec14523be0366ac7388095b0e1dacbc8d3f (patch) | |
tree | 8c61b63ccc40dcf7308ecafe2c061914be629067 | |
parent | 51400e096ca50dd3c9303cf8aea839947ea4c0dc (diff) |
pdfx (5feb16)
git-svn-id: svn://tug.org/texlive/trunk@39594 c570f23f-e606-0410-a88d-b1316a301751
24 files changed, 2837 insertions, 1325 deletions
diff --git a/Master/texmf-dist/doc/latex/pdfx/AdobeColorProfiles.tex b/Master/texmf-dist/doc/latex/pdfx/AdobeColorProfiles.tex new file mode 100644 index 00000000000..5d78bafe9e4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pdfx/AdobeColorProfiles.tex @@ -0,0 +1,323 @@ +% This file gives macros to specify CMYK Color Profiles as supported by Adobe's Acrobat Pro DC software. +% Identifying names, comments and descriptions are taken from AC/DC's "Color Setup" Preferences panel. +% --- user-command --- CMYK profile needed with PDF/X-?? files +% \setCMYKcolorprofile{<filename>}{<output intent>}{<identifier>}{<registry URL>} +% e.g. +%\pdfx@setcmykprofile{coated_FOGRA39L_argl.icc}| +% {Coated FOGRA39}| +% {FOGRA39 \string\(ISO Coated v2 300%\space \string\(ECI\string\)\string\)}| +% {http://www.argyllcms.com/}|{http://www.color.org}| + +% Location of Adobe profiles on Mac OS X: +%\gdef\AdobeMacOSdir{/Library/Application Support/Adobe/Color/Profiles/Recommended/} +% Use \pdfxSetCMYKcolorProfileDir{\AdobeMacOSdir} within the .xmpdata file +% Location of Adobe profiles under Windows: +%\xdef\WindowsColordir{C:\string\Windows\string\System32\string\Spool\string\Drivers\string\Color\string/} + +% FOGRA39 +% "Europe General Purpose 3" +% General-purpose color settings for screen and print in Europe. Profile warnings are disabled. +% Uses the FOGRA39 press characterization. It is designed to produce quality separations for standard ISO printing using: 350% total ink coverage, positive film, and coated paper. +\gdef\FOGRAXXXIX{\setCMYKcolorprofile{CoatedFOGRA39.icc}% + {CoatedFOGRA39}% + {Coated FOGRA39 \string\(ISO 12647-2:2004\string\)}% /ProfileName + {http://www.color.org}% /RegistryName +}% + +% Coated GRACoL — no +% Coated GRACoL 2006 \(ISO 12647-2:2004\) +\gdef\CoatedGRACoL{\setCMYKcolorprofile{CoatedGRACoL2006.icc}% + {CGATS TR 006}% /OutputConditionIdentifier +% {GRACoL2006_Coated1v2.icc}% /ProfileName + {Coated GRACoL 2006 \string\(ISO 12647-2:2004\string\)}% + {http://www.color.org}% /RegistryName +}% does not validate ??? + + +% ISO Web Coated +% Web Coated FOGRA28 \(ISO 12647-2:2004\) +% Uses the FOGRA28 press characterization. +% It is designed to produce quality separations for standard ISO printing using: +% 350% total ink coverage, positive film, and coated paper. +\gdef\ISOWebCoated{\setCMYKcolorprofile{WebCoatedFOGRA28.icc}% + {FOGRA28}% /OutputConditionIdentifier +% {ISO Web Coated}% /ProfileName + {Web Coated FOGRA28 \string\(ISO 12647-2:2004\string\)}% + {http://www.color.org}% /RegistryName +}% does not validate + + +% Japan Color 2001 Coated +% "Japan General Purpose 2" +% General-purpose color settings for screen and print in Japan. Profile warnings are disabled. +% Uses the Japan Color 2001 specification for type 3 (coated) paper. +% It is designed to produce quality separations using: +% 350% total ink coverage, positive film and coated paper. +\gdef\JapanColorMMICoated{\setCMYKcolorprofile{JapanColor2001Coated.icc}% + {JC200103}% /OutputConditionIdentifier + {Japan Color 2001 Coated}% /ProfileName +% {Japan Color 2001 Coated: Printing process definition: ISO 12647-2:2004, sheet-fed offset printing, positive plates, paper type 3 \string\(coated, 105 gsm\string\), screen frequency 69/cm.}% + {http://www.color.org}% /RegistryName +}% + + +% Japan Color 2001 Uncoated +% Uses the Japan Color 2001 specification for type 4 (uncoated) paper. +% It is designed to produce quality separations using: +% 310% total ink coverage, positive film and uncoated paper. +\gdef\JapanColorMMIUncoated{\setCMYKcolorprofile{JapanColor2001Uncoated.icc}% + {JCN200104}% /OutputConditionIdentifier + {Japan Color 2001 Uncoated}% /ProfileName +% {Japan Color 2001 Uncoated: Printing process definition: ISO 12647-2:2004, sheet-fed offset printing, positive plates, paper type 4 \(uncoated, 105 gsm\), screen frequency 69/cm.}% + {http://www.color.org}% /RegistryName +}% + + +% Japan Color 2002 Newspaper +% "Japan Color for Newspaper" +% Preparation of content for common newspaper press conditions in Japan. CMYK values are preserved. Profile warnings are enabled. +% Uses the Japan Color 2002 for Newspapers specification. It is designed to produce quality separations using: 240% total ink coverage, positive film and standard newsprint paper. +\gdef\JapanColorMMIINewspaper{\setCMYKcolorprofile{JapanColor2002Newspaper.icc}% + {JCN2002}% /OutputConditionIdentifier + {Japan Color 2002 Newspaper}% /ProfileName +% {Japan Color 2002 for Newspaper Printing: Printing process definition: ISO/DIS 12647-3:2004, coldset offset printing, negative plates, newsprint, screen frequency 39/cm.}% /OutputCondition + {http://www.color.org}% /RegistryName +}% + + +% Japan Web Coated (Ad) +% "Japan Magazine Advertisement Color" +% Preparation of content using the Japan Magazine Publisher Association color standard for the Japan magazine and advertising market. +% CMYK values are preserved. Profile warnings are enabled. +% Uses specifications developed by the Japan Magazine Publisher Association for digital proofing of images in the Japanese magazine/advertising market. +\gdef\JapanWebCoatedAd{\setCMYKcolorprofile{JapanColor2003WebCoated.icc}% + {JCW2003}% /OutputConditionIdentifier + {Japan Web Coated \string\(Ad\string\)}% /ProfileName +% {Japan Color 2003 for Web Offset: Printing process definition: ISO 12647-2:2004, heat-set web offset printing, positive plates, paper type 3 \string\(coated, 70 gsm\string\), screen frequency 69/cm.}% /OutputCondition + {http://www.color.org}% /RegistryName +}% + +\gdef\JapanWebCoated{\setCMYKcolorprofile{JapanWebCoated.icc}% + {JCW2002}% ???? /OutputConditionIdentifier + {Japan Web Coated}% /ProfileName +% {Japan Color 2003 for Web Offset: Printing process definition: ISO 12647-2:2004, heat-set web offset printing, positive plates, paper type 3 \(coated, 70 gsm\), screen frequency 69/cm.}% /OutputCondition + {http://www.color.org}% /RegistryName +}% + + + +% U.S. Web Coated (SWOP) v2 +% "North America General Purpose 2" +% General-purpose color settings for screen and print in North America. Profile warnings are disabled. +\gdef\SWOPCGATSI{\setCMYKcolorprofile{USWebCoatedSWOP.icc}% + {CGATS TR 001}% /OutputConditionIdentifier + {U.S. Web Coated \string\(SWOP\string\) v2}% /ProfileName +% {SWOP \string\(Publication\string\) printing in USA \string\(Printing process definition: ANSI CGATS.6\string\).}% /OutputCondition + {http://www.color.org}% /RegistryName +}% + + +% US Newsprint (SNAP 2007) +% "North America Newspaper" +% Preparation of content for common newspaper press conditions in Japan. CMYK values are preserved. Profile warnings are enabled. +\gdef\SNAPCGATSII{\setCMYKcolorprofile{USNewsprintSNAP2007.icc}% + {CGATS TR 002}% /OutputConditionIdentifier + {US Newsprint \string\(SNAP 2007\string\)}% /ProfileName + {http://www.color.org}% /RegistryName +}% + + +% U.S. Web Coated (SWOP) 3v2 – no +\gdef\SWOPCGATSIII{\setCMYKcolorprofile{WebCoatedSWOP2006Grade3.icc}% + {CGATS TR 003}% /OutputConditionIdentifier + {SWOP2006_Coated3v2.icc}% /ProfileName +% {Web Offset CTP plates ISO 2846-1 Inks - Variable screen frequency / G7 Methodology / Grade #3 paper}% /OutputCondition + {http://www.color.org}% /RegistryName +}% does not validate + + +% U.S. Web Coated (SWOP) 5v2 – no +\gdef\SWOPCGATSV{\setCMYKcolorprofile{WebCoatedSWOP2006Grade5.icc}% + {CGATS TR 005}% /OutputConditionIdentifier + {SWOP2006_Coated5v2.icc}% /ProfileName +% {Web Offset CTP plates ISO 2846-1 Inks - Variable screen frequency / G7 Methodology / grade #5 Paper}% /OutputCondition + {http://www.color.org}% /RegistryName +}% does not validate + + + +% ISO Coated v2 (ECI) – no +\gdef\ISOCoatedECI{\setCMYKcolorprofile{CoatedFOGRA39.icc}% + {FOGRA39}% /OutputConditionIdentifier + {ISO Coated v2 \string\(ECI\string\)}% /ProfileName +% {Offset commercial and specialty printing according to ISO 12647-2:2004 / Amd 1, paper type 1 or 2 \(gloss or matte coated offset, 115 g/m2\), screen frequency 60/cm.}% /OutputCondition + {http://www.color.org}% /RegistryName +}% does not validate + + +% FOGRA29 +% Uncoated FOGRA29 \(ISO 12647-2:2004\) +\gdef\UncoatedFOGRA{\setCMYKcolorprofile{UncoatedFOGRA29.icc}% + {FOGRA29}% + {Uncoated FOGRA29 \string\(ISO 12647-2:2004\string\)}% /ProfileName +% Uses the FOGRA29 press characterization. It is designed to produce quality separations for standard ISO printing using: 350% total ink coverage, positive film, and coated paper. + {http://www.color.org}% /RegistryName +}% + + +% FOGRA28 +% Web Coated FOGRA28 \(ISO 12647-2:2004\) +\gdef\WebCoatedFOGRA{\setCMYKcolorprofile{WebCoatedFOGRA28.icc}% + {FOGRA28}% + {Web Coated FOGRA28 \(ISO 12647-2:2004\)}% +% Uses the FOGRA28 press characterization. It is designed to produce quality separations for standard ISO printing using: 350% total ink coverage, positive film, and coated paper. + {http://www.color.org}% /RegistryName +}% + + +% FOGRA27 +% Coated FOGRA27 \(ISO 12647-2:2004\) +\gdef\CoatedFOGRA{\setCMYKcolorprofile{CoatedFOGRA27.icc}% + {FOGRA27}% + {Coated FOGRA27 \(ISO 12647-2:2004\)}% +%Uses the FOGRA27 press characterization. It is designed to produce quality separations for standard ISO printing using: 350% total ink coverage, positive film and coated paper. + {http://www.color.org}% /RegistryName +}% + + +\endinput + + +% U.S. Sheetfed Coated v2 +% USSheetfedCoated.icc +\gdef\SheetfedCoated{\setCMYKcolorprofile{USSheetfedCoated.icc}% + {}% ???? + {U.S. Sheetfed Coated v2}% + {http://www.color.org}% /RegistryName +}% + + +% U.S. Sheetfed Uncoated v2 +% USSheetfedUncoated.icc +\gdef\SheetfedUncoated{\setCMYKcolorprofile{USSheetfedUncoated.icc}% + {}% ???? + {U.S. Sheetfed Uncoated v2}% + {http://www.color.org}% /RegistryName +}% + + + +% ISO Newspaper (IFRA 26%) – no +\gdef\IFRAXXVI{\setEXTERNALprofile{ISOnewspaper26v4}% /ProfileName + {Printing process definition: ISO/DIS 12647-3:2004, Coldset offset printing, contact exposed negative acting plates or computer to plate \(tone value increase of 26\%\), newsprint, screen ruling 40 lines per cm.}% /OutputCondition + {IFRA26}% /OutputConditionIdentifier /OutputCondition (dIDS_OUTPUTCOND_IFRA26_long) + {http://www.color.org}% /RegistryName + {CMYK}% /ProfileCS + {02400000}% /ICCVersion < ... > + {http://www.ifra.com}% URL + {ISOnewspaper26v4}% /Info + {BCA21A6AFA3A4B5CEF9CA8E91565C1B7}% /CheckSum < ... > +}% + + +% ISO Newspaper (IFRA 30%) – no +\gdef\IFRAXXX{\setEXTERNALprofile{ISOnewspaper30v4}% /ProfileName + {Printing process definition: ISO/DIS 12647-3:2004, Coldset offset printing, contact exposed negative acting plates or computer to plate \(tone value increase of 30\%\), newsprint, screen ruling 40 lines per cm. \(Principally applicable to the USA\).}% /OutputCondition + {IFRA30}% /OutputConditionIdentifier /OutputCondition (dIDS_OUTPUTCOND_IFRA30_long) + {http://www.color.org}% /RegistryName + {CMYK}% /ProfileCS + {02400000}% /ICCVersion < ... > + {http://www.ifra.com}% URL + {ISOnewspaper30v4}% /Info + {EE473D92AE08B385A0128F87B0D9EFC0}% /CheckSum < ... > +}% +%/OutputIntents[<</DestOutputProfileRef<</CheckSum<EE473D92AE08B385A0128F87B0D9EFC0>/ICCVersion<02400000>/ProfileCS(CMYK)/ProfileName(ISOnewspaper30v4)/URLs[<</F(http://www.ifra.com)/FS/URL>>]>>/Info(ISOnewspaper30v4)/OutputCondition(Printing process definition: ISO/DIS 12647-3:2004, Coldset offset printing, contact exposed negative acting plates or computer to plate \(tone value increase of 30%\), newsprint, screen ruling 40 lines per cm. \(Principally applicable to the USA\).)/OutputConditionIdentifier(IFRA30)/RegistryName(http://www.color.org)/S/GTS_PDFX/Type/OutputIntent>>] does not validate + + + + + +% Others available through "Custom" +% Adobe RGB (1998) +% Grayscale: Dot Gain 15% + + + +% JapanColor2003 +% Uses the Japan Color 2003 specification for type 3 (coated) paper. It is designed to produce quality separations using: 350% total ink coverage, positive film and coated paper on heat-set web offset presses. +% Japan Color 2003 Web Coated + +% EuroscaleCoated +% Uses specifications designed to produce quality separations using Euroscale inks under the following printing conditions: 350% total area of ink coverage, positive plate, bright white coated stock. +% Euroscale Coated v2 + +% EuroscaleUnCoated +% Uses specifications designed to produce quality separations using Euroscale inks under the following printing conditions: 260% total area of ink coverage, positive plate, uncoated white offset stock. +% Euroscale Uncoated v2 + +% U.S. Sheetfed Coated v2 +% USSheetfedCoated.icc + +% U.S. Sheetfed Uncoated v2 +% USSheetfedUncoated.icc + +% US Web UnCoated v2 + +% Generic CMYK Profile + + + + +\endinput + + + +/Library/Application Support/Adobe/Color +/Library/Application Support/Adobe/Color/Profiles +/Library/Application Support/Adobe/Color/Profiles/BlackWhite.icc +/Library/Application Support/Adobe/Color/Profiles/CIERGB.icc +/Library/Application Support/Adobe/Color/Profiles/EuroscaleCoated.icc +/Library/Application Support/Adobe/Color/Profiles/EuroscaleUncoated.icc +/Library/Application Support/Adobe/Color/Profiles/PAL_SECAM.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended +/Library/Application Support/Adobe/Color/Profiles/Recommended/AdobeRGB1998.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/AppleRGB.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/CoatedFOGRA27.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/CoatedFOGRA39.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/CoatedGRACoL2006.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/ColorMatchRGB.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/JapanColor2001Coated.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/JapanColor2001Uncoated.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/JapanColor2002Newspaper.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/JapanColor2003WebCoated.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/JapanWebCoated.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/ProPhoto.icm +/Library/Application Support/Adobe/Color/Profiles/Recommended/USNewsprintSNAP2007.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/USSheetfedCoated.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/USSheetfedUncoated.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/USWebCoatedSWOP.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/USWebUncoated.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/UncoatedFOGRA29.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/WebCoatedFOGRA28.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/WebCoatedSWOP2006Grade3.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/WebCoatedSWOP2006Grade5.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/sRGB Color Space Profile.icm +/Library/Application Support/Adobe/Color/Profiles/SMPTE-C.icc +/Library/Application Support/Adobe/Color/Profiles/WideGamutRGB.icc +/Library/Application Support/Adobe/Color/Settings +/Library/Application Support/Adobe/Color/Settings/Europe General Purpose 3.csf +/Library/Application Support/Adobe/Color/Settings/Europe Prepress 3.csf +/Library/Application Support/Adobe/Color/Settings/Europe Web Internet 2.csf +/Library/Application Support/Adobe/Color/Settings/Japan General Purpose.csf +/Library/Application Support/Adobe/Color/Settings/Japan Magazine.csf +/Library/Application Support/Adobe/Color/Settings/Japan Newspaper.csf +/Library/Application Support/Adobe/Color/Settings/Japan Prepress.csf +/Library/Application Support/Adobe/Color/Settings/Japan Web Internet.csf +/Library/Application Support/Adobe/Color/Settings/Monitor Color.csf +/Library/Application Support/Adobe/Color/Settings/North America General Purpose.csf +/Library/Application Support/Adobe/Color/Settings/North America Newspaper.csf +/Library/Application Support/Adobe/Color/Settings/North America Prepress.csf +/Library/Application Support/Adobe/Color/Settings/North America Web Internet.csf + + + diff --git a/Master/texmf-dist/doc/latex/pdfx/AdobeExternalProfiles.tex b/Master/texmf-dist/doc/latex/pdfx/AdobeExternalProfiles.tex new file mode 100644 index 00000000000..cc4397d2074 --- /dev/null +++ b/Master/texmf-dist/doc/latex/pdfx/AdobeExternalProfiles.tex @@ -0,0 +1,345 @@ +% This file gives macros to specify CMYK Color Profiles as supported by Adobe's Acrobat Pro DC software. +% Identifying names, comments and descriptions are taken from AC/DC's "Color Setup" Preferences panel. + + +% FOGRA39 +% "Europe General Purpose 3" +% General-purpose color settings for screen and print in Europe. Profile warnings are disabled. +% Uses the FOGRA39 press characterization. It is designed to produce quality separations for standard ISO printing using: 350% total ink coverage, positive film, and coated paper. +\gdef\FOGRAXXXIX{\setEXTERNALprofile{Coated FOGRA39 \(ISO 12647-2:2004\)}% /ProfileName + {Offset commercial and specialty printing according to ISO 12647-2:2004 / Amd 1, paper type 1 or 2 \(gloss or matte coated offset, 115 g/m2\), screen frequency 60/cm.}% /OutputCondition + {FOGRA39}% /OutputConditionIdentifier /OutputCondition (dIDS_OUTPUTCOND_FOGRA39L_long) + {http://www.color.org}% /RegistryName + {CMYK}% /ProfileCS + {02100000}% /ICCVersion < ... > + {http://www.adobe.com}% URL + {Coated FOGRA39 \(ISO 12647-2:2004\)}% /Info + {74FF62F330BF0DBE4495B5720542D511}% /CheckSum < ... > +}% +% sRGB IEC61966-2.1 +% Grayscale: Dot Gain 15% +% /OutputIntents[<</DestOutputProfileRef<</CheckSum<74FF62F330BF0DBE4495B5720542D511>/ICCVersion<02100000>/ProfileCS(CMYK)/ProfileName(Coated FOGRA39 \(ISO 12647-2:2004\))/URLs[<</F(http://www.adobe.com)/FS/URL>>]>>/Info(Coated FOGRA39 \(ISO 12647-2:2004\))/OutputCondition(Offset commercial and specialty printing according to ISO 12647-2:2004 / Amd 1, paper type 1 or 2 \(gloss or matte coated offset, 115 g/m2\), screen frequency 60/cm.)/OutputConditionIdentifier(FOGRA39)/RegistryName(http://www.color.org)/S/GTS_PDFX/Type/OutputIntent>>] +% also "Europe Prepress 3" +% Preparation of content for common printing conditions in Europe. CMYK values are preserved. Profile warnings are enabled. +% Adobe RGB (1998) +% also "Europe Web/Internet 2" +% Preparation of content for non-print usage like the World Wide Web (WWW) in Europe. RGB content is converted to sRGB. +% sRGB IEC61966-2.1 +% Grayscale: Gray Gamma 2.2 + + +% Coated GRACoL — no +% Coated GRACoL 2006 \(ISO 12647-2:2004\) +\gdef\CoatedGRACoL{\setEXTERNALprofile{GRACoL2006_Coated1v2.icc}% /ProfileName +%{Coated GRACoL 2006 \(ISO 12647-2:2004\)}% + {Printing process definition according to ISO 12647-2:2004: Sheetfed Offset Commercial CTP plates ISO 2846-1 Inks - Variable screen frequency / G7 Methodology / grade#1 paper}% /OutputCondition + {CGATS TR 006}% /OutputConditionIdentifier /OutputCondition (dIDS_OUTPUTCOND_CGATSTR006_long) + {http://www.color.org}% /RegistryName + {CMYK}% /ProfileCS + {02000000}% /ICCVersion < ... > + {http://www.gracol.org}% URL + {Coated GRACoL 2006 \(ISO 12647-2:2004\) alpha 1}% /Info + {CC7A6196271B13DBAE4622AA1FA0FCA9}% /CheckSum < ... > +}% +%/OutputIntents[<</DestOutputProfileRef<</CheckSum<CC7A6196271B13DBAE4622AA1FA0FCA9>/ICCVersion<02000000>/ProfileCS(CMYK)/ProfileName(GRACoL2006_Coated1v2.icc)/URLs[<</F(http://www.gracol.org)/FS/URL>>]>>/Info(Coated GRACoL 2006 \(ISO 12647-2:2004\) alpha 1)/OutputCondition(Printing process definition according to ISO 12647-2:2004: Sheetfed Offset Commercial CTP plates ISO 2846-1 Inks - Variable screen frequency / G7 Methodology / grade#1 paper)/OutputConditionIdentifier(CGATS TR 006)/RegistryName(http://www.color.org)/S/GTS_PDFX/Type/OutputIntent>>] does not validate + + +% ISO Web Coated +% Uses the FOGRA28 press characterization. It is designed to produce quality separations for standard ISO printing using: 350% total ink coverage, positive film, and coated paper. +% Web Coated FOGRA28 \(ISO 12647-2:2004\) +\gdef\ISOWebCoated{\setEXTERNALprofile{ISO Web Coated}% /ProfileName +%{Web Coated FOGRA28 \(ISO 12647-2:2004\)}% + {Offset printing according to ISO/DIS 12647-2:2003, OFCOM, paper type 3 = low weight coated web offset, 60 g/m2, screen ruling 60 cm-1, positive-acting plates.}% /OutputCondition + {FOGRA28}% /OutputConditionIdentifier /OutputCondition (dIDS_OUTPUTCOND_FOGRA28L_long) + {http://www.color.org}% /RegistryName + {CMYK}% /ProfileCS + {02400000}% /ICCVersion < ... > + {http://www.adobe.com}%{http://www.eci.org}% URL + %{Web Coated FOGRA28 \(ISO 12647-2:2004\)}% + {ISO Web Coated}% /Info + {0051E65BF3F29BFBB75720217A9C7A5D}% /CheckSum < ... > +}% +%/OutputIntents[<</DestOutputProfileRef<</CheckSum<0051E65BF3F29BFBB75720217A9C7A5D>/ICCVersion<02400000>/ProfileCS(CMYK)/ProfileName(ISO Web Coated)/URLs[<</F(http://www.eci.org)/FS/URL>>]>>/Info(ISO Web Coated)/OutputCondition(Offset printing according to ISO/DIS 12647-2:2003, OFCOM, paper type 3 = low weight coated web offset, 60 g/m2, screen ruling 60 cm-1, positive-acting plates.)/OutputConditionIdentifier(FOGRA28)/RegistryName(http://www.color.org)/S/GTS_PDFX/Type/OutputIntent>>] does not validate + + +% Japan Color 2001 Coated +% "Japan General Purpose 2" +% General-purpose color settings for screen and print in Japan. Profile warnings are disabled. +% Uses the Japan Color 2001 specification for type 3 (coated) paper. It is designed to produce quality separations using: 350% total ink coverage, positive film and coated paper. +\gdef\JapanColorMMICoated{\setEXTERNALprofile{Japan Color 2001 Coated}% /ProfileName + {Japan Color 2001 Coated: Printing process definition: ISO 12647-2:2004, sheet-fed offset printing, positive plates, paper type 3 \(coated, 105 gsm\), screen frequency 69/cm.}% /OutputCondition + {JC200103}% /OutputConditionIdentifier /OutputCondition(dIDS_OUTPUTCOND_JC200103_long) + {http://www.color.org}% /RegistryName + {CMYK}% /ProfileCS + {02100000}% /ICCVersion < ... > + {http://www.adobe.com}% URL + {Japan Color 2001 Coated}% /Info + {4CB167869183B59BBAD20FB90CCF3E0C}% /CheckSum < ... > +}% +% sRGB IEC61966-2.1 +% Grayscale: Dot Gain 15% +%/OutputIntents[<</DestOutputProfileRef<</CheckSum<4CB167869183B59BBAD20FB90CCF3E0C>/ICCVersion<02100000>/ProfileCS(CMYK)/ProfileName(Japan Color 2001 Coated)/URLs[<</F(http://www.adobe.com)/FS/URL>>]>>/Info(Japan Color 2001 Coated)/OutputCondition(Japan Color 2001 Coated: Printing process definition: ISO 12647-2:2004, sheet-fed offset printing, positive plates, paper type 3 \(coated, 105 gsm\), screen frequency 69/cm.)/OutputConditionIdentifier(JC200103)/RegistryName(http://www.color.org)/S/GTS_PDFX/Type/OutputIntent>>] +% also "Japan prepress 2" +% Preparation of content for common printing conditions in Japan. CMYK values are preserved. Profile warnings are enabled. +% Adobe RGB (1998) +% Grayscale: Dot Gain 15% +% also "Japan Web/Internet" +% Preparation of content for non-print usage like the World Wide Web (WWW) in Japan. RGB content is converted to sRGB. +% sRGB IEC61966-2.1 +% Grayscale: Gray Gamma 2.2 + + +% Japan Color 2001 Uncoated +% Uses the Japan Color 2001 specification for type 4 (uncoated) paper. It is designed to produce quality separations using: 310% total ink coverage, positive film and uncoated paper. +\gdef\JapanColorMMIUncoated{\setEXTERNALprofile{Japan Color 2001 Uncoated}% /ProfileName + {Japan Color 2001 Uncoated: Printing process definition: ISO 12647-2:2004, sheet-fed offset printing, positive plates, paper type 4 \(uncoated, 105 gsm\), screen frequency 69/cm.}% /OutputCondition + {JCN200104}% /OutputConditionIdentifier /OutputCondition(dIDS_OUTPUTCOND_JC200104_long) + {http://www.color.org}% /RegistryName + {CMYK}% /ProfileCS + {02100000}% /ICCVersion < ... > + {http://www.adobe.com}% URL + {Japan Color 2001 Uncoated}% /Info + {B4E3FBD4C04CC702A93EB806D974DBF2}% /CheckSum < ... > +}% +%/OutputIntents[<</DestOutputProfileRef<</CheckSum<B4E3FBD4C04CC702A93EB806D974DBF2>/ICCVersion<02100000>/ProfileCS(CMYK)/ProfileName(Japan Color 2001 Uncoated)/URLs[<</F(http://www.adobe.com)/FS/URL>>]>>/Info(Japan Color 2001 Uncoated)/OutputCondition(Japan Color 2001 Uncoated: Printing process definition: ISO 12647-2:2004, sheet-fed offset printing, positive plates, paper type 4 \(uncoated, 105 gsm\), screen frequency 69/cm.)/OutputConditionIdentifier(JC200104)/RegistryName(http://www.color.org)/S/GTS_PDFX/Type/OutputIntent>>] + + +% Japan Color 2002 Newspaper +% "Japan Color for Newspaper" +% Preparation of content for common newspaper press conditions in Japan. CMYK values are preserved. Profile warnings are enabled. +% Uses the Japan Color 2002 for Newspapers specification. It is designed to produce quality separations using: 240% total ink coverage, positive film and standard newsprint paper. +\gdef\JapanColorMMIINewspaper{\setEXTERNALprofile{Japan Color 2002 Newspaper}% /ProfileName + {Japan Color 2002 for Newspaper Printing: Printing process definition: ISO/DIS 12647-3:2004, coldset offset printing, negative plates, newsprint, screen frequency 39/cm.}% /OutputCondition + {JCN2002}% /OutputConditionIdentifier /OutputCondition (dIDS_OUTPUTCOND_JCN2002_long) + {http://www.color.org}% /RegistryName + {CMYK}% /ProfileCS + {02100000}% /ICCVersion < ... > + {http://www.adobe.com}% URL + {Japan Color 2002 Newspaper}% /Info + {FA5BE8D5B4EB756BF1399AFC2CDA7D1C}% /CheckSum < ... > +}% +% Adobe RGB (1998) +% Grayscale: Dot Gain 25% +%OutputIntents[<</DestOutputProfileRef<</CheckSum<FA5BE8D5B4EB756BF1399AFC2CDA7D1C>/ICCVersion<02100000>/ProfileCS(CMYK)/ProfileName(Japan Color 2002 Newspaper)/URLs[<</F(http://www.adobe.com)/FS/URL>>]>>/Info(Japan Color 2002 Newspaper)/OutputCondition(Japan Color 2002 for Newspaper Printing: Printing process definition: ISO/DIS 12647-3:2004, coldset offset printing, negative plates, newsprint, screen frequency 39/cm.)/OutputConditionIdentifier(JCN2002)/RegistryName(http://www.color.org)/S/GTS_PDFX/Type/OutputIntent>>] + + +% Japan Web Coated (Ad) +% "Japan Magazine Advertisement Color" +% Preparation of content using the Japan Magazine Publisher Association color standard for the Japan magazine and advertising market. CMYK values are preserved. Profile warnings are enabled. +% Uses specifications developed by the Japan Magazine Publisher Association for digital proofing of images in the Japanese magazine/advertising market. +\gdef\JapanWebCoatedAd{\setEXTERNALprofile{Japan Web Coated \(Ad\)}% /ProfileName + {Japan Color 2003 for Web Offset: Printing process definition: ISO 12647-2:2004, heat-set web offset printing, positive plates, paper type 3 \(coated, 70 gsm\), screen frequency 69/cm.}% /OutputCondition + {JCW2003}% /OutputConditionIdentifier /OutputCondition (dIDS_OUTPUTCOND_JCW2003_long) + {http://www.color.org}% /RegistryName + {CMYK}% /ProfileCS + {02100000}% /ICCVersion < ... > + {http://www.adobe.com}% URL + {Japan Web Coated \(Ad\)}% /Info + {F8607E551233CEFDDA26D7D6BAAA2A4F}% /CheckSum < ... > +}% +% Adobe RGB (1998) +% Grayscale: Dot Gain 15% +%/OutputIntents[<</DestOutputProfileRef<</CheckSum<F8607E551233CEFDDA26D7D6BAAA2A4F>/ICCVersion<02100000>/ProfileCS(CMYK)/ProfileName(Japan Web Coated \(Ad\))/URLs[<</F(http://www.adobe.com)/FS/URL>>]>>/Info(Japan Web Coated \(Ad\))/OutputCondition(Japan Color 2003 for Web Offset: Printing process definition: ISO 12647-2:2004, heat-set web offset printing, positive plates, paper type 3 \(coated, 70 gsm\), screen frequency 69/cm.)/OutputConditionIdentifier(JCW2003)/RegistryName(http://www.color.org)/S/GTS_PDFX/Type/OutputIntent>>] + + +% ISO Newspaper (IFRA 26%) – no +\gdef\IFRAXXVI{\setEXTERNALprofile{ISOnewspaper26v4}% /ProfileName + {Printing process definition: ISO/DIS 12647-3:2004, Coldset offset printing, contact exposed negative acting plates or computer to plate \(tone value increase of 26\%\), newsprint, screen ruling 40 lines per cm.}% /OutputCondition + {IFRA26}% /OutputConditionIdentifier /OutputCondition (dIDS_OUTPUTCOND_IFRA26_long) + {http://www.color.org}% /RegistryName + {CMYK}% /ProfileCS + {02400000}% /ICCVersion < ... > + {http://www.ifra.com}% URL + {ISOnewspaper26v4}% /Info + {BCA21A6AFA3A4B5CEF9CA8E91565C1B7}% /CheckSum < ... > +}% +%/OutputIntents[<</DestOutputProfileRef<</CheckSum<BCA21A6AFA3A4B5CEF9CA8E91565C1B7>/ICCVersion<02400000>/ProfileCS(CMYK)/ProfileName(ISOnewspaper26v4)/URLs[<</F(http://www.ifra.com)/FS/URL>>]>>/Info(ISOnewspaper26v4)/OutputCondition(Printing process definition: ISO/DIS 12647-3:2004, Coldset offset printing, contact exposed negative acting plates or computer to plate \(tone value increase of 26%\), newsprint, screen ruling 40 lines per cm.)/OutputConditionIdentifier(IFRA26)/RegistryName(http://www.color.org)/S/GTS_PDFX/Type/OutputIntent>>] does not validate + + +% ISO Newspaper (IFRA 30%) – no +\gdef\IFRAXXX{\setEXTERNALprofile{ISOnewspaper30v4}% /ProfileName + {Printing process definition: ISO/DIS 12647-3:2004, Coldset offset printing, contact exposed negative acting plates or computer to plate \(tone value increase of 30\%\), newsprint, screen ruling 40 lines per cm. \(Principally applicable to the USA\).}% /OutputCondition + {IFRA30}% /OutputConditionIdentifier /OutputCondition (dIDS_OUTPUTCOND_IFRA30_long) + {http://www.color.org}% /RegistryName + {CMYK}% /ProfileCS + {02400000}% /ICCVersion < ... > + {http://www.ifra.com}% URL + {ISOnewspaper30v4}% /Info + {EE473D92AE08B385A0128F87B0D9EFC0}% /CheckSum < ... > +}% +%/OutputIntents[<</DestOutputProfileRef<</CheckSum<EE473D92AE08B385A0128F87B0D9EFC0>/ICCVersion<02400000>/ProfileCS(CMYK)/ProfileName(ISOnewspaper30v4)/URLs[<</F(http://www.ifra.com)/FS/URL>>]>>/Info(ISOnewspaper30v4)/OutputCondition(Printing process definition: ISO/DIS 12647-3:2004, Coldset offset printing, contact exposed negative acting plates or computer to plate \(tone value increase of 30%\), newsprint, screen ruling 40 lines per cm. \(Principally applicable to the USA\).)/OutputConditionIdentifier(IFRA30)/RegistryName(http://www.color.org)/S/GTS_PDFX/Type/OutputIntent>>] does not validate + + +% U.S. Web Coated (SWOP) v2 +% "North America General Purpose 2" +% General-purpose color settings for screen and print in North America. Profile warnings are disabled. +\gdef\SWOPCGATSI{\setEXTERNALprofile{U.S. Web Coated \(SWOP\) v2}% /ProfileName + {SWOP \(Publication\) printing in USA \(Printing process definition: ANSI CGATS.6\).}% /OutputCondition + {CGATS TR 001}% /OutputConditionIdentifier /OutputCondition(dIDS_OUTPUTCOND_CGATSTR001_long) + {http://www.color.org}% /RegistryName + {CMYK}% /ProfileCS + {02100000}% /ICCVersion < ... > + {http://www.adobe.com}% URL + {U.S. Web Coated \(SWOP\) v2}% /Info + {79D7E984EA3AC74EED7CC92BF6B22A0D}% /CheckSum < ... > +}% +% sRGB IEC61966-2.1 +% Grayscale: Dot Gain 20% +%/OutputIntents[<</DestOutputProfileRef<</CheckSum<79D7E984EA3AC74EED7CC92BF6B22A0D>/ICCVersion<02100000>/ProfileCS(CMYK)/ProfileName(U.S. Web Coated \(SWOP\) v2)/URLs[<</F(http://www.adobe.com)/FS/URL>>]>>/Info(U.S. Web Coated \(SWOP\) v2)/OutputCondition(SWOP \(Publication\) printing in USA \(Printing process definition: ANSI CGATS.6\).)/OutputConditionIdentifier(CGATS TR 001)/RegistryName(http://www.color.org)/S/GTS_PDFX/Type/OutputIntent>>] +% also "North America Prepress 2" +% Preparation of content for common printing conditions in North America. CMYK values are preserved. Profile warnings are enabled. +% Adobe RGB (1998) +% Grayscale: Dot Gain 20% +% also "North America Web/Internet" +% Preparation of content for non-print usage like the World Wide Web (WWW) in North America. RGB content is converted to sRGB. +% sRGB IEC61966-2.1 +% Grayscale: Gray Gamma 2.2 +% also "Monitor Color" +% Preparation of content for video and on-screen presentation. Emulates color behavior of most video applications. This setting is not recommended for documents with CMYK data. +% Monitor RGB - Display +% Grayscale: Gray Gamma 2.2 + + +% U.S. Web Coated (SWOP) 3v2 – no +\gdef\SWOPCGATSIII{\setEXTERNALprofile{SWOP2006_Coated3v2.icc}% /ProfileName + {Web Offset CTP plates ISO 2846-1 Inks - Variable screen frequency / G7 Methodology / Grade #3 paper}% /OutputCondition + {CGATS TR 003}% /OutputConditionIdentifier /OutputCondition (dIDS_OUTPUTCOND_CGATSTR003_long) + {http://www.color.org}% /RegistryName + {CMYK}% /ProfileCS + {02000000}% /ICCVersion < ... > + {http://www.swop.org}% URL + {Web Coated SWOP 2006 Grade 3 Paper alpha 1}% /Info + {7FBAD4C0AE1CB7195C34BFC20E623437}% /CheckSum < ... > +}% +%/OutputIntents[<</DestOutputProfileRef<</CheckSum<7FBAD4C0AE1CB7195C34BFC20E623437>/ICCVersion<02000000>/ProfileCS(CMYK)/ProfileName(SWOP2006_Coated3v2.icc)/URLs[<</F(http://www.swop.org)/FS/URL>>]>>/Info(Web Coated SWOP 2006 Grade 3 Paper alpha 1)/OutputCondition(Web Offset CTP plates ISO 2846-1 Inks - Variable screen frequency / G7 Methodology / Grade #3 paper)/OutputConditionIdentifier(CGATS TR 003)/RegistryName(http://www.color.org)/S/GTS_PDFX/Type/OutputIntent>>] does not validate + + +% U.S. Web Coated (SWOP) 5v2 – no +\gdef\SWOPCGATSV{\setEXTERNALprofile{SWOP2006_Coated5v2.icc}% /ProfileName + {Web Offset CTP plates ISO 2846-1 Inks - Variable screen frequency / G7 Methodology / grade #5 Paper}% /OutputCondition + {CGATS TR 005}% /OutputConditionIdentifier /OutputCondition (dIDS_OUTPUTCOND_CGATSTR005_long) + {http://www.color.org}% /RegistryName + {CMYK}% /ProfileCS + {02000000}% /ICCVersion < ... > + {http://www.swop.org}% URL + {Web Coated SWOP 2006 Grade 5 Paper alpha 1}% /Info + {34F7C3C809B926B173EE54E13D655BEE}% /CheckSum < ... > +}% +%/OutputIntents[<</DestOutputProfileRef<</CheckSum<34F7C3C809B926B173EE54E13D655BEE>/ICCVersion<02000000>/ProfileCS(CMYK)/ProfileName(SWOP2006_Coated5v2.icc)/URLs[<</F(http://www.swop.org)/FS/URL>>]>>/Info(Web Coated SWOP 2006 Grade 5 Paper alpha 1)/OutputCondition(Web Offset CTP plates ISO 2846-1 Inks - Variable screen frequency / G7 Methodology / grade #5 Paper)/OutputConditionIdentifier(CGATS TR 005)/RegistryName(http://www.color.org)/S/GTS_PDFX/Type/OutputIntent>>] does not validate + + + +% ISO Coated v2 (ECI) – no +\gdef\ISOCoatedECI{\setEXTERNALprofile{ISO Coated v2 \(ECI\)}% /ProfileName + {Offset commercial and specialty printing according to ISO 12647-2:2004 / Amd 1, paper type 1 or 2 \(gloss or matte coated offset, 115 g/m2\), screen frequency 60/cm.}% /OutputCondition + {FOGRA39}% /OutputConditionIdentifier + {http://www.color.org}% /RegistryName + {CMYK}% /ProfileCS + {02400000}% /ICCVersion < ... > + {http://www.eci.org}% URL + {ISO Coated v2 \(ECI\)}% /Info + {BDA07EFCACF5377E91EDACB0454EA7E5}% /CheckSum < ... > +}% +%/OutputIntents[<</DestOutputProfileRef<</CheckSum<BDA07EFCACF5377E91EDACB0454EA7E5>/ICCVersion<02400000>/ProfileCS(CMYK)/ProfileName(ISO Coated v2 \(ECI\))/URLs[<</F(http://www.eci.org)/FS/URL>>]>>/Info(ISO Coated v2 \(ECI\))/OutputCondition(Offset commercial and specialty printing according to ISO 12647-2:2004 / Amd 1, paper type 1 or 2 \(gloss or matte coated offset, 115 g/m2\), screen frequency 60/cm.)/OutputConditionIdentifier(FOGRA39)/RegistryName(http://www.color.org)/S/GTS_PDFX/Type/OutputIntent>>] does not validate + + +% US Newsprint (SNAP 2007) +% "North America Newspaper" +% Preparation of content for common newspaper press conditions in Japan. CMYK values are preserved. Profile warnings are enabled. +% Adobe RGB (1998) +% Grayscale: Dot Gain 25% + + + +% Others available through "Custom" +% Adobe RGB (1998) +% Grayscale: Dot Gain 15% + +% FOGRA27 +% Coated FOGRA27 \(ISO 12647-2:2004\) +%Uses the FOGRA27 press characterization. It is designed to produce quality separations for standard ISO printing using: 350% total ink coverage, positive film and coated paper. + +% FOGRA28 +% Uses the FOGRA28 press characterization. It is designed to produce quality separations for standard ISO printing using: 350% total ink coverage, positive film, and coated paper. +% Web Coated FOGRA28 \(ISO 12647-2:2004\) + +% FOGRA29 +% Uses the FOGRA29 press characterization. It is designed to produce quality separations for standard ISO printing using: 350% total ink coverage, positive film, and coated paper. +% Uncoated FOGRA29 \(ISO 12647-2:2004\) + +% JapanColor2003 +% Uses the Japan Color 2003 specification for type 3 (coated) paper. It is designed to produce quality separations using: 350% total ink coverage, positive film and coated paper on heat-set web offset presses. +% Japan Color 2003 Web Coated + +% EuroscaleCoated +% Uses specifications designed to produce quality separations using Euroscale inks under the following printing conditions: 350% total area of ink coverage, positive plate, bright white coated stock. +% Euroscale Coated v2 + +% EuroscaleUnCoated +% Uses specifications designed to produce quality separations using Euroscale inks under the following printing conditions: 260% total area of ink coverage, positive plate, uncoated white offset stock. +% Euroscale Uncoated v2 + +% US Sheetfed Coated v2 + +% US Sheetfed UnCoated v2 + +% US Web UnCoated v2 + +% Generic CMYK Profile + + + + +\endinput + + + +/Library/Application Support/Adobe/Color +/Library/Application Support/Adobe/Color/Profiles +/Library/Application Support/Adobe/Color/Profiles/BlackWhite.icc +/Library/Application Support/Adobe/Color/Profiles/CIERGB.icc +/Library/Application Support/Adobe/Color/Profiles/EuroscaleCoated.icc +/Library/Application Support/Adobe/Color/Profiles/EuroscaleUncoated.icc +/Library/Application Support/Adobe/Color/Profiles/PAL_SECAM.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended +/Library/Application Support/Adobe/Color/Profiles/Recommended/AdobeRGB1998.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/AppleRGB.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/CoatedFOGRA27.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/CoatedFOGRA39.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/CoatedGRACoL2006.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/ColorMatchRGB.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/JapanColor2001Coated.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/JapanColor2001Uncoated.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/JapanColor2002Newspaper.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/JapanColor2003WebCoated.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/JapanWebCoated.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/ProPhoto.icm +/Library/Application Support/Adobe/Color/Profiles/Recommended/USNewsprintSNAP2007.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/USSheetfedCoated.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/USSheetfedUncoated.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/USWebCoatedSWOP.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/USWebUncoated.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/UncoatedFOGRA29.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/WebCoatedFOGRA28.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/WebCoatedSWOP2006Grade3.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/WebCoatedSWOP2006Grade5.icc +/Library/Application Support/Adobe/Color/Profiles/Recommended/sRGB Color Space Profile.icm +/Library/Application Support/Adobe/Color/Profiles/SMPTE-C.icc +/Library/Application Support/Adobe/Color/Profiles/WideGamutRGB.icc +/Library/Application Support/Adobe/Color/Settings +/Library/Application Support/Adobe/Color/Settings/Europe General Purpose 3.csf +/Library/Application Support/Adobe/Color/Settings/Europe Prepress 3.csf +/Library/Application Support/Adobe/Color/Settings/Europe Web Internet 2.csf +/Library/Application Support/Adobe/Color/Settings/Japan General Purpose.csf +/Library/Application Support/Adobe/Color/Settings/Japan Magazine.csf +/Library/Application Support/Adobe/Color/Settings/Japan Newspaper.csf +/Library/Application Support/Adobe/Color/Settings/Japan Prepress.csf +/Library/Application Support/Adobe/Color/Settings/Japan Web Internet.csf +/Library/Application Support/Adobe/Color/Settings/Monitor Color.csf +/Library/Application Support/Adobe/Color/Settings/North America General Purpose.csf +/Library/Application Support/Adobe/Color/Settings/North America Newspaper.csf +/Library/Application Support/Adobe/Color/Settings/North America Prepress.csf +/Library/Application Support/Adobe/Color/Settings/North America Web Internet.csf + + + diff --git a/Master/texmf-dist/tex/latex/pdfx/ICC_LICENSE.txt b/Master/texmf-dist/doc/latex/pdfx/ICC_LICENSE.txt index a4591d973b8..a4591d973b8 100644 --- a/Master/texmf-dist/tex/latex/pdfx/ICC_LICENSE.txt +++ b/Master/texmf-dist/doc/latex/pdfx/ICC_LICENSE.txt diff --git a/Master/texmf-dist/source/latex/pdfx/Makefile b/Master/texmf-dist/doc/latex/pdfx/Makefile.src index ea0f75ec00a..80d102c327e 100644 --- a/Master/texmf-dist/source/latex/pdfx/Makefile +++ b/Master/texmf-dist/doc/latex/pdfx/Makefile.src @@ -13,8 +13,8 @@ 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 ; + if [ -f $(file).links ] ; then cp $(file).links tmp.links; fi ; +# sed 's/BOOKMARK/fxmark/g;' tmp.out > x.out; mv x.out tmp.out ; pdf: pdflatex $(file).dtx @@ -26,7 +26,7 @@ changes: makeindex -s gglo.ist -o $(file).gls $(file).glo xview: - xpdf -z 200 $(file).pdf &>/dev/null + mupdf -r 100 $(file).pdf &>/dev/null view: acroread $(file).pdf diff --git a/Master/texmf-dist/source/latex/pdfx/manifest.txt b/Master/texmf-dist/doc/latex/pdfx/manifest.txt index e18735a1928..300b9ffee89 100644 --- a/Master/texmf-dist/source/latex/pdfx/manifest.txt +++ b/Master/texmf-dist/doc/latex/pdfx/manifest.txt @@ -1,7 +1,7 @@ % \iffalse meta-comment % -% Copyright 2008 CV Radhakrishnan and Han The Thanh -% Copyright 2015 Ross Moore and Peter Selinger +% Copyright 2008-2016 CV Radhakrishnan and Han The Thanh +% Copyright 2015-2016 Ross Moore and Peter Selinger % % This file is part of the 'pdfx' package. % ---------------------------------------- @@ -86,6 +86,9 @@ Makefile pdfx.dtx main package with driver +pdfx.xmpdata + metadata for documentation as PDF/A-u2 + pdfx.ins main installer batch file diff --git a/Master/texmf-dist/doc/latex/pdfx/pdfx.pdf b/Master/texmf-dist/doc/latex/pdfx/pdfx.pdf Binary files differindex 40d5d8e36f3..4534e66680f 100644 --- a/Master/texmf-dist/doc/latex/pdfx/pdfx.pdf +++ b/Master/texmf-dist/doc/latex/pdfx/pdfx.pdf diff --git a/Master/texmf-dist/doc/latex/pdfx/pdfx.xmpdata b/Master/texmf-dist/doc/latex/pdfx/pdfx.xmpdata new file mode 100644 index 00000000000..9608e66992f --- /dev/null +++ b/Master/texmf-dist/doc/latex/pdfx/pdfx.xmpdata @@ -0,0 +1,18 @@ +% Metadata specification for pdfx-doc-new.tex +% RRM – 2 Feb 2016 +\Title{Generation of PDF/X- and PDF/A-compliant PDFs with PDFTeX — pdfx.sty} +\Author{\CVR\sep \thanh\sep Ross Moore\sep Peter Selinger} +\Keywords{PDF/A\sep PDF/X\sep PDF/UA\sep PDF/E\sep PDF/VT\sep standards compliant PDFs\sep pdfx.sty\sep LaTeX} +\Subject{The pdfx.sty LaTeX package currently supports generation of PDF/X- and PDF/A-compliant documents using pdfTeX, in some of their variants. Support for additional standards, such as PDF/E, PDF/VT is also available.} +\Publisher{TUG — The TeX Users Group} +\Copyright{\copyright 2015, 2016: \CVR, \thanh, Ross Moore, Peter Selinger; an earlier version was published in TUGboat, September 2015 by TeX Users Group} +\CopyrightURL{http://www.tug.org/TUGboat/tubperm.html} +\Journaltitle{TUGBoat, The Communications of the TeX Users Group} +\Journalnumber{ISSN 0896-3207} +\Volume{36} +\Issue{2} +\Firstpage{136} +\Lastpage{142} +\CoverDisplayDate{TUG 2015 Conference Proceedings} +\CoverDate{2015-09} +\pdfxEnableCommands{\def\CVR{C.V. Radhakrishnan}\def\thanh{H^^c3^^a0n Th\eee Thanh}\def\eee{^^c3^^aa^^cc^^81 }} diff --git a/Master/texmf-dist/doc/latex/pdfx/sample.pdf b/Master/texmf-dist/doc/latex/pdfx/sample.pdf Binary files differdeleted file mode 100644 index 2162b4d4e32..00000000000 --- a/Master/texmf-dist/doc/latex/pdfx/sample.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/pdfx/sample.tex b/Master/texmf-dist/doc/latex/pdfx/sample.tex index 0b07f4ed091..0302e11e4d5 100644 --- a/Master/texmf-dist/doc/latex/pdfx/sample.tex +++ b/Master/texmf-dist/doc/latex/pdfx/sample.tex @@ -1,6 +1,14 @@ \documentclass{article} -\usepackage[a-1b]{pdfx} +%\usepackage[a-1b,e-1,vt-1]{pdfx-16} +%\usepackage[utf8]{inputenc} +%\usepackage[l8u,OT1,T1]{fontenc} +\providecommand{\pdfxopt}{a-1b} +\usepackage[\pdfxopt]{pdfx} +%\usepackage[LY1]{fontenc} +%\usepackage[OT1,T1]{fontenc} \begin{document} -In this example, only the metadata matters. +\noindent +In this example, only the metadata matters; +apart from checking accents: {\`a \'e \"u} \end{document} diff --git a/Master/texmf-dist/doc/latex/pdfx/sample.xmpdata b/Master/texmf-dist/doc/latex/pdfx/sample.xmpdata index 5a93bc8b858..966f596f6c1 100644 --- a/Master/texmf-dist/doc/latex/pdfx/sample.xmpdata +++ b/Master/texmf-dist/doc/latex/pdfx/sample.xmpdata @@ -1,133 +1,16 @@ -% Replace the following information with your document's actual -% metadata. If you do not want to set a value for a certain parameter, -% just omit it. -% -% Symbols permitted in metadata -% ============================= -% -% Within the metadata, all printable ASCII characters except -% '\', '{', '}', and '%' represent themselves. Also, all printable -% Unicode characters from the basic multilingual plane (i.e., up to -% code point U+FFFF) can be used directly with the UTF-8 encoding. -% (Please note: encodings other than UTF-8 are not currently supported -% in the metadata). Consecutive whitespace characters are combined -% into a single space. Whitespace after a macro such as \copyright, -% \backslash, or \sep is ignored. Blank lines are not permitted. -% Moreover, the following markup can be used: -% -% '\ ' - a literal space (for example after a macro) -% \% - a literal '%' -% \{ - a literal '{' -% \} - a literal '}' -% \backslash - a literal '\' -% \copyright - the (c) copyright symbol -% -% The macro \sep is only permitted within \Author, \Keywords, and -% \Publisher. It is used to separate multiple authors, keywords, etc. -% -% List of supported metadata fields -% ================================= -% -% Here is a complete list of user-definable metadata fields currently -% supported, and their meanings. More may be added in the future. -% These commands can only be used in the .xmpdata file. -% -% General information: -% -% \Author - the document's human author. Separate multiple -% authors with \sep. -% \Title - the document's title. -% \Keywords - list of keywords, separated with \sep. -% \Subject - the abstract. -% \Publisher - the publisher. -% -% Copyright information: -% -% \Copyright - a copyright statement. -% \CopyrightURL - location of a web page describing the owner -% and/or rights statement for this document. -% \Copyrighted - 'True' if the document is copyrighted, and -% 'False' if it isn't. This is automatically set -% to 'True' if either \Copyright or \CopyrightURL -% is specified, but can be overridden. For -% example, if the copyright statement is "Public -% Domain", this should be set to 'False'. -% -% Publication information: -% -% \PublicationType - The type of publication. If defined, must be -% one of book, catalog, feed, journal, magazine, -% manual, newsletter, pamphlet. This is -% automatically set to "journal" if \Journaltitle -% is specified, but can be overridden. -% \Journaltitle - The title of the journal in which the document -% was published. -% \Journalnumber - The ISSN for the publication in which the -% document was published. -% \Volume - Journal volume. -% \Issue - Journal issue/number. -% \Firstpage - First page number of the published version of -% the document. -% \Lastpage - Last page number of the published version of -% the document. -% \Doi - Digital Object Identifier (DOI) for the -% document, without the leading "doi:". -% \CoverDisplayDate - Date on the cover of the journal issue, as a -% human-readable text string. -% \CoverDate - Date on the cover of the journal issue, in a -% format suitable for storing in a database field -% with a 'date' data type. -% -% Color profiles -% ============== -% -% PDF/A and PDF/E require an RGB color profile, and PDF/X and PDF/VT -% require a CMYK color profile to be embedded. The pdfx package -% includes freely distributable color profiles that will be used by -% default. The following commands are available if you have a specific -% color profile that you would like to include instead. These commands -% can only be used in the .xmpdata file. -% -% To specify an RGB color profile: -% \setRGBcolorprofile{<filename>}{<identifier>}{<info string>}{<registry URL>} -% -% To specify a CMYK color profile: -% \setCMYKcolorprofile{<filename>}{<output intent>}{<identifier>}{<registry URL>} -% -% Within the arguments of these macros, the characters '<', '>', '&', -% '^', '_', '#', '$', and '~' can be used as themselves, but -% '%' must be escaped as '\%'. -% -% The default for these parameters are: -% -% \setRGBcolorprofile -% {sRGB_IEC61966-2-1_black_scaled.icc} -% {sRGB_IEC61966-2-1_black_scaled} -% {sRGB IEC61966 v2.1 with black scaling} -% {http://www.color.org} -% -% \setCMYKcolorprofile -% {coated_FOGRA39L_argl.icc} -% {Coated FOGRA39} -% {FOGRA39 (ISO Coated v2 300\% (ECI))} -% {http://www.argyllcms.com/} +\Title{Unicode: U₄(ℤ[1/√2, i]). + ASCII: !"'()*+,-./:;<=>?@[]`|#$&~^_. + Four escaped symbols: \% \backslash\ \{ \}. +} +\Author{Gödel\sep Escher\sep Bach\sep + U₄(ℤ[1/√2, i]), !"'()*+,-./:;<=>?@[]`|#$&~^_, \% \backslash\ \{ \}} +\Subject{This is the abstract. It's about ℤ[1/√2, i] and other rings.} -\Title {The Title Goes Here. In the metadata, you may use Unicode such - as U₄(ℤ[1/√2, i]). You may also use the ASCII characters - !'''()*+,-./:;<=>?@[]`|#$&~^_. The following four symbols - must be escaped: \% \backslash\ \{ \}.} +\Keywords{the group U₄\sep and other stuff\sep Some + symbols: & # < > \copyright\ 2014} -\Author {K. Gödel\sep - M. C. Escher\sep - J. S. Bach\sep - The artist formerly known as Ƭ̵̬} +\Copyright{Copyright \copyright\ 2014 The artist <currently> known as Ƭ̵̬} -\Copyright {Copyright \copyright\ 2015 "Author's Name Goes Here"} - -\Keywords {first keyword\sep - second keyword\sep - some more keywords} - -\Subject {This is where you put the abstract.} +\CopyrightURL{http://www.mathstat.dal.ca/~selinger/copyright.html} diff --git a/Master/texmf-dist/doc/latex/pdfx/small2e-pdfx.pdf b/Master/texmf-dist/doc/latex/pdfx/small2e-pdfx.pdf Binary files differdeleted file mode 100644 index ef8d8e11647..00000000000 --- a/Master/texmf-dist/doc/latex/pdfx/small2e-pdfx.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/pdfx/small2e-pdfx.tex b/Master/texmf-dist/doc/latex/pdfx/small2e-pdfx.tex index 1475d29abb4..777272678c1 100644 --- a/Master/texmf-dist/doc/latex/pdfx/small2e-pdfx.tex +++ b/Master/texmf-dist/doc/latex/pdfx/small2e-pdfx.tex @@ -9,6 +9,72 @@ % & $ # % _ { } ^ ~ \ % \documentclass{article} % Your input file must contain a \documentclass line and a package+option: +%% +%% Only use {filecontents} for the .xmpdata file when there are no UTF8 characters included +%% +%\usepackage[utf8]{inputenc} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{filecontents*}{\jobname.xmpdata} +% a macro definition, used below +\pdfxEnableCommands{% simple macro definitions can be provided everything expands to characters + \def\RossPete{Ross \& Pete} + } +\Title{Sample LaTeX input file}% *not* set by LaTeX's \title +\Author{LaTeX project team\sep River Valley Technologies\sep \RossPete}% *not* set by LaTeX's \author +\Subject{Metadata for PDF/X, PDF/A and PDF/E conforming documents} +\Keywords{pdfTeX\sep PDF/X-1a\sep PDF/A-1b\sep PDF/E-1} +\Org{TeX Users Group} +%\CreatorTool{pdfTeX} % generated automatically +\Copyright{\Thanh, \CVR, \RossPete} +%\Copyright{\CVR, \RossPete} +\WebStatement{http://www.tug.org/}% should be URL to copyright statement on the web +%\Producer{LaTeX} % generated automatically +\Volume{latest in 2015} +\Issue{???} +\CoverDisplayDate{Special Issue, 2016} +\CoverDate{2016-01-01}% must be in format YYYY-MM-DD or YYYY-MM +\Doi{0.0.0.0}% +\Lastpage{10} +\Firstpage{1}% +%\PublicationType{journal}% automatically set by \Journaltitle{?} +\Journaltitle{TUGboat}% +\Journalnumber{0896-3207}% ISSN +%\AuthoritativeDomain{http://ctan.tug.org/}% +% +% some more macro definitions, used above +\pdfxEnableCommands{\def\Thanh{H\`an Th\'{\^e} Thanh}\def\CVR{CV Radhakrishnan}} +% +% setting the color profile, these reproduce the defaults; use your own, if required +% +% RGB is used with PDF/A (4 parameters): +\setRGBcolorprofile{sRGB_IEC61966-2-1_black_scaled.icc}{sRGB_IEC61966-2-1_black_scaled}{sRGB IEC61966 v2.1 with black scaling}{http://www.color.org} +% +% For Adobe Color Profiles, set the directory for your system +% +% e.g. on Mac OS X +% What is it under Windows ? +% +\gdef\ColorProfileDir{/Library/Application Support/Adobe/Color/Profiles/Recommended/} +% +% For available profiles, see file AdobeColorProfiles.tex +% For PDF/X-4p or PDF/X-5pg see file AdobeExternalProfiles.tex +% +% Now you can use the macros defined in those files: + \FOGRAXXXIX +% +% or CMYK is used with PDF/X (4 parameters) +% \setCMYKcolorprofile{\ColorProfileDir coated_FOGRA39L_argl.icc}{Coated FOGRA39}{FOGRA39 (ISO Coated v2 300\%\space (ECI))}{http://www.color.org} +\end{filecontents*} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\usepackage[infoshow]{tracefnt} +%\usepackage[T1]{fontenc} +%\usepackage[hyperref,cmyk]{xcolor} +\providecommand{\pdfxopt}{a-1b} +\usepackage[\pdfxopt]{pdfx} +\makeatletter +%\def\@linkbordercolor{0 0 0 1} +\makeatother +%\hypersetup{xurlbordercolor=black,xlinkbordercolor=black,linkbordercolor=xlinkbordercolor} %\usepackage[x-1]{pdfx}% for PDF/X-1a:2001 %\usepackage[x-1a]{pdfx}% for PDF/X-1a:2003 %\usepackage[x-3]{pdfx}% for PDF/X-3:2002 @@ -17,7 +83,7 @@ %\usepackage[x-4]{pdfx}% for PDF/X-4 %\usepackage[x-5g]{pdfx}% for PDF/X-5g %\usepackage[e-1]{pdfx}% for PDF/E-1 -\usepackage[a-1b]{pdfx}% for PDF/A-1b +%\usepackage[a-1b]{pdfx}% for PDF/A-1b %\usepackage[a-2b]{pdfx}% for PDF/A-2b %\usepackage[a-2u]{pdfx}% for PDF/A-2u %\usepackage[a-3b]{pdfx}% for PDF/A-3b @@ -68,6 +134,6 @@ typing a backslash in front of them: \$ \& \# \% \_ \{ and \}. The manual tells how to make other symbols. \bigskip\vfil -\rightline{\footnotesize Jump back to Section~\ref{sec1}.} +\rightline{\footnotesize Jump back to Section~}%\tracingall\ref{sec1}.} \end{document} % The input file ends with this command. diff --git a/Master/texmf-dist/doc/latex/pdfx/small2e-pdfx.xmpdata b/Master/texmf-dist/doc/latex/pdfx/small2e-pdfx.xmpdata Binary files differindex 8de1f790789..a80bedb3170 100644 --- a/Master/texmf-dist/doc/latex/pdfx/small2e-pdfx.xmpdata +++ b/Master/texmf-dist/doc/latex/pdfx/small2e-pdfx.xmpdata diff --git a/Master/texmf-dist/source/latex/pdfx/README b/Master/texmf-dist/source/latex/pdfx/README deleted file mode 100644 index ae89c524149..00000000000 --- a/Master/texmf-dist/source/latex/pdfx/README +++ /dev/null @@ -1,40 +0,0 @@ -Readme for pdfx package (pdfx.sty) - -pdfx.sty is a LaTeX package which helps to create PDF/X and -PFD/A compliant PDF documents with pdfTeX. - -Installation: - -Create a directory $TEXMF/tex/latex/pdfx and copy pdfx.sty, *.xmp, -*.icc, 8bit.def, and glyphtounicode-cmr.tex 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 GNU/Linux or similar operating system: - - make pdf - make out - make index - make changes - 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> -Han The Thanh <thanh@river-valley.org> -Ross Moore <ross.moore@mq.edu.au> -Peter Selinger <selinger@mathstat.dal.ca> diff --git a/Master/texmf-dist/source/latex/pdfx/pdfx.dtx b/Master/texmf-dist/source/latex/pdfx/pdfx.dtx index debb49866a1..186e2f8abb7 100644 --- a/Master/texmf-dist/source/latex/pdfx/pdfx.dtx +++ b/Master/texmf-dist/source/latex/pdfx/pdfx.dtx @@ -2,7 +2,7 @@ % % File: pdfx.dtx % -% Copyright (c) 2015, CV Radhakrishnan <cvr@river-valley.org>, +% Copyright (c) 2016, CV Radhakrishnan <cvr@river-valley.org>, % Han The Thanh <thanh@river-valley.org>, % Ross Moore <ross.moore@mq.edu.au>, % Peter Selinger <selinger@mathstat.dal.ca> @@ -19,12 +19,16 @@ % % \fi % -% \CheckSum{1844} +% \CheckSum{2209} % \iffalse % %<*driver> \documentclass[a4paper]{ltxdoc} +\providecommand{\pdfxopt}{a-2u} \usepackage{rvdtx} +\usepackage[\pdfxopt]{pdfx} +\usepackage[T1]{fontenc} +\hypersetup{citecolor=blue} \EnableCrossrefs \CodelineIndex \RecordChanges @@ -89,13 +93,19 @@ % \changes{v1.3}{2008/12/01}{Fix copyright in xmp files.} % \changes{v1.5.4}{2015/02/28}{Fixed timezone bug; Unicode support; more % PDF variants; added color profiles.} +% \changes{v1.5.5}{2015/03/23}{Support for PDF/X-4p and PDF/X-5pg +% with external color profiles.} +% \changes{v1.5.6}{2016/02/05}{Suppressed `dummy-space' font warning; +% removed spurious '?' in XMP packets; improved handling of Color Profiles; +% ensure Hy@pdfatrue when building PDF/A, for link flags; +% properly enables xcolor conversion of color models.} % -% \title{Generation of PDF/X and PDF/A compliant PDF's -% with PDF\TeX{} --- \texttt{pdfx.sty}} -% \date{2015/02/28} -% \version{1.5.4} +% \title{Generation of PDF/X- and PDF/A-compliant PDFs +% with pdf\TeX{} --- \texttt{pdfx.sty}} +% \date{2016/02/05} +% \version{1.5.6} % \keywords{PDF, PDF/A, PDF/X, pdf\TeX, \LaTeX} -% \author{C.\,V.\,Radhakrishnan, \thanh, Ross~Moore {\upshape\small +% \author{C.\,V.\,Radhakrishnan, \Thanh, Ross~Moore {\upshape\small % and} Peter Selinger} % \contact{\texttt{[cvr,thanh]@river-valley.org}, % \texttt{ross.moore@mq.edu.au}, \texttt{selinger@mathstat.dal.ca}} @@ -104,36 +114,88 @@ % % \StopEventually{} % -% \section{Introduction} +% \section[Introduction]{Introduction} +% +% This package\footnote{A slightly earlier version of this documentation +% was published as \cite{pdfx}.} +% currently supports generation of PDF/X- and +% PDF/A-compliant documents using \pdftex, in some of their variants. +% Support for additional standards, such as PDF/E, PDF/VT +% is also available; see the complete list in Section~\ref{ssec-options} below. +% By `supports', we mean that the package provides correct and sufficient +% means to declare that a document conforms with a stated PDF variant +% (PDF/X, PDF/A, PDF/E, PDF/VT, etc.) along with the version +% and/or level of conformance. +% This package also allows appropriate metadata and color profile +% to be specified, according to the requirements of the PDF variant. +% +% Metadata elements, most of which must ultimately be written as XML +% using the UTF-8 encoding, is provided via a file named |\jobname.xmpdata|, +% for the running \LaTeX\ job. Without such a file, providing some required +% information as well as a large range of optional data, a fully validating +% PDF file cannot be achieved. The PDF can be created, having the correct +% visual appearance on all pages, but it will not pass validation checks. +% Section~\ref{ssec-metadata} describes how this file should be constructed. +% +% \medskip +% What this package \emph{does not} do is to check for all the details +% of document structure and type of content that may be required +% (or restricted) within a PDF variant. For example, PDF/VT \cite{PDFVT} requires +% well-structure parts, using Form XObject sections tagged as `/DPart'. +% Similarly PDF/A-1a (and 2a and 3a) \cite{PDFA,PDFA2,PDFA3} require +% a fully `Tagged PDF', including a detailed structure tagging which +% envelops the complete contents of the document. +% This is beyond the current version of \pdftex, as commonly shipped. +% So while this package provides enough to meet the declaration, +% metadata and font-handling aspects for these PDF/A variants, +% it is not sufficient to produce fully conforming PDFs. +% However, with extra \pdftex-based software that \emph{is} capable +% of producing `Tagged PDF', this package can be used as part of +% the overall workflow to produce fully conforming documents. +% It is also reported to have been successfully used with Lua\TeX. +% +% +% \subsection{PDF standards}\label{ssec-standards} % % PDF/X and PDF/A are umbrella terms used to denote several ISO -% standards that define different subsets of the PDF standard. The -% objective of PDF/X is to facilitate graphics exchange between +% standards \cite{PDFX,PDFX3,PDFX1a,PDFX4,PDFX5,PDFA,PDFA2,PDFA3} +% that define different subsets of the PDF standard \cite{PDF17,ISO32000}. +% The objective of PDF/X is to facilitate graphics exchange between % document creator and printer and therefore, has all requirements % related to printing. For instance, in PDF/X, all fonts need to be % embedded and all images need to be CMYK or spot colors. PDF/X-2 and % PDF/X-3 accept calibrated RGB and CIELAB colors along with all other % specifications of PDF/X. +% Since 2005 other variants of PDF/X have emerged, as extra effects +% (such as layering and transparency) have been supported within the PDF +% standard itself. The full range of versions and conformance supported +% in this package is discussed below in Section~\ref{ssec-options}. % % 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 achieving this is that 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. A -% PDF/A document is not permitted to be reliant on information from +% the documents can be reproduced in the exact same way in years to +% come. A key element to achieving this is that PDF/A documents +% are 100\% self-contained. All the information needed to display the +% document in the same manner every time is embedded in the file. +% A 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 PDF/A. +% audio/video content, JavaScript and encryption. +% Mandatory inclusion of fonts, color profile and standards-based metadata +% are absolutely essential for PDF/A. +% Later versions allow for use of image compression and file attachments. % -% This package currently supports generation of PDF/X and PDF/A -% compliant documents using \pdftex. Support for additional standards -% is also included; see the complete list in -% Section~\ref{ssec-options} below. +% PDF/E is an ISO standard \cite{PDFE} intended for documents used in engineering workflows. +% PDF/VT \cite{PDFVT} allows for high-volume customised form printing, such as utility bills. +% PDF/UA (`Universal Accessibility') is emerging as a standard \cite{PDF-UA,PDFUA1} supporting +% Assistive Technologies, incorporating web-accessibility guidelines (WCAG) +% for electronic documents. +% In future, PDF/H may emerge for health records and medical-related +% documents. Other applications can be envisaged. +% Declarations and Metadata are supported for the first two of these. +% The others are the subject of further work; revised versions of this +% package can be expected in later years. % -% \section{Usage} % -% \subsection{Options}\label{ssec-options} +% \section[Usage]{Usage} % % The package can be loaded with the command: % \begin{decl} @@ -141,22 +203,24 @@ % \end{decl} % where the options are as follows. % +% \subsection{Options}\label{ssec-options} +% % \subsubsection{PDF/A options} % -% PDF/A is an ISO standard intended for long-term archiving of +% PDF/A is an ISO standard~\cite{PDFA,PDFA2,PDFA3} intended for long-term archiving of % electronic documents. It therefore emphasizes self-containedness and -% reproducibility, as well as machine readable metadata. The PDF/A -% standard has three conformance levels ``a'', ``b'', and ``u''. Level -% ``a'' is the strictest, but is not yet fully implemented by the -% |pdfx| package. Conformance level ``u'' has the same requirements as -% level ``b'', but with the additional requirement that all text in +% reproducibility, as well as machine-readable metadata. The PDF/A +% standard has three conformance levels `a', `b', and `u'. Level +% `a' is the strictest, but is not yet fully implemented by the +% |pdfx| package. Conformance level `u' has the same requirements as +% level `b', but with the additional requirement that all text in % the document must have a Unicode mapping. However, the |pdfx| -% package produces such Unicode mappings even in level ``b'' files. +% package produces such Unicode mappings even in level `b' files. % The standard also has three different versions 1, 2, and 3, which -% were standardized in 2005, 2011, and 2012, respectively. Earlier +% were standardized in 2005, 2011 and 2012, respectively. Earlier % versions contain a subset of the features of later versions, so for % maximum portability, it is preferable to use a lower-numbered -% version. There is no conformance level ``u'' in version 1 of the +% version. There is no conformance level `u' in version 1 of the % standard. For many typical uses of PDF/A, it is sufficient to use % PDF/A-1b. % @@ -170,6 +234,11 @@ % \item |a-3b|: generate PDF/A-3b. % \item |a-3u|: generate PDF/A-3u. % \end{itemize} +% By `Experimental, not fully implemented' here we mean primarily that +% the document structure, as required for `Tagged PDF', is not handled +% by this package. Using other \pdftex-based software that \emph{is} +% capable of producing such complete tagging, conforming documents +% can indeed be produced. % % \subsubsection{PDF/E options} % @@ -196,6 +265,14 @@ % \item |vt-2|: generate PDF/VT-2. Experimental, not fully implemented. % \item |vt-2s|: generate PDF/VT-2s. Experimental, not fully implemented. % \end{itemize} +% By `Experimental, not fully implemented' here we mean primarily that +% the structuring of a document into `/DPart' sections, as Form XObjects, +% is not handled by this package. +% This \emph{is} possible with current \pdftex\ software, +% but not yet in a way that lends itself easily to full automation, due to +% requirements of knowing the internal object number of certain internal +% PDF constructs. All the other aspects: PDFInfo declaration, Metadata +% and Color Profile, of the PDF/VT variants are correctly handled. % % \subsubsection{PDF/X options} % @@ -203,15 +280,16 @@ % emphasizes printing-related requirements, such as embedded fonts and % color profiles. The PDF/X standard has a large number of variants % and conformance levels. The basic variants are known as X-1, X-1a, -% X-3, X-4, and X-5. (Note that there is no X-2 standard, because it -% was either never published or withdrawn). The PDF/X-1a standard -% exists in revisions of 2001 and 2003, the PDF/X-3 standard exists in -% revisions of 2002 and 2003, and the PDF/X-4 and PDF/X-5 standards -% exist in revisions of 2008 and 2010. Moreover, some of these -% standards have a ``p'' version, which permits the use of an -% externally supplied color profile (instead of an embedded one), -% and/or a ``g'' version, which permits the use of external graphical -% content. Moreover, PDF/X-5 has an ``n'' version, which extends +% X-3, X-4, and X-5. (Note that a revised version of the X-2 standard +% was published in 2003, but withdrawn as an ISO standard in 2011, +% basically due to lack of interest in using it). +% The PDF/X-1a standard exists in revisions of 2001 and 2003, +% the PDF/X-3 standard exists in revisions of 2002 and 2003, +% and the PDF/X-4 and PDF/X-5 standards exist in revisions of 2008 and 2010. +% Moreover, some of these standards have a `p' version, which permits the +% use of an externally supplied color profile (instead of an embedded one), +% and/or a `g' version, which permits the use of external graphical +% content. Moreover, PDF/X-5 has an `n' version, which extends % PDF/X-4p by permitting additional color spaces other than Grayscale, % RGB, and CMYK. For many typical uses of PDF/X, it is sufficient to % use PDF/X-1a. @@ -226,15 +304,13 @@ % also available to specify PDF/X-4:2008 or PDF/X-4:2010 explicitly. % \item |x-4p|: generate PDF/X-4p. Options |x-4p08| and |x-4p10| are % also available to specify PDF/X-4p:2008 or PDF/X-4p:2010 explicitly. -% Experimental, not fully implemented. % \item |x-5g|: generate PDF/X-5g. Options |x-5g08| and |x-5g10| are % also available to specify PDF/X-5g:2008 or PDF/X-5g:2010 explicitly. % \item |x-5n|: generate PDF/X-5n. Options |x-5n08| and |x-5n10| are -% also available to specify PDF/X-5n:2008 or PDF/X-5n:2010 -% explicitly. Experimental, not fully implemented. +% also available to specify PDF/X-5n:2008 or PDF/X-5n:2010 explicitly. +% Experimental, not fully implemented. % \item |x-5pg|: generate PDF/X-5pg. Options |x-5pg08| and |x-5pg10| are % also available to specify PDF/X-5pg:2008 or PDF/X-5pg:2010 explicitly. -% Experimental, not fully implemented. % \end{itemize} % % \subsubsection{Other options} @@ -242,9 +318,14 @@ % These options are experimental and should not normally be used. % % \begin{itemize} -% \item |noBOM|: do not generate the optional byte order marker in the -% embedded XMP metadata. Try this option in case there is an -% unexplained error involving the |xmpincl| package. +% \item |useBOM|: generate an explicit UTF-8 byte-order marker in the +% embedded XMP metadata, and make the XMP packet writable. Neither +% of these features are required by the PDF/A standard, but there +% exist some PDF/A validators (reportedly |validatepdfa.com|) that +% seem to require them. Note: the implementation of this feature is +% experimental and may break with future updates to the |xmpincl| +% package. +% \item |noBOM|: do not generate the optional byte-order marker. (default) % \item |pdf13|: use PDF 1.3, overriding the version specified by the % applicable standard. This may produce a non-standard-conforming PDF file. % \item |pdf14|: use PDF 1.4, overriding the version specified by the @@ -257,9 +338,9 @@ % applicable standard. This may produce a non-standard-conforming PDF file. % \end{itemize} % -% \subsection{Data file for metadata} +% \subsection{Data file for metadata}\label{ssec-metadata} % -% As mentioned above, standards compliant PDF documents need metadata +% As mentioned above, standards-compliant PDF documents require metadata % to be included. The |pdfx| package expects the metadata to be % supplied in a special data file called |\jobname.xmpdata|. Here, % |\jobname| is usually the basename of the document's main |.tex| @@ -275,9 +356,20 @@ % \Keywords{cookies\sep muffins\sep cakes} % \Publisher{Baking International} % \end{verbatim} -% You may note that multiple authors and keywords have been separated +% You should note that multiple authors and keywords have been separated % by |\sep|. The |\sep| macro is only permitted in within the % |\Author|, |\Keywords|, and |\Publisher| fields. +% +% After processing, the local directory contains a file named such as +% |pdfa.xmpi| or |pdfx.xmpi| according to the PDF variant required. +% This file is the complete XMP Metadata packet. It can be checked for +% validity, using an online validator, such as at +% \href{http://www.pdflib.com/knowledge-base/xmp-metadata/free-xmp-validator/}{www.pdflib.com}. +% +% \textbf{Warning}: The |\jobname.xmpdata| file may be included in the +% main document source, within a |{filecontents}| environment, +% but \emph{only} when it contains \emph{no} non-ascii UTF-8 byte sequences. +% See Section~\ref{ssec-symbols} below for more information. % % \subsection{List of supported metadata fields} % @@ -302,20 +394,20 @@ % \item |\Copyright|: a copyright statement. % \item |\CopyrightURL|: location of a web page describing the owner % and/or rights statement for this document. -% \item |\Copyrighted|: ``True'' if the document is copyrighted, and -% ``False'' if it isn't. This is automatically set to ``True'' if either -% |\Copyright| or |\CopyrightURL| is specified, but can be -% overridden. For example, if the copyright statement is ``Public -% Domain'', this should be set to ``False''. +% \item |\Copyrighted|: `True' if the document is copyrighted, +% and `False' if it isn't. This is automatically set to `True' +% if either |\Copyright| or |\CopyrightURL| is specified, but can +% be overridden. For example, if the copyright statement is +% `Public Domain', this should be set to `False'. % \end{itemize} % % \subsubsection{Publication information:} % % \begin{itemize} % \item |\PublicationType|: The type of publication. If defined, must -% be one of book, catalog, feed, journal, magazine, manual, -% newsletter, pamphlet. This is automatically set to ``journal'' if -% |\Journaltitle| is specified, but can be overridden. +% be one of `book', `catalog', `feed', `journal', `magazine', `manual', +% `newsletter', `pamphlet'. This is automatically set to `journal' +% if |\Journaltitle| is specified, but can be overridden. % \item |\Journaltitle|: The title of the journal in which the % document was published. % \item |\Journalnumber|: The ISSN for the publication in which the @@ -327,18 +419,29 @@ % \item |\Lastpage|: Last page number of the published version of the % document. % \item |\Doi| : Digital Object Identifier (DOI) for the document, -% without the leading ``doi:''. +% without the leading `doi:'. % \item |\CoverDisplayDate|: Date on the cover of the journal issue, % as a human-readable text string. % \item |\CoverDate|: Date on the cover of the journal issue, in a -% format suitable for storing in a database field with a ``date'' data -% type. +% format suitable for storing in a database field with a `date' +% data type; e.g. YYYY-MM, or YYYY-MM-DD. % \end{itemize} % -% \subsection{Symbols permitted in metadata} +% \subsubsection{Backward Compatibility} +% The following macros are also recognised, for backward compatibility +% with earlier versions of the package. +% \begin{itemize} +% \item |\Creator|: synonymous with |\CreatorTool| which is usually handled +% automatically anyway, but can be over-ridden. +% \item |\Org|: synonymous with |\Publisher|. +% \item |\WebStatement|: synonymous with |\CopyrightURL|. +% \end{itemize} +% +% \subsection{Symbols permitted in metadata}\label{ssec-symbols} % % Within the metadata, all printable ASCII characters except -% |\|, |{|, |}|, and |%| represent themselves. Also, all printable +% |\|, |{|, |}| and |%| +% represent themselves. Also, all printable % Unicode characters from the basic multilingual plane (i.e., up to % code point U+FFFF) can be used directly with the UTF-8 encoding. % (Please note: encodings other than UTF-8 are not currently supported @@ -352,28 +455,97 @@ % \item |\%|: a literal |%| % \item |\{|: a literal |{| % \item |\}|: a literal |}| -% \item |\backslash|: a literal backslash ``|\|'' -% \item |\copyright|: the \copyright\ copyright symbol +% \item |\backslash|: a literal backslash |\| +% \item |\copyright|: the copyright symbol \textcopyright % \end{itemize} % The macro |\sep| is only permitted within |\Author|, |\Keywords|, -% and |\Publisher|. It is used to separate multiple authors, -% keywords, etc. +% and |\Publisher|. It's intention is to separate multiple authors, +% keywords, etc. However for validation purposes, multiple authors +% and keywords must not really be separated. The package takes care +% of this, even when |\sep| is used. +% +% \medskip +% Other \TeX\ macros actually can be used, provided the author is very +% careful and not ask for too-complicated \TeX\ or \LaTeX\ expansions +% into internal commands or non-character primitives; basically just accents, +% macros for Latin-based special characters, and simple textual replacements, +% perhaps with a simple parameter. A special macro |\pdfxEnableCommands{...}| +% is provided to help resolve difficulties that may arise. +% +% Here is an example of the use of |\pdfxEnableCommands|, which occurs +% with the name of one of our authors {(H\`an Th\'{\^e} Thanh)} +% due to the doubly-accented letter \'{\^e}. +% It is usual to define a macro such as: |\def\thanh{H\`an Th\'{\^e} Thanh}|. +% +% In previous versions of the |pdfx| package, use of such a macro +% within the |.xmpdata| file, in the |Copyright| information say, +% could result in the accent macros expanding into internal primitives, such as +% \begin{verbatim} +% H\unhbox \voidb@x \bgroup \let \unhbox \voidb@x \setbox \@tempboxa ... +% \end{verbatim} +% \removelastskip\noindent +% going on for many lines. This clearly has no place within the XMP Metadata. +% To get around this, one could try using simplified macro definitions +% \begin{verbatim} +% \pdfxEnableCommands{ +% \def\`#1{#1^^cc^80}\def\'#1{#1^^cc^81}\def\^#1{#1^^cc^82}} +% \end{verbatim} +% \removelastskip\noindent +% where the |^^cc^80|, |^^cc^81|, |^^cc^82| cause \TeX\ to generate the correct +% UTF-8 bytes for `combining accent' characters. +% +% This works fine for metadata fields that appear just in the XMP packet. +% However, it is not sufficient for the PDF |/Author| key, which must exactly match +% with the |dc:creator| Metadata element. What is needed instead is +% \begin{verbatim} +% \pdfxEnableCommands{ +% \def\thanh{H^^c3^^a0n Th\eee Thanh}\def\eee{^^c3^^aa^^cc^^81 }} +% \end{verbatim} +% \removelastskip\noindent +% or the above with `\`a' typed directly as UTF-8 instead of |^^c3^^a0| +% and `\^e' in UTF-8 for |^^c3^^aa|. +% The reason for this is due to the |\pdfstringdef| command, which constructs +% the accented latin letters as single combined characters \`a and \^e, +% without resorting to combining accents, wherever possible. +% If the Metadata does not have the same, irrespective of Unicode normalisation, +% then validation fails. +% +% With this latest version (1.5.6) of the |pdfx| package, such difficulties +% have been overcome, at least for characters used in Western European, +% Latin-based languages. The input encoding used when reading the |.xmpdata| +% file now includes interpretations of \TeX's usual accent commands to +% produce the required UTF-8 byte sequences. +% Work is ongoing to extend this input encoding to include macro definitions +% for more special characters (e.g., extended Latin, Cyrillic, Greek, etc.). +% A significant portion of the Unicode Basic Plane characters can be covered +% this way. Modules could even be provided for CJK character sets and +% mathematical symbols, etc. However, this can become memory intensive, +% so significant testing will be required before this becomes a standard +% part of the |pdfx| package. +% +% \textbf{Warning}: This encoding of macros, using ascii characters only, +% allows for the convenience of including the |\jobname.xmpdata| file +% in the main \LaTeX\ source preamble, within a |{filecontents}| environment. +% This \emph{only} works when it contains \emph{no} non-ascii UTF-8 byte +% sequences. The |{filecontents}| environment is best placed immediately +% \emph{before} the |\usepackage[...]{pdfx}| command. +% % % \subsection{Color profiles} % % Most standards compliant PDF documents require a \emph{color -% profile} to be embedded in the file. In a nutshell, such a profile +% profile} to be embedded within the file. In a nutshell, such a profile % determines precisely how the colors used in the document will be % rendered when printed to a physical medium. This can be used to % ensure that the document will look exactly the same, even when it is -% printed on different printers, paper types, etc. The inclusion of a -% color profile is necessary to make the document completely -% self-contained. +% printed on different printers, with different paper types, etc. +% The inclusion of a color profile is necessary to make the document +% completely self-contained. % % Since most \LaTeX\ users are not graphics professionals and are not % particularly picky about colors, the |pdfx| package includes default -% profiles that will be included when nothing else is -% specified. Therefore, the average user doesn't have to do anything +% profiles that will be included when nothing else is specified. +% Therefore, the average user doesn't have to do anything % special about color. % % For users who have a specific color profile they wish to use, it is @@ -408,7 +580,72 @@ % Some color profile files may be obtained from the International % Color Consortium. Please take a look at % \url{http://www.color.org/iccprofile.xalter}. +% +% Alternatively, color profiles are shipped with many Adobe software +% applications; these are then available for use also with non-Adobe +% software. Now the |pdfx| package includes coding to streamline +% inclusion of these profiles in PDF documents, or to specify +% them as `external' profiles, with PDF/X-4p and PDF/X-5pg variants. +% Two files |AdobeColorProfiles.tex| and |AdobeExternalProfiles.tex| +% are distributed with the |pdfx| package. The latter is for use +% with PDF/X-4p and PDF/X-5pg, which do not require color profiles to +% be embedded, while the former can be used with other PDF/X variants. +% Both define commands to use Color Profiles as follows. +% \begin{center} +% \begin{tabular}{ll} +% \texttt{\string\FOGRAXXXIX} & Coated FOGRA39 (ISO 12647-2:2004)\\ +% \texttt{\string\SWOPCGATSI} & U.S. Web Coated (SWOP) v2\\ +% \texttt{\string\JapanColorMMICoated} & Japan Color 2001 Coated\\ +% \texttt{\string\JapanColorMMIUncoated} & Japan Color 2001 Uncoated\\ +% \texttt{\string\JapanColorMMIINewspaper} & Japan Color 2002 Newspaper\\ +% \texttt{\string\JapanWebCoatedAd} & Japan Web Coated (Ad)\\ +% \texttt{\string\CoatedGRACoL} & Coated GRACoL 2006 (ISO 12647-2:2004)\\ +% \texttt{\string\SNAPCGATSII} & CGATS TR 002\\ +% \texttt{\string\SWOPCGATSIII} & CGATS TR 003\\ +% \texttt{\string\SWOPCGATSV} & CGATS TR 005\\ +% \texttt{\string\ISOWebCoated} & Web Coated FOGRA28 (ISO 12647-2:2004)\\ +% \texttt{\string\ISOCoatedECI} & ISO Coated v2 (ECI)\\ +% \texttt{\string\CoatedFOGRA} & Coated FOGRA27 (ISO 12647-2:2004)\\ +% \texttt{\string\WebCoatedFOGRA} & Web Coated FOGRA28 (ISO 12647-2:2004)\\ +% \texttt{\string\UncoatedFOGRA} & Uncoated FOGRA29 (ISO 12647-2:2004)\\ +% \texttt{\string\IFRAXXVI} & ISOnewspaper26v4 ISO/DIS 12647-3:2004\\ +% \texttt{\string\IFRAXXX} & ISOnewspaper30v4 ISO/DIS 12647-3:2004\\ +% \end{tabular} +% \end{center} +% As of the time of writing, only the first six of these result in PDFs +% which can validate with external profiles (i.e., for PDF/X-4p and PDF/X-5pg) +% using current versions of Adobe Acrobat Pro software. It is unclear +% whether the others (incl.\,\verb|\IFRAXXVI| and \verb|\IFRAXXX|) fail due +% to incorrect data or problems in the validation software. +% All but those last two can be used for valid embedded profiles, +% providing the corresponding files can be found. The following macro +% is used to set the (absolute or relative) path, on the local operating system, +% to the location of color profile files. +% \begin{decl} +% \defmacro{pdfxSetRGBcolorProfileDir}\marg{path to RGB color profiles}\\ +% \defmacro{pdfxSetCMYKcolorProfileDir}\marg{path to CMYK profiles} +% \end{decl} +% On a Macintosh, one can use \texttt{\string\AdobeMacOSdir} which expands to +% the path \texttt{/Library/Application Support/\allowbreak +% Adobe/\allowbreak Color\allowbreak /Profiles/\allowbreak Recommended/}. +% Under Windows the corresponding macro is \texttt{\string\WindowsColordir} +% which expands: +% \texttt{C:\string\Windows\allowbreak\string\System32\allowbreak +% \string\Spool\allowbreak\string\Drivers\allowbreak\string\Color\string/}. +% Use these within the \verb|.xmpdata| file as, e.g., +% |\pdfxSetCMYKcolorProfileDir{\AdobeMacOSdir}|. +% Authors should change the paths to suit their own circumstances, either +% \emph{before} loading |pdfx.sty| or within the \verb|.xmpdata| file. +% +% PDF/A and PDF/E usually need an RGB profile, while PDF/X and PDF/VT +% require a CMYK profile. It is possible to use a CMYK profile with PDF/A +% or PDF/E by specifying |\setRGBcolorprofile{}{}{}{}| in the \verb|.xmpdata| file. +% Beware however, that with PDF/A any coloured hyperlink annotations can +% cause a validation problem, as these are interpreted as RGB colours +% even when 4 components are given. This may be a bug in validators, +% as PDF specifies that the number of components should match the color space. % +% % \subsection{Notes on the internal representation of metadata} % % Within the PDF file, metadata is deposited in two places: some data @@ -421,18 +658,18 @@ % systems is also provided under modified BSD licence. % % Some of the metadata, such as the author, title, and keywords, are -% stored {\bf both} in the XMP packet and in the |/Info| -% dictionary. For the resulting file to be standard compliant, the two +% stored \emph{both} in the XMP packet and in the |/Info| +% dictionary. For the resulting file to be standards-compliant, the two % copies of the data must be identical. All of this is taken care of % automatically by the |pdfx| package. % % In principle, users can resort to alternate ways to create an XMP % file for inclusion in PDF. In this case, users should create a file % |pdfa.xmp| or |pdfx.xmp| (etc., depending on the PDF flavor) -% containing the pre-defined data. However, this is an error prone +% containing the pre-defined data. However, this is an error-prone % process and is not recommended for most users. If there is a % particular field of metadata that you need and that is not currently -% supported, please contact the authors. +% supported, please contact the package authors. % % |pdfx| makes use of the |xmpincl| package to include |xmp| data into % the PDF. The documentation of |xmpincl| package may help interested @@ -451,26 +688,34 @@ % % % -% \section{Installing} +% \section[Installing]{Installing} +% The |pdfx.dtx| package is available on CTAN as usual, via +% \url{http://ctan.org/pkg/pdfx}. It is also included in +% \TeX\ distributions such as Mac\TeX, \TeX\ Live and MiK\TeX. +% Thus most users will not need to handle installation at all. % +% For those wishing to do a manual installation, here are some notes. % The file |pdfx.dtx| is a composite document of program code and -% documentation in \LaTeX{} format in the tradition of \emph{literate -% programming}. To get the documentation that you are reading now, -% run (\textsc{pdf})\LaTeX{} on the file |pdfx.dtx|. Or better, use -% the included |Makefile|, which will also regenerate the index. +% documentation in \LaTeX{} format, in the tradition of \emph{literate +% programming}. After having installed the package, +% to get the documentation that you are reading now, +% run (\textsc{pdf})\LaTeX{} on the file |pdfx.dtx|. +% The resulting PDF should be valid as PDF/A-2u. +% % Or better, use +% % the included |Makefile|, which will also regenerate the index. % -% To install the package, first extract the program code, i.e., the +% To install the package, first extract the program code; i.e., the % file |pdfx.sty|, by running \LaTeX{} or \TeX{} on the file % |pdfx.ins|. Create a directory named |pdfx| under |$TEXMF/tex/latex| % and copy the files |pdfx.sty|, |8bit.def|, |glyphtounicode-cmr.tex|, -% as well as the |*.icc| and |*.xmp| files, to it. Then update \TeX's +% as well as the |*.icc| and |*.xmp| files, into it. Then update \TeX's % file database using the appropriate command for your distribution and % operating system (such as |texhash| or |mktexlsr|, or similar). % % \subsection{Limitations and dependencies} % -% |pdfx.sty| works only with \pdftex. It further depends on the following -% packages: +% |pdfx.sty| works with \pdftex\ and also Lua\TeX. +% It further depends on the following other packages: % \begin{enumerate} % \item |xmpincl| for insertion of metadata into PDF. % \item |hyperref| for hyperlinking, bookmarks, etc. @@ -479,7 +724,8 @@ % % \subsection{Files included} % -% The following files are included in the archive: +% The following files are included in the package. +% Some can be created from |pdfx.dtx|, using the |Makefile|. % % \subsubsection{Package files} % @@ -490,19 +736,22 @@ % \item |pdfvt.xmp| --- specimen |xmp| template for PDF/VT. % \item |pdfx.xmp| --- specimen |xmp| template for PDF/X. % \item |8bit.def| --- custom input encoding. +% \item |l8uenc.def| --- input encoding macro declarations. % \item |glyphtounicode-cmr.tex| --- maps glyph names to corresponding % Unicode for Computer Modern and other \TeX-specific fonts. -% \item |coated_FOGRA39L_argl.icc| --- a freely distributable CMYK -% color profile. -% \item |sRGB_IEC61966-2-1_black_scaled.icc| --- a freely -% distributable RGB color profile. -% \item |ICC_LICENSE.txt| --- the license for the color profiles. +% \item |coated_FOGRA39L_argl.icc| --- CMYK color profile +% (freely distributable). +% \item |sRGB_IEC61966-2-1_black_scaled.icc| --- RGB color profile +% freely distributable. +% \item |ICC_LICENSE.txt| --- license for the color profiles. +% \item |AdobeColorProfiles.tex| --- macros for inclusion of Adobe-supplied color profiles. +% \item |AdobeExternalProfiles.tex| --- macros for use of external color profiles. % \end{itemize} % % \subsubsection{Documentation} % % \begin{itemize} -% \item |README| --- Readme file. +% \item |README| --- usual top-level information. % \item |manifest.txt| --- file list. % \item |sample.tex|, |sample.xmpdata| --- a sample file with sample % metadata. @@ -515,6 +764,7 @@ % \begin{itemize} % \item |src/pdfx.dtx| --- composite package and documentation. % \item |src/pdfx.ins| --- installer batch file. +% \item |src/pdfx.xmpdata| --- metadata for the documentation. % \item |src/rvdtx.sty| --- used by |pdfx.dtx|. % \item |src/Makefile| --- a Makefile for building the documentation. % \end{itemize} @@ -532,21 +782,140 @@ % and/or % \href{mailto:selinger@mathstat.dal.ca}{\ttfamily selinger@mathstat.dal.ca}. % -% \section{Implementation} +% \section[Bibliography]{Bibliography} +% \begin{thebibliography}{999} +% +% \bibitem{PDF17}Adobe Systems Inc.; +% {PDF} Reference 1.7, November 2006. +% Also available as \cite{ISO32000}.\\ +% \url{http://www.adobe.com/devnet/pdf/pdf_reference.html}. +% +% \bibitem{DC} +% Dublin Core Metadata Element Set, Version 1.1, October 2010 +% \url{http://dublincore.org/documents/dces/} +% +% \bibitem{PDFA}ISO\,19005-1:2005; +% Document Management --- Electronic document file format for long term preservation +% --- Part 1: Use of PDF\,1.4\,(PDF/A-1); +% Technical Committee ISO/TC\,171/SC\,2 (Sept. 2005). +% Revisions via Corrigenda: ISO\,19005-1:2005/Cor\,1:2007 (March 2007); +% ISO\,19005-1:2005/Cor\,2:2011 (Dec. 2011). \\ +% \url{http://www.iso.org/iso/catalogue_detail?csnumber=38920}. +% +% \bibitem{PDFA2}ISO\,19005-2:2011; +% Document Management --- Electronic document file format for long term preservation +% --- Part 2: Use of ISO\,32000-1\,(PDF/A-2); +% Technical Committee ISO/TC\,171/SC\,2 (June 2011). +% \url{http://www.iso.org/iso/catalogue_detail?csnumber=50655}. +% +% \bibitem{PDFA3}ISO\,19005-3:2012; +% Document Management --- Electronic document file format for long term preservation +% --- Part 3: Use of ISO\,32000-1 with support for embedded files (PDF/A-3); +% Technical Committee ISO/TC\,171/SC\,2 (October 2012).\\ +% \url{http://www.iso.org/iso/catalogue_detail?csnumber=57229}. +% +% \bibitem{ISO32000}ISO\,32000-1:2008; +% Document management\,---\,Portable document format\,(PDF\,1.7); +% Technical Committee ISO/TC\,171/SC\,2 (July 2008). +% Also available as \cite{PDF17}.\\ +% \url{http://www.iso.org/iso/catalogue_detail?csnumber=51502}. +% +% \bibitem{PDF20}ISO\,32000-2-20140220; +% Document management --- Portable document format --- Part~2: PDF\,2.0; +% Technical Committee ISO/TC\,171/SC\,2, in draft form (Feb. 2014). +% +% \bibitem{PDFE}ISO\,24517-1:2008; +% Document Management --- Engineering document format using PDF --- Part 1: +% Use of PDF 1.6 (PDF/E-1); +% Technical Committee ISO/TC\,171/SC\,2 (May 2008).\\ +% \url{http://www.iso.org/iso/catalogue_detail?csnumber=42274}. +% +% \bibitem{PDFUA1}ISO\,14289-1:2012; +% Document management applications --- Electronic document file format enhancement for accessibility +% --- Part 1: Use of ISO\,32000-1\,(PDF/UA-1); +% Technical Committee ISO/TC\,171/SC\,2 (July 2012). +% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=54564}.\\ +% Revised as ISO\,14289-1:2014 (December 2014): +% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=64599}. +% +% \bibitem{PDF-UA} +% PDF/UA Technical Implementation Guide: Understanding ISO\,14289-1 (PDF/UA-1). \penalty-200 +% AIIM Global Community of Information Professionals. +% \href{http://www.aiim.org/Research-and-Publications/standards/committees/PDFUA/Technical-Implementation-Guide}% +% {{\tt http://www.aiim.org/Re\penalty-200 search-and-Publications/standards/committees/PDFUA/Technical-Implementation\penalty-200 -Guide}}. +% +% +% \bibitem{PDFVT}ISO\,16612-2:2010; +% Graphic technology\,---\,Variable data exchange\,---\,Part 2: +% Using PDF/X-4 \penalty-5000 and PDF/X-5 (PDF/VT-1 and PDF/VT-2). +% Technical Committee ISO/TC\,130 (December 2005). +% \href{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=38013}{{\tt http://www.iso.org/iso/home/store/catalogue\_tc/catalogue\_detail.htm?\penalty-200csnumber=38013}}. +% +% +% \bibitem{PDFX}ISO\,15930-1:2001; +% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 1: +% Complete exchange using CMYK data (PDF/X-1 and PDF/X-1a). +% Technical Committee ISO/TC\,130 (December 2001). +% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=29061}. +% +% \bibitem{PDFX3}ISO\,15930-3:2002; +% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 3: +% Complete exchange suitable for colour-managed workflows (PDF/X-3). +% Technical Committee ISO/TC\,130 (September 2002). +% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=34941}. +% +% \bibitem{PDFX1a}ISO\,15930-4:2003; +% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 4: +% Complete exchange of CMYK and spot colour printing data using PDF 1.4 (PDF/X-1a). +% Technical Committee ISO/TC\,130 (December 2003). +% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=39938}. +% +% \bibitem{PDFX3a}ISO\,15930-6:2003; +% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 6: +% Complete exchange of printing data suitable for colour-managed workflows using PDF 1.4 (PDF/X-3). +% Technical Committee ISO/TC\,130 (December 2003). +% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=39940}. +% +% \bibitem{PDFX4}ISO\,15930-7:2010; +% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 7: +% Complete exchange of printing data (PDF/X-4) and partial exchange of printing data with external profile reference (PDF/X-4p) using PDF 1.6. +% Technical Committee ISO/TC\,130 (July 2010). +% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=55843}. +% +% \bibitem{PDFX5}ISO\,15930-8:2010; +% Graphic technology --- Prepress digital data exchange --- Use of PDF --- Part 8: +% Partial exchange of printing data using PDF 1.6 (PDF/X-5). +% Technical Committee ISO/TC\,130 (July 2010). +% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=55844}. +% Revision via Corrigendum: ISO\,15930-8:2010/Cor\,1:2011 (August 2011); +% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=60210}. +% +% \bibitem{XMP}ISO\,16684-1:2012; +% Graphic technology --- Extensible metadata platform (XMP) specification --- Part 1: +% Data model, serialization and core properties. +% Technical Committee ISO/TC\,130 (February 2012). +% \url{http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=57421}. +% +% \bibitem{pdfx}C.\,V.\,Radhakrishnan, \Thanh, Ross Moore, Peter Selinger; +% Generation of PDF/X- and PDF/A-compliant PDFs with pdf\TeX{} --- \texttt{pdfx.sty}. +% TUGboat Vol.\,36, No.\,2; TUG 2015 Conference Proceedings. \TeX\ Users Group, 2015; pp.\,136--142. +% \end{thebibliography} +% \end{document} +% \section[Implementation]{Implementation} % % \iffalse %<*package> % \fi % \begin{macrocode} - \@ifpackageloaded{pdfxmult}{% - \PackageError{pdfx}% +\@ifpackageloaded{pdfxmult}{% + \PackageError{pdfx}% {^^JThis package may not be used in conjunction with the \space pdfxmult \space package}% {Type \space x <return> \space to exit; or just \space <return> \space to continue without this package.}% - \expandafter\let\csname opt@pdfx.sty\endcsname\@empty\endinput - }{}% + \expandafter\let\csname opt@pdfx.sty\endcsname\@empty\endinput +}{}% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{pdfx} - [2015/02/17 v1.5.3 PDF/X and PDF/A support (CVR/HTH/RRM/PS)] + [2016/02/04 v1.5.6 PDF/X and PDF/A support (CVR/HTH/RRM/PS)] \newif\ifpdfx@noBOM \pdfx@noBOMfalse % use a BOM in the XMP packet \newif\ifpdfx@x \pdfx@xfalse % PDF/X mode @@ -608,10 +977,10 @@ \DeclareOption{vt-1}{\global\pdfx@xtrue\global\pdfx@vttrue \def\xmp@Part{4}\def\xmp@vtPart{1}\def\xmp@Conformance{}\def\xmp@vtConformance{}% \def\xmp@ReleaseDate{2010}\global\pdfminorversion=6 } -\DeclareOption{vt-2}{\global\pdfx@xtrue\global\pdfx@vttrue - \def\xmp@Part{4}\def\xmp@vtPart{2}\def\xmp@Conformance{}\def\xmp@vtConformance{}% +\DeclareOption{vt-2}{\global\pdfx@xtrue\global\pdfx@vttrue\global\no@iccprofiletrue + \def\xmp@Part{5}\def\xmp@vtPart{2}\def\xmp@Conformance{pg}\def\xmp@vtConformance{}% \def\xmp@ReleaseDate{2010}\global\pdfminorversion=6 } -\DeclareOption{vt-2s}{\global\pdfx@xtrue\global\pdfx@vttrue +\DeclareOption{vt-2s}{\global\pdfx@xtrue\global\pdfx@vttrue\global\no@iccprofiletrue \def\xmp@Part{5}\def\xmp@vtPart{2}\def\xmp@Conformance{pg}\def\xmp@vtConformance{s}% \def\xmp@ReleaseDate{2010}\global\pdfminorversion=6 } @@ -624,23 +993,35 @@ %% inhibits writing the XMP byte-order marker \DeclareOption{noBOM}{\pdfx@noBOMtrue} +\DeclareOption{useBOM}{\pdfx@noBOMfalse} \pdfminorversion=4 % assumed for PDF/A ; options may change this for PDF/X \expandafter\ifx\csname pdfresetpageorigin\endcsname\relax\else \pdfresetpageorigin=0 \fi + +\ExecuteOptions{noBOM,a-1b} \ProcessOptions +\RequirePackage{ifluatex} +\ifluatex + \RequirePackage{pdftexcmds}% + \let\pdfx@mdfivesum\pdf@mdfivesum +\else + \let\pdfx@mdfivesum\pdfmdfivesum +\fi + \def\pdfx@encodingfile{l8uenc.def} + {\endlinechar=-1 \everyeof{\noexpand}% \xdef\pdfx@bannerstring{\expandafter\scantokens\expandafter{\pdftexbanner}} }% -\def\pdfx@testbannerstr{This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014/dev) kpathsea version 6.2.0dev}% +\def\pdfx@testbannerstr{% + This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014/dev) kpathsea version 6.2.0dev}% \ifx\pdfx@bannerstring\pdfx@testbannerstr \typeout{This version of pdfTeX cannot write out upper-range character bytes, 128-255.}% \typeout{Any UTF-8 Unicode characters in the Metadata will not be written correctly.}% \typeout{Please update to a more stable version of pdfTeX.^^J}% - \pdfx@noBOMtrue \fi \ifpdfx@x @@ -658,11 +1039,18 @@ /TrimBox[25 20 570 773]} \fi \ifnum\pdfminorversion >3 \relax - \pdfmapline{+dummy-space <dummy-space.pfb} + \expandafter\ifx\csname pdfsuppresswarningdupmap\endcsname\relax + \pdfmapline{+dummy-space <dummy-space.pfb} + \else + \advance\pdfsuppresswarningdupmap 1 + \pdfmapline{+dummy-space <dummy-space.pfb} + \advance\pdfsuppresswarningdupmap -1 + \fi \expandafter\ifx\csname pdfgeninterwordspace\endcsname\relax\else \pdfgeninterwordspace=1 \relax \fi \fi +%% the "pdftex" option seems to work fine with LuaTeX \ifpdfx@x \@ifpackageloaded{hyperref}{% \hypersetup{draft,pdftex,pdfpagemode=UseNone,bookmarks=false,pdfversion=1.\the\pdfminorversion]} @@ -679,13 +1067,18 @@ \else \@ifpackageloaded{hyperref}{% \hypersetup{pdftex,pdfa}% + \Hy@pdfatrue }{% \RequirePackage[pdftex,pdfa]{hyperref} + \Hy@pdfatrue }% \fi\fi -\hypersetup{pdfencoding=unicode} +\hypersetup{pdfencoding=auto}% unicode -\RequirePackage{inputenc} +\ifluatex\else + \RequirePackage{inputenc} +\fi +\InputIfFileExists{\pdfx@encodingfile}{}{} %%---------------------------------------------------------------------- %% Macros for reading XMP data with special catcodes. Usage: @@ -703,75 +1096,44 @@ \xmp@doparse{#1}% } \def\xmp@doparse#1#2{% - \def\@this{#2}#1% - \endgroup% + \def\@this{#2}#1 + \endgroup } %%---------------------------------------------------------------------- %% Local commands. They are only brought into scope during the reading %% of xmpdata. -\def\pdfx@localcommands{% - \def\Title{\xmp@parse{\global\let\xmp@Title\@this}}% - \def\Author{\xmp@parse{\global\let\xmp@Author\@this}}% - \def\Keywords{\xmp@parse{\global\let\xmp@Keywords\@this}}% - \def\Subject{\xmp@parse{\global\let\xmp@Subject\@this}}% - \def\CreatorTool{\xmp@parse{\global\let\xmp@CreatorTool\@this}}% - \def\Producer{\xmp@parse{\global\let\xmp@Producer\@this}}% - \def\Volume{\xmp@parse{\global\let\xmp@Volume\@this}}% - \def\Issue{\xmp@parse{\global\let\xmp@Issue\@this}}% - \def\CoverDisplayDate{\xmp@parse{\global\let\xmp@CoverDisplayDate\@this}}% - \def\CoverDate{\xmp@parse{\global\let\xmp@CoverDate\@this}}% +\def\pdfx@localcommands{ + \def\Title{\xmp@parse{\global\let\xmp@Title\@this}} + \def\Author{\xmp@parse{\global\let\xmp@Author\@this}} + \def\Keywords{\xmp@parse{\global\let\xmp@Keywords\@this}} + \def\Subject{\xmp@parse{\global\let\xmp@Subject\@this}} + \def\CreatorTool{\xmp@parse{\global\let\xmp@CreatorTool\@this}} + \def\Producer{\xmp@parse{\global\let\xmp@Producer\@this}} + \def\Volume{\xmp@parse{\global\let\xmp@Volume\@this}} + \def\Issue{\xmp@parse{\global\let\xmp@Issue\@this}} + \def\CoverDisplayDate{\xmp@parse{\global\let\xmp@CoverDisplayDate\@this}} + \def\CoverDate{\xmp@parse{\global\let\xmp@CoverDate\@this}} \def\Copyright{\xmp@parse{\global\let\xmp@Copyright\@this% - \ifx\xmp@Copyrighted\@empty\gdef\xmp@Copyrighted{True}\fi}}% + \ifx\xmp@Copyrighted\@empty\gdef\xmp@Copyrighted{True}\fi}} \def\CopyrightURL{\xmp@parse{\global\let\xmp@CopyrightURL\@this% - \ifx\xmp@Copyrighted\@empty\gdef\xmp@Copyrighted{True}\fi}}% - \def\Copyrighted{\xmp@parse{\global\let\xmp@Copyrighted\@this}}% - \def\Doi{\xmp@parse{\global\let\xmp@Doi\@this}}% - \def\Lastpage{\xmp@parse{\global\let\xmp@Lastpage\@this}}% - \def\Firstpage{\xmp@parse{\global\let\xmp@Firstpage\@this}}% - \def\PublicationType{\xmp@parse{\global\let\xmp@PublicationType\@this}}% + \ifx\xmp@Copyrighted\@empty\gdef\xmp@Copyrighted{True}\fi}} + \def\Copyrighted{\xmp@parse{\global\let\xmp@Copyrighted\@this}} + \def\Doi{\xmp@parse{\global\let\xmp@Doi\@this}} + \def\Lastpage{\xmp@parse{\global\let\xmp@Lastpage\@this}} + \def\Firstpage{\xmp@parse{\global\let\xmp@Firstpage\@this}} + \def\PublicationType{\xmp@parse{\global\let\xmp@PublicationType\@this}} \def\Journaltitle{\xmp@parse{\global\let\xmp@Journaltitle\@this% - \ifx\xmp@PublicationType\@empty\gdef\xmp@PublicationType{journal}\fi}}% - \def\Journalnumber{\xmp@parse{\global\let\xmp@Journalnumber\@this}}% - \def\Publisher{\xmp@parse{\global\let\xmp@Publisher\@this}}% - \def\AuthoritativeDomain{\xmp@parse{\global\let\xmp@AuthoritativeDomain\@this}}% - % some aliases for backward compatibility: - \let\Creator\CreatorTool% - \let\Org\Publisher% - \let\WebStatement\CopyrightURL% - % user-level commands for color profiles: - \let\setRGBcolorprofile\pdfx@setRGBcolorprofile% - \let\setCMYKcolorprofile\pdfx@setCMYKcolorprofile% - \let\setGRAYcolorprofile\pdfx@setGRAYcolorprofile% + \ifx\xmp@PublicationType\@empty\gdef\xmp@PublicationType{journal}\fi}} + \def\Journalnumber{\xmp@parse{\global\let\xmp@Journalnumber\@this}} + \def\Publisher{\xmp@parse{\global\let\xmp@Publisher\@this}} + \def\AuthoritativeDomain{\xmp@parse{\global\let\xmp@AuthoritativeDomain\@this}} % currently unused; for backward compatibility + \let\Creator\CreatorTool % for backward compatibility + \let\Org\Publisher % for backward compatibility + \let\WebStatement\CopyrightURL % for backward compatibility } %%---------------------------------------------------------------------- -%% Defaults - -\def\xmp@Producer{pdfTeX} -\edef\xmp@CreatorTool{\@pdfcreator} - -\global\let\xmp@Title\@empty -\global\let\xmp@Author\@empty -\global\let\xmp@Keywords\@empty -\global\let\xmp@Subject\@empty -\global\let\xmp@Volume\@empty -\global\let\xmp@Issue\@empty -\global\let\xmp@CoverDisplayDate\@empty -\global\let\xmp@CoverDate\@empty -\global\let\xmp@Copyright\@empty -\global\let\xmp@CopyrightURL\@empty -\global\let\xmp@Copyrighted\@empty -\global\let\xmp@Doi\@empty -\global\let\xmp@Lastpage\@empty -\global\let\xmp@Firstpage\@empty -\global\let\xmp@PublicationType\@empty -\global\let\xmp@Journaltitle\@empty -\global\let\xmp@Journalnumber\@empty -\global\let\xmp@Publisher\@empty -\global\let\xmp@AuthoritativeDomain\@empty - -%%---------------------------------------------------------------------- %% The following characters and markup can be used within the XMP data %% defined by \Author, \Title, and so on. %% @@ -818,45 +1180,85 @@ {\obeyspaces\gdef\pdfx@sep{</rdf:li>^^J <rdf:li>}} -\def\pdfx@xmpmarkup{% - \pdfx@actives% - \edef\@amp{\expandafter\@gobble\string\&}% - \edef\@hash{\expandafter\@gobble\string\#}% - \edef\ {\expandafter\@gobble\string\ }% - \edef\%{\expandafter\@gobble\string\%}% - \edef\{{\expandafter\@gobble\string\{}% - \edef\}{\expandafter\@gobble\string\}}% - \edef\backslash{\expandafter\@gobble\string\\}% - \def\@unicode##1{\@amp\@hash x##1;}% - \def\pdfx@amp{\@unicode{0026}}% - \def\pdfx@lt{\@unicode{003c}}% - \def\pdfx@gt{\@unicode{003e}}% - \def\copyright{\@unicode{00A9}}% +\def\pdfx@xmpmarkup{ + \pdfx@actives + \edef\@amp{\expandafter\@gobble\string\&} + \edef\@hash{\expandafter\@gobble\string\#} + \edef\ {\expandafter\@gobble\string\ } + \edef\%{\expandafter\@gobble\string\%} + \edef\{{\expandafter\@gobble\string\{} + \edef\}{\expandafter\@gobble\string\}} + \edef\backslash{\expandafter\@gobble\string\\} + \def\@unicode##1{\@amp\@hash x##1;} + \def\pdfx@amp{\@unicode{0026}} + \def\pdfx@lt{\@unicode{003c}} + \def\pdfx@gt{\@unicode{003e}} + \def\copyright{\@unicode{00A9}} \let\&\pdfx@amp % for backward compatibility \let\TextCopyright\copyright % for backward compatibility - \let\sep\pdfx@sep% + \let\sep\pdfx@sep + \the\pdfxsafeforxmp@toks } +%% In case macros are used in XMP Metadata, need a way to map these +%% to simple text, rather than specific font characters, or whatever: +\newtoks\pdfxsafeforxmp@toks +\def\pdfxEnableCommands#1{% user command + \expandafter\global\expandafter\pdfxsafeforxmp@toks + \expandafter{\the\pdfxsafeforxmp@toks#1}} + %%---------------------------------------------------------------------- %% Markup bindings to be used during PDF string generation. -\def\pdfx@pdfmarkup{% - \pdfx@actives% - \edef\%{\expandafter\@gobble\string\%}% - \edef\{{\expandafter\@gobble\string\{}% - \edef\}{\expandafter\@gobble\string\}}% - \edef\pdfx@backslash{\expandafter\@gobble\string\\}% - \def\backslash{\pdfx@backslash000\pdfx@backslash134}% - \edef\pdfx@amp{\expandafter\@gobble\string\&}% - \edef\pdfx@lt{\expandafter\@gobble\string\<}% - \edef\pdfx@gt{\expandafter\@gobble\string\>}% +\def\pdfx@pdfmarkup{ + \pdfx@actives + \edef\%{\expandafter\@gobble\string\%} + \edef\{{\expandafter\@gobble\string\{} + \edef\}{\expandafter\@gobble\string\}} + \edef\pdfx@backslash{\expandafter\@gobble\string\\} + \def\backslash{\pdfx@backslash000\pdfx@backslash134} + \edef\pdfx@amp{\expandafter\@gobble\string\&} + \edef\pdfx@lt{\expandafter\@gobble\string\<} + \edef\pdfx@gt{\expandafter\@gobble\string\>} \let\TextCopyright\copyright % for backward compatibility - \def\sep{, }% - % Note: '\ ', \&, \copyright are already predefined by hyperref. + \def\sep{, } +%% Note: '\ ', \&, \copyright are already predefined by hyperref. + \the\pdfxsafeforxmp@toks } %%---------------------------------------------------------------------- -\def\pdfx@findUUID#1{\edef\pdfx@tmpstring{\pdfmdfivesum{#1}} +%% Defaults + +\ifluatex + \def\xmp@Producer{LuaTeX} +\else + \def\xmp@Producer{pdfTeX} +\fi +\edef\xmp@CreatorTool{\@pdfcreator} + +\global\let\xmp@Title\@empty +\global\let\xmp@Author\@empty +\global\let\xmp@Keywords\@empty +\global\let\xmp@Subject\@empty +\global\let\xmp@Volume\@empty +\global\let\xmp@Issue\@empty +\global\let\xmp@CoverDisplayDate\@empty +\global\let\xmp@CoverDate\@empty +\global\let\xmp@Copyright\@empty +\global\let\xmp@CopyrightURL\@empty +\gdef\xmp@WebStatement{\xmp@CopyrightURL} +\global\let\xmp@Doi\@empty +\global\let\xmp@Lastpage\@empty +\global\let\xmp@Firstpage\@empty +\global\let\xmp@PublicationType\@empty +\global\let\xmp@Journaltitle\@empty +\global\let\xmp@Journalnumber\@empty +\global\let\xmp@Publisher\@empty +\gdef\xmp@Org{\xmp@Publisher} +\global\let\xmp@AuthoritativeDomain\@empty + +%%---------------------------------------------------------------------- +\def\pdfx@findUUID#1{\edef\pdfx@tmpstring{\pdfx@mdfivesum{#1}} \expandafter\pdfx@eightofnine\pdfx@tmpstring\end} \def\pdfx@eightofnine#1#2#3#4#5#6#7#8#9\end{% \xdef\pdfx@eightchars{#1#2#3#4#5#6#7#8} @@ -883,74 +1285,110 @@ %% ----- Color Profiles ------- %% Define how to specify the profile, so the default %% can be over-ridden in the .xmpdata file. - -%% The user-level macros are only brought into scope during the reading -%% of xmpdata. -%% -%% Usage: -%% \setRGBcolorprofile{<filename>}{<identifier>}{<info string>}{<registry URL>} -%% \setCMYKcolorprofile{<filename>}{<output intent>}{<identifier>}{<registry URL>} -%% \setGRAYcolorprofile{<filename>}{<output intent>}{<identifier>}{<registry URL>} %% -%% Within the arguments of each macro, the characters '<', '>', '&', -%% '^', '_', '#', '$', and '~' can be used as themselves, but -%% '%' must be escaped as '\%'. +%% --- user-command --- RGB profile needed with PDF/A-?? files +%% \setRGBcolorprofile{<filename>}{<identifier>}{<info string>}{<registry URL>} +\def\setRGBcolorprofile{% + \begingroup + \catcode`\_ 11\relax\catcode`\& 11\relax\catcode`\~ 11\relax\catcode`\% 11\relax + \edef\({\string\(}\edef\){\string\)}% + \pdfx@setrgbprofile} +%% +%% --- user-command --- CMYK profile needed with PDF/X-?? files +%% \setCMYKcolorprofile{<filename>}{<output intent>}{<identifier>}{<registry URL>} +\def\setCMYKcolorprofile{% + \begingroup + \catcode`\_ 11\relax\catcode`\& 11\relax\catcode`\~ 11\relax\catcode`\% 11\relax + \edef\({\string\(}\edef\){\string\)}% + \pdfx@setcmykprofile} +%% +%% --- user-command --- DeviceGray profile needed with PDF/E-1 files +%% \setGRAYcolorprofile{<filename>}{<output intent>}{<identifier>}{<registry URL>} +\def\setGRAYcolorprofile{% + \begingroup + \catcode`\_ 11\relax\catcode`\& 11\relax\catcode`\~ 11\relax\catcode`\% 11\relax + \edef\({\string\(}\edef\){\string\)}% + \pdfx@setgrayprofile} +%% +%% --- user-command --- External profile needed with PDF/X-4p and PDF/X-5pg files +%% \setEXTERNALprofile{<profilename>}{<output intent>}{<identifier>}{<registry URL>}% +%% {<color-space>}{<ICC Version>}{<provider URL>}{<extra info>}{<Check Sum>} +\def\setEXTERNALprofile{% + \begingroup + \catcode`\_ 11\relax\catcode`\& 11\relax\catcode`\~ 11\relax\catcode`\% 11\relax + \edef\({\string\(}\edef\){\string\)}% + \pdfx@externalprofile} +%% %% -%% Note: -%% * RGB profile is used with PDF/A and PDF/E files. -%% * CMYK profile is used with PDF/X and PDF/VT files. -%% * GRAY profile is currently unused. -\def\pdfx@profilecatcodes{% - \catcode`\<=12\catcode`\>=12\catcode`\&=12\catcode`\^=12 - \catcode`\_=12\catcode`\#=12\catcode`\$=12\catcode`\~=12 - \edef\%{\expandafter\@gobble\string\%}% +\def\pdfx@setRGBcolorprofiledir#1{% + \gdef\pdfx@RGBcolorprofiledir{#1}% } -\def\pdfx@setRGBcolorprofile{% - \begingroup - \pdfx@profilecatcodes - \pdfx@dosetRGBcolorprofile} -\def\pdfx@dosetRGBcolorprofile#1#2#3#4{% - \xdef\pdfx@rgb@profile{#1}% valid file name - \xdef\pdfx@rgb@identifier{#2}% - \xdef\pdfx@rgb@info{#3}% - \pdfstringdef\pdfx@rgb@registry{#4}% valid URL - \endgroup}% closes-off \pdfx@setRGBcolorprofile +\def\pdfx@setCMYKcolorprofiledir#1{% + \gdef\pdfx@CMYKcolorprofiledir{#1}% +} +\pdfx@setRGBcolorprofiledir{} +\pdfx@setCMYKcolorprofiledir{} + +%% This does indeed work! Use it in .xmpdata files +\providecommand{\AdobeMacOSdir}{/Library/Application Support/Adobe/Color/Profiles/Recommended/} +\edef\pdfx@tmp{C:\string\Windows\string\System32\string\Spool\string\Drivers\string\Color\string/} +\expandafter\providecommand\expandafter{\expandafter\WindowsColordir\expandafter}\expandafter{\pdfx@tmp} +%%\pdfx@setcolorprofiledir{\AdobeMacOSdir} + +%% overide that value using the following commands: +\let\pdfxSetCMYKcolorProfileDir\pdfx@setCMYKcolorprofiledir +\let\pdfxSetRGBcolorProfileDir\pdfx@setRGBcolorprofiledir +\let\pdfxSetColorProfileDir\pdfxSetCMYKcolorProfileDir % for back-compatibility %% -\def\pdfx@setCMYKcolorprofile{% - \begingroup - \pdfx@profilecatcodes - \pdfx@dosetCMYKcolorprofile} -\def\pdfx@dosetCMYKcolorprofile#1#2#3#4{% - \xdef\pdfx@cmyk@profile{#1}% valid file name - \pdfstringdef\pdfx@cmyk@intent{#2}% color intent - \pdfstringdef\pdfx@cmyk@identifier{#3}% text string identifier - \pdfstringdef\pdfx@cmyk@registry{#4}% valid URL - \endgroup}% closes-off \pdfx@setCMYKcolorprofile +\def\pdfx@setrgbprofile#1#2#3#4{% + \xdef\pdfx@rgb@profile{\pdfx@RGBcolorprofiledir#1}% valid file name + \gdef\pdfx@rgb@identifier{#2}% + \gdef\pdfx@rgb@info{#3}% + \pdfstringdef\pdfx@rgb@registry{#4}% valid URL + \endgroup}% closes-off \setRGBcolorprofile %% -\def\pdfx@setGRAYcolorprofile{% - \begingroup - \pdfx@profilecatcodes - \pdfx@dosetGRAYcolorprofile} -\def\pdfx@dosetGRAYcolorprofile#1#2#3#4{% - \xdef\pdfx@gray@profile{#1}% valid file name - \xdef\pdfx@gray@intent{#2}% - \xdef\pdfx@gray@identifier{#3}% +\def\pdfx@setcmykprofile#1#2#3#4{% + \xdef\pdfx@cmyk@profile{\pdfx@CMYKcolorprofiledir#1}% valid file name +%% \expandafter\gdef\expandafter\pdfx@cmyk@profile\expandafter{\pdfx@colorprofiledir#1}% valid file name + \gdef\pdfx@cmyk@intent{#2}% +%% \pdfstringdef\pdfx@cmyk@intent{#2}% color intent + \gdef\pdfx@cmyk@identifier{#3}% +%% \pdfstringdef\pdfx@cmyk@identifier{#3}% text string identifier + \gdef\pdfx@cmyk@registry{#4}% +%% \pdfstringdef\pdfx@cmyk@registry{#4}% valid URL + \endgroup}% closes-off \setCMYKcolorprofile +%% +\def\pdfx@setgrayprofile#1#2#3#4{% + \gdef\pdfx@gray@profile{#1}% valid file name + \gdef\pdfx@gray@intent{#2}% + \gdef\pdfx@gray@identifier{#3}% \pdfstringdef\pdfx@gray@registry{#4}% valid URL - \endgroup}% closes-off \pdfx@setGRAYcolorprofile -%%---------------------------------------------------------------------- + \endgroup}% closes-off \setGRAYcolorprofile +%% +\def\pdfx@externalprofile#1#2#3#4#5#6#7#8#9{% + \gdef\pdfx@extprofile{#1}% PDF string for /ProfileName + \gdef\pdfx@cmyk@intent{#2}% PDF string for /OutputCondition + \gdef\pdfx@cmyk@identifier{#3}% PDF string for /OutputConditionIdentifier + \gdef\pdfx@cmyk@registry{#4}% {http://www.color.org}% + \gdef\pdfx@profileCS{#5}% 4 bytes for /ProfileCS + \gdef\pdfx@iccversion{#6}% Hex string for /ICCVersion < ... > + \gdef\pdfx@colorURL{#7}% URL + \gdef\pdfx@cmyk@info{#8}% for /Info + \gdef\pdfx@profile@checksum{#9}% Hex string for /CheckSum < ... > + \endgroup}% closes-off \setEXTERNALprofile +%% %% default color profiles -\pdfx@setRGBcolorprofile{sRGB_IEC61966-2-1_black_scaled.icc} - {sRGB_IEC61966-2-1_black_scaled} - {sRGB IEC61966 v2.1 with black scaling} - {http://www.color.org} -\pdfx@setCMYKcolorprofile{coated_FOGRA39L_argl.icc} - {Coated FOGRA39} - {FOGRA39 (ISO Coated v2 300\% (ECI))} - {http://www.argyllcms.com/} -\pdfx@setGRAYcolorprofile{Gray_linear.icc} - {} - {Custom} - {http://www.freedesktop.org/wiki/OpenIcc} +{\catcode`\_ 12 \catcode`\& 12 \catcode`\~ 12 + \gdef\pdfx@xprofile@cmykdefault{coated_FOGRA39L_argl.icc} + \gdef\pdfx@aprofile@rgbdefault{sRGB_IEC61966-2-1_black_scaled.icc} + \gdef\pdfx@eprofile@graydefault{Gray_linear.icc} + \gdef\pdfx@pprofile@externaldefault{FOGRA39} +}% end of \catcode +\xdef\pdfx@rgb@profile{\pdfx@aprofile@rgbdefault} +\xdef\pdfx@cmyk@profile{\pdfx@xprofile@cmykdefault} +\xdef\pdfx@gray@profile{\pdfx@eprofile@graydefault} +\xdef\pdfx@external@profile{\pdfx@pprofile@externaldefault} + %%---------------------------------------------------------------------- %% License for the file sRGB_IEC61966-2-1_black_scaled.icc : %% @@ -969,15 +1407,41 @@ %% %% Terms of use %% -%% To anyone who acknowledges that the file "sRGB_IEC61966-2-1_black_scaled.icc" -%% is provided "AS IS" WITH NO EXPRESS OR IMPLIED WARRANTY, permission -%% to use, copy and distribute these file for any purpose is hereby -%% granted without fee, provided that the file is not changed including -%% the ICC copyright notice tag, and that the name of ICC shall not be -%% used in advertising or publicity pertaining to distribution of the -%% software without specific, written prior permission. ICC makes no -%% representations about the suitability of this software for any -%% purpose. +%% To anyone who acknowledges that the file "sRGB_IEC61966-2-1_black_scaled.icc" is provided "AS IS" WITH NO EXPRESS +%% OR IMPLIED WARRANTY, permission to use, copy and distribute these file for any purpose is hereby granted without fee, +%% provided that the file is not changed including the ICC copyright notice tag, and that the name of ICC shall not be used +%% in advertising or publicity pertaining to distribution of the software without specific, written prior permission. +%% ICC makes no representations about the suitability of this software for any purpose. +%% +%%---------------------------------------------------------------------- +{\catcode`\| 14 \catcode`\% 12 \catcode`\_ 12 + \edef\@bchar{\expandafter\@gobble\string\\}| + \edef\({\string\(}\edef\){\string\)}| + \begingroup | \endgroup occurs within the macro expansion +\expandafter\pdfx@setrgbprofile\expandafter{sRGB_IEC61966-2-1_black_scaled.icc}| + {sRGB_IEC61966-2-1_black_scaled}| + {sRGB IEC61966 v2.1 with black scaling}| + {http://www.color.org}| + \begingroup | \endgroup occurs within the macro expansion +\pdfx@setcmykprofile{coated_FOGRA39L_argl.icc}|{FOGRA39L.icc}| coated_FOGRA39L_argl.icc + {Coated FOGRA39}| + {FOGRA39 \string\(ISO Coated v2 300%\space \string\(ECI\string\)\string\)}| + {http://www.argyllcms.com/}|{http://www.color.org}| + \begingroup | \endgroup occurs within the macro expansion +\pdfx@setgrayprofile{Gray_linear.icc}| + {}| + {Custom}| + {http://www.freedesktop.org/wiki/OpenIcc}| +\ifno@iccprofile + \begingroup | \endgroup occurs within the macro expansion + \pdfx@externalprofile{Coated FOGRA39 \(ISO 12647-2:2004\)}| + {Offset commercial and specialty printing according to ISO 12647-2:2004 | + / Amd 1, paper type 1 or 2 \(gloss or matte coated offset, 115 g/m2\), | + screen frequency 60/cm.}| + {FOGRA39}{http://www.color.org}{CMYK}{02100000}{http://www.adobe.com}| + {Coated FOGRA39 \(ISO 12647-2:2004\)}{74FF62F330BF0DBE4495B5720542D511}| +\fi +}% end of \catcode %% %%---------------------------------------------------------------------- %% License for the file coated_FOGRA39L_argl.icc : @@ -1006,46 +1470,97 @@ %% distribution. %%---------------------------------------------------------------------- +\newif\ifexternalICCprofiles + \begingroup - \inputencoding{8bit}% +%% override unneeded color-profile specifier + \ifpdfx@x + \ifno@iccprofile % PDF/X-4p and PDF/X-5pg PDF/VT-2 + \begingroup + \def\pdfx@extprofiles@store{AdobeExternalProfiles.tex}% + \InputIfFileExists{\pdfx@extprofiles@store}% + {\global\externalICCprofilestrue \catcode `\# 12\relax}% + {\typeout{** pdfx: No file \pdfx@extprofiles@store\space found for PDF/X-4p or PDF/X-5pg}}% + \endgroup + \else + \begingroup + \def\pdfx@profiles@store{AdobeColorProfiles.tex}% + \InputIfFileExists{\pdfx@profiles@store}% + {\global\externalICCprofilesfalse \catcode `\# 12\relax}% + {\typeout{** pdfx: No file \pdfx@profiles@store\space found for PDF/X variants}}% + \endgroup + \def\setRGBcolorprofile#1#2#3#4{}% + \fi + \else +%% load it, in case the macros are used in .xmpdata + \InputIfFileExists{AdobeColorProfiles.tex}{}{}% + \ifpdfx@e + \else + \def\setCMYKcolorprofile#1#2#3#4{}% + \def\setGRAYcolorprofile#1#2#3#4{}% + \fi\fi +%% + \ifluatex\else + \inputencoding{8bit}% + \fi \makeatletter \pdfx@localcommands +%% \InputIfFileExists{\jobname.xmpdata}% - {\typeout{**pdfx: Metadata file \jobname.xmpdata read successfully.}}% - {\typeout{**pdfx: No file \jobname.xmpdata . Metadata will be incomplete!}} + {\typeout{** pdfx: Metadata file \jobname.xmpdata read successfully.}}% + {\typeout{** pdfx: No file \jobname.xmpdata . Metadata will be incomplete!}} \endgroup + %% ---------------------------------------------------------------------- +\newif\ifpdfx@cmyk \begingroup \ifpdfx@x % PDF/X needs a CMYK color profile for printing - \def\0{\string\0} + \global\pdfx@cmyktrue + \edef\@pctchar{\expandafter\@gobble\string\%} + \edef\@bchar{\expandafter\@gobble\string\\} + \edef\0{\string\0} + \edef\({\string\(} + \edef\){\string\)} \catcode`\_ 12 \ifno@iccprofile % PDF/X-4p and PDF/X-5pg - \immediate\pdfobj {<</FS /URL /F (http://www.color.org/registry/profiles/Coated_Fogra39L_VIGC_300.icc)>>} + \immediate\pdfobj {<</FS/URL/F(\pdfx@colorURL)>>} \edef\OBJ@URLs{\the\pdflastobj}% - \xdef\pdfx@cmyk@intent{Coated_Fogra39L_VIGC_300}% - \xdef\pdfx@cmyk@identifier{Coated_Fogra39L_VIGC_300.icc}% +%% \xdef\pdfx@cmyk@intent{Offset commercial and specialty printing according to ISO 12647-2:2004 / Amd 1, % +%% paper type 1 or 2 \(gloss or matte coated offset, 115 g/m2\), screen frequency 60/cm.0}% +%% \xdef\pdfx@cmyk@info{Coated FOGRA39 \(ISO 12647-2:2004\)}% +%% \xdef\pdfx@cmyk@name{Coated FOGRA39 \(ISO 12647-2:2004\)}% +%% \xdef\pdfx@cmyk@identifier{FOGRA39}% \immediate\pdfobj {<<% - /CheckSum <5449c505618a9b6c38634b4708ae9e37>^^J% d5f0714cd9d6092b6ac93b625f5d8a0c>% - /ICCVersion (\004\002\000\000)% 4.2.0.0 - /ProfileCS (CMYK)^^J% - /ProfileName (\pdfx@cmyk@identifier)^^J% + /CheckSum <\pdfx@profile@checksum>^^J% + /ICCVersion <\pdfx@iccversion>% + /ProfileCS (\pdfx@profileCS)^^J% + /ProfileName (\pdfx@extprofile)^^J% /URLs [\OBJ@URLs\space 0 R ] >>} % \edef\OBJ@ICC{\the\pdflastobj}% +%% \IfFileExists{\pdfx@rgb@profile}{% +%% \immediate\pdfobj stream attr{/N 3^^J /Alternate /DeviceRGB} file{\pdfx@rgb@profile}% +%% \edef\OBJ@RGB{\the\pdflastobj}% +%% }{% +%% \errmessage{No color profile found to use for RGB screen colors.}% +%% }% \pdfcatalog{% /OutputIntents [ << /Type/OutputIntent /S/GTS_PDFX /OutputCondition (\pdfx@cmyk@intent)% /OutputConditionIdentifier (\pdfx@cmyk@identifier)% + /Info(\pdfx@cmyk@intent)% /RegistryName(\pdfx@cmyk@registry) - % extra dictionary required for PDF/X-4p and PDF/X-5pg +%% extra dictionary required for PDF/X-4p and PDF/X-5pg /DestOutputProfileRef \OBJ@ICC\space 0 R >> ]}% +%% \else % PDF/X-1 , PDF/X-1a , PDF/X-3 , PDF/X-4 , PDF/X-5g - \IfFileExists{\pdfx@cmyk@profile}{% +%% + \IfFileExists{"\pdfx@cmyk@profile"}{% % embedded CMYK color profile - \immediate\pdfobj stream attr{/N 4} file{\pdfx@cmyk@profile}% + \immediate\pdfobj stream attr{/N 4} file{"\pdfx@cmyk@profile"}% \edef\OBJ@CMYK{\the\pdflastobj}% \pdfcatalog{% /OutputIntents [ << @@ -1053,22 +1568,47 @@ /S/GTS_PDFX /OutputCondition (\pdfx@cmyk@intent)% /OutputConditionIdentifier (\pdfx@cmyk@identifier)% + /Info(\pdfx@cmyk@intent)% /RegistryName(\pdfx@cmyk@registry) /DestOutputProfile \OBJ@CMYK\space 0 R >> ]}% }{% - \errmessage{No color profile found to use for CMYK printing colors.}% + \errmessage{No color profile \pdfx@cmyk@profile\ found to use for CMYK printing colors.}% }% \fi % end of \ifno@iccprofile -\else -%% PDF/A needs an RGB color profile for on-screen rendering - \IfFileExists{\pdfx@rgb@profile}{% - \immediate\pdfobj stream attr{/N 3^^J/Alternate/DeviceRGB} file{\pdfx@rgb@profile}% - \edef\OBJ@RGB{\the\pdflastobj}% +\else +%% PDF/A and PDF/E can specify a CMYK profile + \expandafter\ifx\expandafter\relax\pdfx@rgb@profile\relax + \global\pdfx@cmyktrue + \IfFileExists{"\pdfx@cmyk@profile"}{% + % embedded CMYK color profile + \immediate\pdfobj stream attr{/N 4} file{"\pdfx@cmyk@profile"}% + \edef\OBJ@CMYK{\the\pdflastobj}% + \pdfcatalog{% + /ViewerPreferences <</DisplayDocTitle true >> + /OutputIntents [ << + /Type /OutputIntent + \ifpdfx@e + /S/ISO_PDFE1 + \else + /S/GTS_PDFA1 + \fi + /OutputCondition (\pdfx@cmyk@intent)% use this or /Info ? + /OutputConditionIdentifier (\pdfx@cmyk@identifier)% + /DestOutputProfile \OBJ@CMYK\space 0 R + /Info(\pdfx@cmyk@intent)% + /RegistryName(\pdfx@cmyk@registry) + >> ]}% }{% - \errmessage{No color profile found to use for RGB screen colors.}% - }% - \pdfcatalog{% + \errmessage{No color profile \pdfx@cmyk@profile\ found to use for CMYK screen colors.}% + }% + \else +%% PDF/A and PDF/E usually need an RGB color profile for on-screen rendering + \global\pdfx@cmykfalse + \IfFileExists{"\pdfx@rgb@profile"}{% + \immediate\pdfobj stream attr{/N 3^^J/Alternate/DeviceRGB} file{"\pdfx@rgb@profile"}% + \edef\OBJ@RGB{\the\pdflastobj}% + \pdfcatalog{% /ViewerPreferences <</DisplayDocTitle true >> /OutputIntents [ << /Type /OutputIntent @@ -1077,12 +1617,16 @@ \else /S/GTS_PDFA1 \fi - /OutputConditionIdentifier (\pdfx@rgb@identifier)% + /OutputConditionIdentifier (\pdfx@rgb@identifier)% /DestOutputProfile \OBJ@RGB\space 0 R /Info(\pdfx@rgb@info) /RegistryName(\pdfx@rgb@registry) >> ]}% + }{% + \errmessage{No color profile found to use for RGB screen colors.}% + }% + \fi % end of \ifx \fi % end of \ifpdfx@x \endgroup @@ -1098,9 +1642,16 @@ \begingroup \pdfx@xmpmarkup \def\sep{, }% - \inputencoding{8bit}\makeatletter + \ifluatex\else + \inputencoding{8bit}% + \fi + \makeatletter + \IfFileExists{\pdfx@encodingfile}{% + \def\cf@encoding{U}\fontencoding{U}% + }{}% \xdef\xmp@@Keywords{\xmp@Keywords} \xdef\xmp@@Author{\xmp@Author} + \xdef\xmp@@Copyright{\xmp@Copyright} \endgroup %% ---------------------------------------------------------------------- @@ -1140,16 +1691,18 @@ %% ---------------------------------------------------------------------- %% \pdfx@topdfstring\toka\tokb: Convert the string in \tokb to a format %% appropriate for PDF /Info strings, i.e., PDFDoc encoding or UTF-16 -%% encoding, and store the result in \toka. As a special case, if \tokb +%% encoding, and store the result in \toka As a special case, if \tokb %% is \@empty, set \toka to \@empty. \def\pdfx@topdfstring#1#2{% \ifx#2\@empty - \global\let#1\@empty + \global\let#1\empty \else \begingroup - \inputencoding{utf8}% - \hypersetup{pdfencoding=unicode}% + \ifluatex\else + \inputencoding{utf8}% + \fi + \hypersetup{pdfencoding=auto}% \pdfstringdef#1{#2}% \endgroup \fi @@ -1172,7 +1725,8 @@ \pdfgentounicode=1 \ifpdfx@x - {\pdfinfo{% order of these dictionary keys should not matter + {\def\sep{,}% + \pdfinfo{% order of these dictionary keys should not matter \ifx\pdfx@Author\@empty\else /Author(\pdfx@Author)\fi /CreationDate(D:\pdfx@convDate)% /Creator(\pdfx@CreatorTool)% @@ -1194,10 +1748,11 @@ \ifx\pdfx@Title\@empty\else /Title(\pdfx@Title)\fi /Trapped/False% }% end of PDF/X info - }% + }% end of scope for \sep \else \ifpdfx@e - {\pdfinfo{% order of these dictionary keys should not matter + {\def\sep{,}% + \pdfinfo{% order of these dictionary keys should not matter \ifx\pdfx@Author\@empty\else /Author(\pdfx@Author)\fi /CreationDate(D:\pdfx@convDate)% /Creator(\pdfx@CreatorTool)% @@ -1209,16 +1764,17 @@ \ifx\pdfx@Title\@empty\else /Title(\pdfx@Title)\fi /Trapped/False% }% end of PDF/E info - }% + }% end of scope for \sep \else \def\pdfx@confA{a}% \def\pdfx@confB{b}% \def\pdfx@confU{u}% - \edef\xmp@conformance{\csname pdfx@conf\xmp@Conformance\endcsname}% + \expandafter\def\expandafter\xmp@conf\expandafter{\csname pdfx@conf\xmp@Conformance\endcsname}% \AtBeginDocument{% \def\PDF@FinishDoc{% \Hy@UseMaketitleInfos - \pdfinfo{% + {\def\sep{, }% + \pdfinfo{% \ifx\pdfx@Title\@empty\else /Title(\pdfx@Title)\fi \ifx\pdfx@Author\@empty\else /Author(\pdfx@Author)\fi \ifx\pdfx@Subject\@empty\else /Subject(\pdfx@Subject)\fi @@ -1236,8 +1792,9 @@ \fi /Producer(\pdfx@Producer)% /Trapped/False - /GTS_PDFA1Version (PDF/A-\xmp@Part\xmp@conformance:\xmp@ReleaseDate)% + /GTS_PDFA1Version (PDF/A-\xmp@Part\xmp@conf:\xmp@ReleaseDate)% }% end of PDF/A info + }% end of scope for \sep }% end of \PDF@FinishDoc }% end of \AtBeginDocument \fi\fi @@ -1257,12 +1814,12 @@ \else \def\xmp@template{pdfa}% \fi\fi - % patch commands from xmpincl.sty ... +%% patch commands from xmpincl.sty … \def\pdfx@xmpinclStart{% supply byte-order marker - <?xpacket begin='^^ef^^bb^^bf'? id='W5M0MpCehiHzreSzNTczkc9d' ?> % + <?xpacket begin='^^ef^^bb^^be' id='W5M0MpCehiHzreSzNTczkc9d' ?> % }% \def\pdfx@xmpinclStartAlt{% no byte-order marker - <?xpacket begin=''? id='W5M0MpCehiHzreSzNTczkc9d' ?> % + <?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d' ?> % }% \def\pdfx@xmpinclEnd{% allow XMP packet to be writable <?xpacket end='w'?> % @@ -1273,19 +1830,64 @@ \let\mcs@xmpinclStart\pdfx@xmpinclStartAlt \fi \let\mcs@xmpinclEnd\pdfx@xmpinclEnd -%% ... preventing their redefinition +%% … preventing their redefinition \def\newcommand#1#2{}% - % +%% +%% \def\pdfx@endeval{% +%% \noexpand \TE@setvaltrue \noexpand \else +%% \noexpand \TE@setvalfalse \noexpand \fi +%% \noexpand \TE@negatefalse \noexpand \fi}% +%% \let\TE@endeval\pdfx@endeval + \ifluatex\else + \inputencoding{8bit}% + \fi + \makeatletter +%% \let\&=\xmpAmp \pdfx@xmpmarkup - \catcode `\_ 12 + \def\cf@encoding{U}\fontencoding{U}% + \providecommand{\ifnot@empty}[2]{\ifx#1\@empty\relax\else#2\fi}% +%% \catcode `\_ 12 \obeyspaces% beware of 128 space characters in the next line -- for padding end of XMP packet - \def\padding@line{ }% - \def\ifnot@empty#1#2{\ifx#1\@empty\else#2\fi} - \inputencoding{8bit}\makeatletter + \gdef\paddingline{ }% \typeout{Using XMP template file: \xmp@template.xmp}% \includexmp{\xmp@template} \endgroup +%% +%% controls the color model and conversions with xcolor package +%% +\ifpdfx@cmyk + \PassOptionsToPackage{xcolor}{cmyk,hyperref} + \def\pdfx@handlexcolor{\selectcolormodel{cmyk}\convertcolorsUtrue\convertcolorsDtrue} +%%\hypersetup{allbordercolors=black,allcolors=black}% else link borders use RGB + \ifpdfx@x\else + \AtBeginDocument{% + \def\@linkcolor{0 1 1 0}% + \def\@anchorcolor{0 0 0 1}% + \def\@citecolor{1 0 1 0}% + \def\@filecolor{.5 0 0 .5}% + \def\@urlcolor{0 1 0 0}% + \def\@menucolor{0 1 1 0}% + \def\@runcolor{.5 0 0 .5}% + \def\@linkbordercolor{0 1 1 0}% + \def\@citebordercolor{1 0 1 0}% + \def\@filebordercolor{.5 0 0 .5}% + \def\@urlbordercolor{1 0 0 0}% + \def\@menubordercolor{0 1 1 0}% + \def\@runbordercolor{.7 0 0 .3}% + \def\Fld@bcolor{0 0 0 0}% + \def\Fld@bordercolor{0 1 1 0}% + } + \fi +\else + \PassOptionsToPackage{xcolor}{rgb,hyperref} + \def\pdfx@handlexcolor{\selectcolormodel{rgb}\convertcolorsUtrue\convertcolorsDtrue} +\fi +\@ifpackageloaded{xcolor}{\pdfx@handlexcolor}{% + \AtBeginDocument{\@ifpackageloaded{xcolor}{\pdfx@handlexcolor}{}} +} + + %% disable hyperref options, to prevent changes that will cause an incompatibility \Hy@DisableOption{pdfauthor}% \Hy@DisableOption{pdftitle}% @@ -1295,12 +1897,14 @@ \Hy@DisableOption{pdfmoddate}% \Hy@DisableOption{pdfproducer}% \Hy@DisableOption{pdfkeywords}% +%% once set correctly, don't let this change + \Hy@DisableOption{pdfa}\let\Hy@pdfafalse\relax\let\Hy@pdfatrue\relax \endinput % \end{macrocode} % \iffalse %</package> % \fi % \Finale -% \PrintIndex +% \newpage\PrintIndex % \PrintChanges % \endinput diff --git a/Master/texmf-dist/source/latex/pdfx/pdfx.ins b/Master/texmf-dist/source/latex/pdfx/pdfx.ins index e4a8eee433e..86609a33310 100644 --- a/Master/texmf-dist/source/latex/pdfx/pdfx.ins +++ b/Master/texmf-dist/source/latex/pdfx/pdfx.ins @@ -4,7 +4,7 @@ \preamble - Copyright (c) 2015, CV Radhakrishnan <cvr@river-valley.org>, + Copyright (c) 2016, CV Radhakrishnan <cvr@river-valley.org>, Han The Thanh <thanh@river-valley.org>, Ross Moore <ross.moore@mq.edu.au>, Peter Selinger <selinger@mathstat.dal.ca> diff --git a/Master/texmf-dist/source/latex/pdfx/rvdtx.sty b/Master/texmf-dist/source/latex/pdfx/rvdtx.sty index 2160142cfa2..3a13373d532 100644 --- a/Master/texmf-dist/source/latex/pdfx/rvdtx.sty +++ b/Master/texmf-dist/source/latex/pdfx/rvdtx.sty @@ -19,14 +19,42 @@ % \newcounter{colorscheme} -\DeclareOption{green}{\setcounter{colorscheme}{1}} -\DeclareOption{orange}{\setcounter{colorscheme}{0}} +\DeclareOption{red}{\setcounter{colorscheme}{0}} +\DeclareOption{green}{\setcounter{colorscheme}{2}} +\DeclareOption{orange}{\setcounter{colorscheme}{1}} \ProcessOptions \RequirePackage[dvipsnames,svgnames]{xcolor} \ifcase\thecolorscheme % +% Red color spec (default) +% + \colorlet{itemcolor}{DarkRed} + \colorlet{verbcolor}{Sepia} + \colorlet{botrulecolor}{DarkRed} + \colorlet{botbgcolor}{DarkRed} + \colorlet{botcolor}{white} + \colorlet{pgrulecolor}{DarkRed!10} + \colorlet{pgbgcolor}{DarkRed!50} + + \colorlet{quicklinkrulecolor}{white} + \colorlet{quicklinkcolor}{white} + \colorlet{topverticalrule}{white} + \colorlet{titlecolor}{white} + \colorlet{hlinkcolor}{white} + \colorlet{hlinktricolor}{white} + \colorlet{linkcolor}{orange} + \colorlet{urlcolor}{orange} + + \colorlet{arrayrulecolor}{olive!30} + \colorlet{seccolor}{brown} + + \colorlet{toprulecolor}{DarkRed} + \colorlet{topbgcolor}{DarkRed} + \colorlet{topcolor}{orange} +\or +% % Orange color spec (default) % \colorlet{itemcolor}{brown} @@ -81,7 +109,7 @@ \colorlet{topbgcolor}{GreenYellow!20} \colorlet{topcolor}{GreenYellow!80} \fi - +% \def\floatpagefraction{.99} \usepackage{geometry} \geometry{top=2in, @@ -94,6 +122,7 @@ \def\pdftex{\textsc{pdf\TeX}\xspace} \def\defmacro#1{\texttt{\@bsl#1}} \def\thanh{H\`an Th\^e Th\`anh\xspace} +\def\Thanh{H\`an Th\'{\^e} Th\`anh\xspace} \let\@DRAFTout@Hook\@empty \newcommand{\DRAFTout}{\g@addto@macro\@DRAFTout@Hook} @@ -169,9 +198,11 @@ \MakeShortVerb{\|} -\IfFileExists{charter.sty}{\RequirePackage{charter}}{} -\IfFileExists{lfr.sty}{\RequirePackage[scaled=.9]{lfr}}{} -\IfFileExists{prima.sty}{\RequirePackage[scaled=.8]{prima}}{} +\IfFileExists{libertine.sty}{\RequirePackage[osf]{libertine}}{} +\IfFileExists{sourcesanspro.sty} + {\RequirePackage[osf,light,semibold]{sourcesanspro}}{} +\IfFileExists{inconsolata.sty}{\RequirePackage[scaled=.95,noupquote]{inconsolata} + \def\ttdefault{zi4}}{\def\ttdefault{cmtt}} \def\theCodelineNo{\reset@font\tiny\arabic{CodelineNo}} @@ -189,17 +220,36 @@ {1.5ex \@plus .2ex}% {\normalfont\normalsize\bfseries\color{seccolor}}} +\let\sv@section\section + +\newwrite\qlinkwrite +\immediate\openout\qlinkwrite=\jobname.links +\renewcommand\section{\@ifstar{\star@section}{\normal@section}} +\def\star@section#1{\def\next{#1} + \sv@section*{#1}% + \immediate\write\qlinkwrite{\string\fxmark{section.\thesection}% + {\expandafter\strip@prefix\meaning\next}}% +} + +\newcommand\normal@section[2][]{\def\next{#1} + \ifx\next\@empty\def\next{#2}\else\if#1*\def\next{#1}\fi\fi + \sv@section[#1]{#2}% + \immediate\write\qlinkwrite{\string\fxmark{section.\thesection}% + {\expandafter\strip@prefix\meaning\next}}% +} + %\RequirePackage[draft]{pdfdraftcopy} % \draftstring{} \puttext(0,36){\botstring}% - \puttext(0,840){\copy\topbox} + \puttext(0,842){\copy\topbox} \RequirePackage{colortbl} \arrayrulecolor{arrayrulecolor} \let\shline\hline \def\hline{\noalign{\vskip3pt}\shline\noalign{\vskip4pt}} -\RequirePackage[pdftex,colorlinks]{hyperref} +\RequirePackage{hyperref} +\hypersetup{pdftex,colorlinks} \def\Hlink#1#2{\hyperlink{#2}{\color{hlinktricolor}% $\blacktriangleright$~\color{hlinkcolor}#1}} \def\@linkcolor{linkcolor} @@ -216,10 +266,9 @@ \def\@keywords{\LaTeX, \xml} \long\def\Hrule{\\[-4pt]\hspace*{-3em}% - {\color{quicklinkrulecolor}\rule{\linewidth}{.1pt}}\\} + {\color{quicklinkrulecolor}\rule{\linewidth}{0pt}}\\} -\long\def\dtxmark[#1][#2]#3#4#5{\def\next{#1}% - \ifcase\next\or\Hlink{#4}{#3}\Hrule \fi} +\long\def\fxmark#1#2{\Hlink{#2}{#1}\Hrule} \newbox\topbox \long\def\maketitle{\global\setbox\topbox=\vbox{\hsize=\paperwidth @@ -227,19 +276,22 @@ \fcolorbox{toprulecolor}{topbgcolor}% {\parbox[t][1.5in][c]{\paperwidth}% {\hspace*{15mm}% - \parbox[c]{.35\paperwidth}{\fontsize{18pt}{20pt}% + \parbox[c]{.475\paperwidth}{\fontsize{18pt}{20pt}% \raggedright\normalfont\sffamily \selectfont - \color{titlecolor} \@title\\[6pt] - {\normalsize\rmfamily\scshape\@author}}% -% {\footnotesize\textsc{keywords:} \@keywords}}% + \color{titlecolor} \@title\\[12pt] + \parbox{\linewidth}{\fontsize{12}{13.5}\fontseries{m}% + \sffamily\upshape\selectfont\@author\strut} + }% \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}{}% + \raggedcolumns\sffamily\fontsize{7.5}{8}\fontseries{m}\selectfont + \begin{multicols}{2}[QUICK LINKS] + \IfFileExists{tmp.links}{\input tmp.links}{}% + \end{multicols} }\hspace*{5mm}% }% }% @@ -247,25 +299,24 @@ } \gdef\botstring{\fcolorbox{botrulecolor}{botbgcolor}% {\parbox[t][.5in][t]{\paperwidth}% - {\normalfont\sffamily\footnotesize% + {\normalfont\sffamily\fontseries{m}\footnotesize\selectfont% \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 + \textsc{jwra} 34, Jagathy, Trivandrum + 695014, India }\hfill% \parbox[c][.5in][c]{1cm} - {\centering\sffamily\mdseries + {\centering\sffamily\fontseries{m}\selectfont \fcolorbox{pgrulecolor}{pgbgcolor}{\thepage}% }\hfill \parbox[c][.5in][c]{.45\paperwidth} - {\raggedleft\begin{tabular}{rl}% - Version:&\@version\\ - Date:&\@date\\ - Contact:&\@contact + {\raggedleft\sffamily\fontsize{7.5}{8}\fontseries{m}\selectfont + \begin{tabular}{rl}% + Version:&\@version/\@date\\[3pt] + Contacts:&\parbox{.3\paperwidth}{\@contact} \end{tabular}\hspace*{5mm}% }% }% @@ -282,9 +333,9 @@ \fontfamily\ttdefault \fontseries\mddefault \fontshape\updefault - \color{verbcolor}\small}% + \color{verbcolor}\selectfont}% -\def\verbatim@font{\normalfont\color{verbcolor}\ttfamily} +\def\verbatim@font{\normalfont\color{verbcolor}\fontfamily{zi4}\selectfont} \def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi \bgroup @@ -339,6 +390,14 @@ {\\\hline\end{tabular}\nobreak\@decl@date\par\nobreak \vspace{0.75ex}\vskip -\parskip\ignorespacesafterend\noindent} +\def\Small{\fontsize{8.5}{9.5}\selectfont} +\def\PDF{\@ifnextchar/{\@PDF}{\@@PDF}} +\def\@PDF/#1{{\Small PDF/#1}} +\def\PDFVT{{\Small PDF/VT}\xspace} +\def\@@PDF{{\Small PDF}\xspace} +\def\ISO{{\Small ISO}\xspace} +\def\tsc#1{{\Small#1}\xspace} + \endinput %% diff --git a/Master/texmf-dist/tex/latex/pdfx/l8uenc.def b/Master/texmf-dist/tex/latex/pdfx/l8uenc.def new file mode 100644 index 00000000000..e198c738ad7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pdfx/l8uenc.def @@ -0,0 +1,346 @@ +%% +%% This is file `l8uenc-luatex.def' +%% +%% l8uenc-luatex.def +%% +%% This is a hand-written file, based upon t1enc.def +%% with extensions for more composite characters. +%% +%% Copyright 2015 Ross Moore <ross.moore@mq.edu.au> +%% +\ProvidesFile{l8uenc-luatex.def} + [2015/05/16 v0.1 + Custom LaTeX file] +%\DeclareFontEncoding{U}{}{} +\DeclareTextCommand{\`}{U}[1]{#1̀} +\DeclareTextCommand{\'}{U}[1]{#1́} +\DeclareTextCommand{\^}{U}[1]{#1̂} +\DeclareTextCommand{\~}{U}[1]{#1̃} +\DeclareTextCommand{\"}{U}[1]{#1̈} +\DeclareTextCommand{\H}{U}[1]{#1̋} +\DeclareTextCommand{\r}{U}[1]{#1̊} +\DeclareTextCommand{\v}{U}[1]{#1̌} +\DeclareTextCommand{\u}{U}[1]{#1̆} +\DeclareTextCommand{\=}{U}[1]{#1̄} +\DeclareTextCommand{\.}{U}[1]{#1̇} +\DeclareTextCommand{\b}{U}[1]{#1̱} +\DeclareTextCommand{\c}{U}[1]{#1̧} +\DeclareTextCommand{\d}{U}[1]{#1̣} +\DeclareTextCommand{\k}{U}[1]{#1̨} +\DeclareTextCommand{\textogonekcentered}{U}[1]{#1̨} +\DeclareTextCommand{\textperthousand}{U}{‰} +\DeclareTextCommand{\textpertenthousand}{U}{‱} +\DeclareTextCommand{\AE}{U}{Æ} +\DeclareTextCommand{\DH}{U}{Ð} +\DeclareTextCommand{\DJ}{U}{Đ} +\DeclareTextCommand{\L}{U}{Ł} +\DeclareTextCommand{\NG}{U}{Ŋ} +\DeclareTextCommand{\OE}{U}{Œ} +\DeclareTextCommand{\O}{U}{Ø} +\DeclareTextCommand{\SS}{U}{ẞ} +\DeclareTextCommand{\TH}{U}{Þ} +\DeclareTextCommand{\ae}{U}{æ} +\DeclareTextCommand{\dh}{U}{ð} +\DeclareTextCommand{\dj}{U}{đ} +\DeclareTextCommand{\guillemotleft}{U}{«} +\DeclareTextCommand{\guillemotright}{U}{»} +\DeclareTextCommand{\guilsinglleft}{U}{‹} +\DeclareTextCommand{\guilsinglright}{U}{›} +\DeclareTextCommand{\i}{U}{ı} +\DeclareTextCommand{\j}{U}{𝚥}%!!! Mathematical dotless j +\DeclareTextCommand{\ij}{U}{ij} +\DeclareTextCommand{\IJ}{U}{IJ} +\DeclareTextCommand{\l}{U}{ł} +\DeclareTextCommand{\ng}{U}{ŋ} +\DeclareTextCommand{\oe}{U}{œ} +\DeclareTextCommand{\o}{U}{ø} +\DeclareTextCommand{\quotedblbase}{U}{„} +\DeclareTextCommand{\quotesinglbase}{U}{‚} +\DeclareTextCommand{\ss}{U}{ß} +\DeclareTextSymbol{\textasciicircum}{U}{`\^} +\DeclareTextSymbol{\textasciitilde}{U}{`\~} +\DeclareTextSymbol{\textbackslash}{U}{`\\} +\DeclareTextSymbol{\textbar}{U}{`\|} +\DeclareTextSymbol{\textbraceleft}{U}{`\{} +\DeclareTextSymbol{\textbraceright}{U}{`\}} +\DeclareTextCommand{\textcompwordmark}{U}{} +\DeclareTextSymbol{\textdollar}{U}{`\$} +\DeclareTextCommand{\textemdash}{U}{—} +\DeclareTextCommand{\textendash}{U}{–} +\DeclareTextCommand{\textexclamdown}{U}{¡} +\DeclareTextSymbol{\textgreater}{U}{`\>} +\DeclareTextSymbol{\textless}{U}{`\<} +\DeclareTextCommand{\textquestiondown}{U}{¿} +\DeclareTextCommand{\textquotedblleft}{U}{‟} +\DeclareTextCommand{\textquotedblright}{U}{”} +\DeclareTextSymbol{\textquotedbl}{U}{`\"} +\DeclareTextSymbol{\textquoteleft}{U}{`\`} +\DeclareTextSymbol{\textquoteright}{U}{`\'} +\DeclareTextCommand{\textsection}{U}{§} +\DeclareTextCommand{\S}{U}{§} +\DeclareTextCommand{\textsterling}{U}{£} +\DeclareTextCommand{\pounds}{U}{£} +\DeclareTextSymbol{\textunderscore}{U}{`\_} +\DeclareTextCommand{\textvisiblespace}{U}{␣} +% from utf8.def +\DeclareTextCommand{\textcopyright}{U}{©} +\DeclareTextCommand{\textordfeminine}{U}{ª} +\DeclareTextCommand{\textregistered}{U}{®} +\DeclareTextCommand{\textordmasculine}{U}{º} +%\DeclareTextCommand{\textasciicircum}{U}{ˆ} +%\DeclareTextCommand{\textasciitilde}{U}{˜} +\DeclareTextCommand{\textellipsis}{U}{…} +\DeclareTextCommand{\dots}{U}{…} +\DeclareTextCommand{\texttrademark}{U}{™} +% +\DeclareTextCommand{\th}{U}{þ} +\DeclareTextComposite{\.}{U}{i}{`\i} +\DeclareTextComposite{\.}{U}{\i}{`\i} +\DeclareTextCompositeCommand{\u}{U}{A}{Ă} +\DeclareTextCompositeCommand{\k}{U}{A}{Ą} +\DeclareTextCompositeCommand{\'}{U}{C}{Ć} +\DeclareTextCompositeCommand{\v}{U}{C}{Č} +\DeclareTextCompositeCommand{\v}{U}{D}{Ď} +\DeclareTextCompositeCommand{\v}{U}{E}{Ě} +\DeclareTextCompositeCommand{\k}{U}{E}{Ę} +\DeclareTextCompositeCommand{\u}{U}{G}{Ğ} +\DeclareTextCompositeCommand{\'}{U}{L}{Ĺ} +\DeclareTextCompositeCommand{\v}{U}{L}{Ľ} +\DeclareTextCompositeCommand{\'}{U}{N}{Ń} +\DeclareTextCompositeCommand{\v}{U}{N}{Ň} +\DeclareTextCompositeCommand{\H}{U}{O}{Ő} +\DeclareTextCompositeCommand{\'}{U}{R}{Ŕ} +\DeclareTextCompositeCommand{\v}{U}{R}{Ř} +\DeclareTextCompositeCommand{\'}{U}{S}{Ś} +\DeclareTextCompositeCommand{\v}{U}{S}{Š} +\DeclareTextCompositeCommand{\c}{U}{S}{Ş} +\DeclareTextCompositeCommand{\v}{U}{T}{Ť} +\DeclareTextCompositeCommand{\c}{U}{T}{Ţ} +\DeclareTextCompositeCommand{\H}{U}{U}{Ű} +\DeclareTextCompositeCommand{\r}{U}{U}{Ů} +\DeclareTextCompositeCommand{\"}{U}{Y}{Ÿ} +\DeclareTextCompositeCommand{\'}{U}{Z}{Ź} +\DeclareTextCompositeCommand{\v}{U}{Z}{Ž} +\DeclareTextCompositeCommand{\.}{U}{Z}{Ż} +\DeclareTextCompositeCommand{\.}{U}{I}{İ} +\DeclareTextCompositeCommand{\u}{U}{a}{ă} +\DeclareTextCompositeCommand{\k}{U}{a}{ą} +\DeclareTextCompositeCommand{\'}{U}{c}{ć} +\DeclareTextCompositeCommand{\v}{U}{c}{č} +\DeclareTextCompositeCommand{\v}{U}{d}{ď} +\DeclareTextCompositeCommand{\v}{U}{e}{ě} +\DeclareTextCompositeCommand{\k}{U}{e}{ę} +\DeclareTextCompositeCommand{\u}{U}{g}{ğ} +\DeclareTextCompositeCommand{\'}{U}{l}{ĺ} +\DeclareTextCompositeCommand{\v}{U}{l}{ľ} +\DeclareTextCompositeCommand{\'}{U}{n}{ń} +\DeclareTextCompositeCommand{\v}{U}{n}{ň} +\DeclareTextCompositeCommand{\H}{U}{o}{ő} +\DeclareTextCompositeCommand{\'}{U}{r}{ŕ} +\DeclareTextCompositeCommand{\v}{U}{r}{ř} +\DeclareTextCompositeCommand{\'}{U}{s}{ś} +\DeclareTextCompositeCommand{\v}{U}{s}{š} +\DeclareTextCompositeCommand{\c}{U}{s}{ş} +\DeclareTextCompositeCommand{\v}{U}{t}{ť} +\DeclareTextCompositeCommand{\c}{U}{t}{ţ} +\DeclareTextCompositeCommand{\H}{U}{u}{ű} +\DeclareTextCompositeCommand{\r}{U}{u}{ů} +\DeclareTextCompositeCommand{\"}{U}{y}{ÿ} +\DeclareTextCompositeCommand{\'}{U}{z}{ź} +\DeclareTextCompositeCommand{\v}{U}{z}{ž} +\DeclareTextCompositeCommand{\.}{U}{z}{ż} +\DeclareTextCompositeCommand{\`}{U}{A}{À} +\DeclareTextCompositeCommand{\'}{U}{A}{Á} +\DeclareTextCompositeCommand{\^}{U}{A}{Â} +\DeclareTextCompositeCommand{\~}{U}{A}{Ã} +\DeclareTextCompositeCommand{\"}{U}{A}{Ä} +\DeclareTextCompositeCommand{\r}{U}{A}{Å} +\DeclareTextCompositeCommand{\c}{U}{C}{Ç} +\DeclareTextCompositeCommand{\`}{U}{E}{È} +\DeclareTextCompositeCommand{\'}{U}{E}{É} +\DeclareTextCompositeCommand{\^}{U}{E}{Ê} +\DeclareTextCompositeCommand{\"}{U}{E}{Ë} +\DeclareTextCompositeCommand{\`}{U}{I}{Ì} +\DeclareTextCompositeCommand{\'}{U}{I}{Í} +\DeclareTextCompositeCommand{\^}{U}{I}{Î} +\DeclareTextCompositeCommand{\"}{U}{I}{Ï} +\DeclareTextCompositeCommand{\~}{U}{N}{Ñ} +\DeclareTextCompositeCommand{\`}{U}{O}{Ò} +\DeclareTextCompositeCommand{\'}{U}{O}{Ó} +\DeclareTextCompositeCommand{\^}{U}{O}{Ô} +\DeclareTextCompositeCommand{\~}{U}{O}{Õ} +\DeclareTextCompositeCommand{\"}{U}{O}{Ö} +\DeclareTextCompositeCommand{\`}{U}{U}{Ù} +\DeclareTextCompositeCommand{\'}{U}{U}{Ú} +\DeclareTextCompositeCommand{\^}{U}{U}{Û} +\DeclareTextCompositeCommand{\"}{U}{U}{Ü} +\DeclareTextCompositeCommand{\'}{U}{Y}{Ý} +\DeclareTextCompositeCommand{\`}{U}{a}{à} +\DeclareTextCompositeCommand{\'}{U}{a}{á} +\DeclareTextCompositeCommand{\^}{U}{a}{â} +\DeclareTextCompositeCommand{\~}{U}{a}{ã} +\DeclareTextCompositeCommand{\"}{U}{a}{ä} +\DeclareTextCompositeCommand{\r}{U}{a}{å} +\DeclareTextCompositeCommand{\c}{U}{c}{ç} +\DeclareTextCompositeCommand{\`}{U}{e}{è} +\DeclareTextCompositeCommand{\'}{U}{e}{é} +\DeclareTextCompositeCommand{\^}{U}{e}{ê} +\DeclareTextCompositeCommand{\"}{U}{e}{ë} +\DeclareTextCompositeCommand{\`}{U}{i}{ì} +\DeclareTextCompositeCommand{\`}{U}{\i}{ì} +\DeclareTextCompositeCommand{\'}{U}{i}{í} +\DeclareTextCompositeCommand{\'}{U}{\i}{í} +\DeclareTextCompositeCommand{\^}{U}{i}{î} +\DeclareTextCompositeCommand{\^}{U}{\i}{î} +\DeclareTextCompositeCommand{\"}{U}{i}{ï} +\DeclareTextCompositeCommand{\"}{U}{\i}{ï} +\DeclareTextCompositeCommand{\~}{U}{n}{ñ} +\DeclareTextCompositeCommand{\`}{U}{o}{ò} +\DeclareTextCompositeCommand{\'}{U}{o}{ó} +\DeclareTextCompositeCommand{\^}{U}{o}{ô} +\DeclareTextCompositeCommand{\~}{U}{o}{õ} +\DeclareTextCompositeCommand{\"}{U}{o}{ö} +\DeclareTextCompositeCommand{\`}{U}{u}{ù} +\DeclareTextCompositeCommand{\'}{U}{u}{ú} +\DeclareTextCompositeCommand{\^}{U}{u}{û} +\DeclareTextCompositeCommand{\"}{U}{u}{ü} +\DeclareTextCompositeCommand{\'}{U}{y}{ý} +\DeclareTextCompositeCommand{\k}{U}{o}{\textogonekcentered{o}} +\DeclareTextCompositeCommand{\k}{U}{O}{\textogonekcentered{O}} +% from ts1enc.def +\DeclareTextCommand{\capitalcedilla}{U}[1]{#1̧}%cca7 +\DeclareTextCommand{\capitalogonek}{U}[1]{#1̨}%cca8 +\DeclareTextCommand{\capitalgrave}{U}[1]{#1̀}%cc80 +\DeclareTextCommand{\capitalacute}{U}[1]{#1́}%cc81 +\DeclareTextCommand{\capitalcircumflex}{U}[1]{#1̂}%cc82 +\DeclareTextCommand{\capitaltilde}{U}[1]{#1̃}%cc83 +\DeclareTextCommand{\capitaldieresis}{U}[1]{#1̈}%cc88 +\DeclareTextCommand{\capitalhungarumlaut}{U}[1]{#1̋}%cc8b +\DeclareTextCommand{\capitalring}{U}[1]{#1̊}%cc8a +\DeclareTextCommand{\capitalcaron}{U}[1]{#1̌}%cc8c +\DeclareTextCommand{\capitalbreve}{U}[1]{#1̆}%cc86 +\DeclareTextCommand{\capitalmacron}{U}[1]{#1̄}%cc84 +\DeclareTextCommand{\capitaldotaccent}{U}[1]{#1̇}%cc87 +\DeclareTextCommand{\t}{U}[1]{#1͡}%cda1 +\DeclareTextCommand{\capitaltie}{U}[1]{#1͡}%cda1 +\DeclareTextCommand{\newtie}{U}[1]{#1⁀}%e28180 % or cc91 +\DeclareTextCommand{\capitalnewtie}{U}[1]{#1⁀}%e28180 % or cc91 +\DeclareTextCommand{\textcapitalcompwordmark}{U}{}%e2809c +\DeclareTextCommand{\textascendercompwordmark}{U}{}%e2809c +\DeclareTextCommand{\textquotestraightbase}{U}{‚}%e2809a +\DeclareTextCommand{\textquotestraightdblbase}{U}{„}%e2809e +\DeclareTextCommand{\texttwelveudash}{U}{―}%e28095 +\DeclareTextCommand{\textthreequartersemdash}{U}{‒}%e28092 +\DeclareTextCommand{\textleftarrow}{U}{←}%e28690 +\DeclareTextCommand{\textrightarrow}{U}{→}%e28692 +\DeclareTextCommand{\textblank}{U}{␢}%e290a2 +%\DeclareTextSymbol{\textdollar}{U}{`\$}% +\DeclareTextSymbol{\textquotesingle}{U}{`\'}% +\DeclareTextSymbol{\textasteriskcentered}{U}{`\*} +%\DeclareTextCommand{\textdblhyphen}{U}{꞊}%ea9e8a ???? +\DeclareTextCommand{\textfractionsolidus}{U}{⁄}%e28184 +\DeclareTextCommand{\textzerooldstyle}{U}{0}%efbc90 +\DeclareTextCommand{\textoneoldstyle}{U}{1} +\DeclareTextCommand{\texttwooldstyle}{U}{2} +\DeclareTextCommand{\textthreeoldstyle}{U}{3} +\DeclareTextCommand{\textfouroldstyle}{U}{4} +\DeclareTextCommand{\textfiveoldstyle}{U}{5} +\DeclareTextCommand{\textsixoldstyle}{U}{6} +\DeclareTextCommand{\textsevenoldstyle}{U}{7} +\DeclareTextCommand{\texteightoldstyle}{U}{8} +\DeclareTextCommand{\textnineoldstyle}{U}{9} +\DeclareTextCommand{\textlangle}{U}{〈}%e38088 +\DeclareTextCommand{\textminus}{U}{−}%28892 +\DeclareTextCommand{\textrangle}{U}{〉}%e38089 +\DeclareTextCommand{\textmho}{U}{℧}%e284a7 +\DeclareTextCommand{\textbigcircle}{U}{◯}%e297af +\DeclareTextCommand{\textcircled}{U}[1]{#1⃝}%e2839d +\DeclareTextCommand{\textohm}{U}{Ω}%e284a6 +\DeclareTextCommand{\textlbrackdbl}{U}{〚}%e3809a +\DeclareTextCommand{\textrbrackdbl}{U}{〛}%e3809b +\DeclareTextCommand{\textuparrow}{U}{↑}%e28691 +\DeclareTextCommand{\textdownarrow}{U}{↓}%e28693 +\DeclareTextCommand{\textasciigrave}{U}{ˋ}%cb8b ???? +\DeclareTextCommand{\textborn}{U}{✭}%e29cad or ???? +\DeclareTextCommand{\textdivorced}{U}{⚮}%e29aae +\DeclareTextCommand{\textdied}{U}{✝}%e29c9d or ⚰ %e29ab0 +%\DeclareTextSymbol{\textleaf}{U}{108}% ???? +\DeclareTextCommand{\textmarried}{U}{⚭}%e29aad +\DeclareTextCommand{\textmusicalnote}{U}{♪}%e299aa +\DeclareTextCommand{\texttildelow}{U}{˷}%cbb7 +\DeclareTextCommand{\textdblhyphenchar}{U}{꞊}%ea9e8a ???? +\DeclareTextCommand{\textasciibreve}{U}{˘}%cb98 +\DeclareTextCommand{\textasciicaron}{U}{ˇ}%cb87 +\DeclareTextCommand{\textacutedbl}{U}{˝}%cb9d or ˶ %cbb6 +\DeclareTextCommand{\textgravedbl}{U}{˵}%cbb5 +\DeclareTextCommand{\textdagger}{U}{†}%e280a0 +\DeclareTextCommand{\dag}{U}{†}%e280a0 +\DeclareTextCommand{\textdaggerdbl}{U}{‡}%e280a1 +\DeclareTextCommand{\ddag}{U}{‡}%e280a1 +\DeclareTextCommand{\textbardbl}{U}{‖}%e28096 +%\DeclareTextCommand{\textperthousand}{U}{‰}%e280b0 +\DeclareTextCommand{\textbullet}{U}{•}%e280a2 +\DeclareTextCommand{\bullet}{U}{•}%e280a2 +\DeclareTextCommand{\textcelsius}{U}{℃}%e28483 +\DeclareTextCommand{\textdollaroldstyle}{U}{`\$} +\DeclareTextCommand{\textcentoldstyle}{U}{¢}%c2a2 %var-1: efb880 +\DeclareTextCommand{\textflorin}{U}{ƒ}%c692 +\DeclareTextCommand{\textcolonmonetary}{U}{₡}%e282a1 +\DeclareTextCommand{\textwon}{U}{₩}%e282a9 +\DeclareTextCommand{\textnaira}{U}{₦}%e282a6 +\DeclareTextCommand{\textguarani}{U}{₲}%e282b2 +\DeclareTextCommand{\textpeso}{U}{₱}%e282b1 +\DeclareTextCommand{\textlira}{U}{₤}%e282a4 +\DeclareTextCommand{\textrecipe}{U}{℞}%e2849e +\DeclareTextCommand{\textinterrobang}{U}{‽}%e280bd +\DeclareTextCommand{\textinterrobangdown}{U}{⸘}%e2b898 +\DeclareTextCommand{\textdong}{U}{₫}%e282ab +\DeclareTextCommand{\texttrademark}{U}{™}%e284a2 +%\DeclareTextCommand{\textpertenthousand}{U}{‱}%e280b1 +\DeclareTextCommand{\textpilcrow}{U}{¶}%c2b6 %var-1: efb880 +\DeclareTextCommand{\textbaht}{U}{฿}%e0b8bf +\DeclareTextCommand{\textnumero}{U}{№}%e28496 +\DeclareTextCommand{\textdiscount}{U}{⁒}%e28192 +\DeclareTextCommand{\textestimated}{U}{℮}%e284ae +\DeclareTextCommand{\textopenbullet}{U}{◦}%e297a6 +\DeclareTextCommand{\textservicemark}{U}{℠}%e284a0 +\DeclareTextCommand{\textlquill}{U}{⁅}%e28185 +\DeclareTextCommand{\textrquill}{U}{⁆}%e28186 +\DeclareTextCommand{\textcent}{U}{¢}%c2a2 +%\DeclareTextCommand{\textsterling}{U}{£}%c2a3 +\DeclareTextCommand{\textcurrency}{U}{¤}%c2a4 +\DeclareTextCommand{\textyen}{U}{¥}%c2a5 +\DeclareTextCommand{\textbrokenbar}{U}{¦}%c2a6 +\DeclareTextCommand{\textsection}{U}{§}%c2a7 +\DeclareTextCommand{\textasciidieresis}{U}{¨}%c2a8 +\DeclareTextCommand{\textcopyright}{U}{©}%c2a9 +\DeclareTextCommand{\textordfeminine}{U}{ª}%c2aa +\DeclareTextCommand{\textcopyleft}{U}{©}%???? non-unicode +\DeclareTextCommand{\textlnot}{U}{¬}%c2ac +%\DeclareTextCommand{\-}{U}{}%c2ad % don't override discretionary hyphen +\DeclareTextCommand{\textcircledP}{U}{℗}%e28497 +\DeclareTextCommand{\textregistered}{U}{®}%c2ae +\DeclareTextCommand{\textasciimacron}{U}{¯}%c2af +\DeclareTextCommand{\textdegree}{U}{°}%c2b0 +\DeclareTextCommand{\textpm}{U}{±}%c2b1 +\DeclareTextCommand{\texttwosuperior}{U}{²}%c2b2 +\DeclareTextCommand{\textthreesuperior}{U}{³}%c2b3 +\DeclareTextCommand{\textasciiacute}{U}{´}%c2b4 +\DeclareTextCommand{\textmu}{U}{µ}%c2b5 +\DeclareTextCommand{\textparagraph}{U}{¶}%c2b6 +\DeclareTextCommand{\P}{U}{¶}%c2b6 +\DeclareTextCommand{\textperiodcentered}{U}{·}%c2b7 +\DeclareTextCommand{\textcedilla}{U}{¸}%c2b8 +\DeclareTextCommand{\textreferencemark}{U}{※}%e280bb +\DeclareTextCommand{\textonesuperior}{U}{¹}%c2b9 +\DeclareTextCommand{\textordmasculine}{U}{º}%c2ba +\DeclareTextCommand{\textsurd}{U}{√}%e2889a +\DeclareTextCommand{\textonequarter}{U}{¼}%c2bc +\DeclareTextCommand{\textonehalf}{U}{½}%c2bd +\DeclareTextCommand{\textthreequarters}{U}{¾}%c2be +\DeclareTextCommand{\texteuro}{U}{€}%e282ac +\DeclareTextCommand{\texttimes}{U}{×}%c397 +\DeclareTextCommand{\textdiv}{U}{÷}%c3b7 +\endinput +%% +%% End of file `l8uenc-luatex.def'. diff --git a/Master/texmf-dist/tex/latex/pdfx/pdfa.xmp b/Master/texmf-dist/tex/latex/pdfx/pdfa.xmp index 2f4b59e0cdb..69bc6d8aba3 100644 --- a/Master/texmf-dist/tex/latex/pdfx/pdfa.xmp +++ b/Master/texmf-dist/tex/latex/pdfx/pdfa.xmp @@ -18,7 +18,7 @@ %% version 1999/12/01 or later. %% <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:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> % xmlns:pdf = "http://ns.adobe.com/pdf/1.3/" % xmlns:pdfx = "http://ns.adobe.com/pdfx/1.3/" % xmlns:pdfaid = "http://www.aiim.org/pdfa/ns/id/" @@ -38,279 +38,144 @@ % xmlns:pim = "http://prismstandard.org/namespaces/pim/2.2/" % xmlns:prl = "http://prismstandard.org/namespaces/prl/2.1/" % xmlns:pur = "http://prismstandard.org/namespaces/primusagerights/2.1/" - <rdf:Description rdf:about="" xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/" - xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#" - xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#"> - <pdfaExtension:schemas> - <rdf:Bag> +% > + <rdf:Description rdf:about="" xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/" + xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#" + xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#" +%% RRM: do we really need the following two declarations ? +% xmlns:pdfaType="http://www.aiim.org/pdfa/ns/type#" +% xmlns:pdfaField="http://www.aiim.org/pdfa/ns/field#" + > + <pdfaExtension:schemas> + <rdf:Bag> + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:namespaceURI>http://ns.adobe.com/pdfx/1.3/</pdfaSchema:namespaceURI> + <pdfaSchema:prefix>pdfx</pdfaSchema:prefix> + <pdfaSchema:schema>PDF/X Schema</pdfaSchema:schema> + <pdfaSchema:property> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <pdfaProperty:category>external</pdfaProperty:category> + <pdfaProperty:description>URL to an online version or preprint</pdfaProperty:description> + <pdfaProperty:name>AuthoritativeDomain</pdfaProperty:name> + <pdfaProperty:valueType>Text</pdfaProperty:valueType> + </rdf:li> + </rdf:Seq> + </pdfaSchema:property> + </rdf:li> %% RRM: this declares the namespace resource for PRISM metadata - <rdf:li rdf:parseType="Resource"> - <pdfaSchema:schema>PRISM metadata</pdfaSchema:schema> - <pdfaSchema:namespaceURI>http://prismstandard.org/namespaces/basic/2.2/</pdfaSchema:namespaceURI> - <pdfaSchema:prefix>prism</pdfaSchema:prefix> - <pdfaSchema:property> - <rdf:Seq> -%% RRM: Only need to define the tags that are actually used below. + <rdf:li rdf:parseType="Resource"> + <pdfaSchema:schema>PRISM metadata</pdfaSchema:schema> + <pdfaSchema:namespaceURI>http://prismstandard.org/namespaces/basic/2.2/</pdfaSchema:namespaceURI> + <pdfaSchema:prefix>prism</pdfaSchema:prefix> + <pdfaSchema:property> + <rdf:Seq> +%% RRM: Only need to define the tags that are actually used below. But \ifx ... \fi must be all on one line. %% declare prism:aggregationType -% need at least one field, for validation - <rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>aggregationType</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description> - The type of publication. If defined, must be one - of book, catalog, feed, journal, magazine, manual, - newsletter, pamphlet. - </pdfaProperty:description> - </rdf:li> +%\ifx\xmp@PublicationType\@empty\else % need at least one field, for validation + <rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>aggregationType</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>The type of publication. If defined, must be one of book, catalog, feed, journal, magazine, manual, newsletter, pamphlet.</pdfaProperty:description>^^J </rdf:li> %\fi %% declare prism:issn -\ifnot@empty\xmp@Journalnumber{% - <rdf:li rdf:parseType="Resource">^^J% - <pdfaProperty:name>issn</pdfaProperty:name>^^J% - <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J% - <pdfaProperty:category>external</pdfaProperty:category>^^J% - <pdfaProperty:description>^^J% - The ISSN for the publication in which the resource^^J% - was published^^J% - </pdfaProperty:description>^^J% - </rdf:li> -}% + \ifx\xmp@Journalnumber\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>issn</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>The ISSN for the publication in which the resource was published</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:volume -\ifnot@empty\xmp@Volume{% - <rdf:li rdf:parseType="Resource">^^J% - <pdfaProperty:name>volume</pdfaProperty:name>^^J% - <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J% - <pdfaProperty:category>external</pdfaProperty:category>^^J% - <pdfaProperty:description>^^J% - Additional identifier for the publication where^^J% - the resource appeared, providing the Volume^^J% - portion of the common Volume, Number^^J% - scheme^^J% - </pdfaProperty:description>^^J% - </rdf:li> -}% + \ifx\xmp@Volume\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>volume</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Additional identifier for the publication where the resource appeared, providing the Volume portion of the common Volume, Number scheme</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:number -\ifnot@empty\xmp@Issue{% - <rdf:li rdf:parseType="Resource">^^J% - <pdfaProperty:name>number</pdfaProperty:name>^^J% - <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J% - <pdfaProperty:category>external</pdfaProperty:category>^^J% - <pdfaProperty:description>^^J% - Number of the Issue within the Volume^^J% - </pdfaProperty:description>^^J% - </rdf:li> -}% + \ifx\xmp@Issue\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>number</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Number of the Issue within the Volume</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:coverDisplayDate -\ifnot@empty\xmp@CoverDisplayDate{% - <rdf:li rdf:parseType="Resource">^^J% - <pdfaProperty:name>coverDisplayDate</pdfaProperty:name>^^J% - <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J% - <pdfaProperty:category>external</pdfaProperty:category>^^J% - <pdfaProperty:description>^^J% - Date on the cover of a magazine issue, as a^^J% - human-readable text^^J% - string^^J% - </pdfaProperty:description>^^J% - </rdf:li> -}% + \ifx\xmp@CoverDisplayDate\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>coverDisplayDate</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Date on the cover of a magazine issue, as a human-readable text string</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:coverDate -\ifnot@empty\xmp@CoverDate{% - <rdf:li rdf:parseType="Resource">^^J% - <pdfaProperty:name>coverDate</pdfaProperty:name>^^J% - <pdfaProperty:valueType>Date</pdfaProperty:valueType>^^J% - <pdfaProperty:category>external</pdfaProperty:category>^^J% - <pdfaProperty:description>^^J% - Date on the cover of a magazine issue, suitable^^J% - for storing in a database field with a 'date' data^^J% - type^^J% - </pdfaProperty:description>^^J% - </rdf:li> -}% + \ifx\xmp@CoverDate\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>coverDate</pdfaProperty:name>^^J <pdfaProperty:valueType>Date</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Date on the cover of a magazine issue, suitable for storing in a database field with a 'date' data type</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:issueName -\ifnot@empty\xmp@Journaltitle{% - <rdf:li rdf:parseType="Resource">^^J% - <pdfaProperty:name>issueName</pdfaProperty:name>^^J% - <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J% - <pdfaProperty:category>external</pdfaProperty:category>^^J% - <pdfaProperty:description>^^J% - Additional identifier, typically used for major^^J% - issues of a magazine or other^^J% - resource^^J% - </pdfaProperty:description>^^J% - </rdf:li> -}% + \ifx\xmp@Journaltitle\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>issueName</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Additional identifier, typically used for major issues of a magazine or other resource</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:pageRange -\ifnot@empty\xmp@Firstpage{% - <rdf:li rdf:parseType="Resource">^^J% - <pdfaProperty:name>pageRange</pdfaProperty:name>^^J% - <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J% - <pdfaProperty:category>external</pdfaProperty:category>^^J% - <pdfaProperty:description>^^J% - Page range for the published print version of the^^J% - resource^^J% - </pdfaProperty:description>^^J% - </rdf:li> -}% + \ifx\xmp@Firstpage\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>pageRange</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Page range for the published print version of the resource</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:startingPage -\ifnot@empty\xmp@Firstpage{% - <rdf:li rdf:parseType="Resource">^^J% - <pdfaProperty:name>startingPage</pdfaProperty:name>^^J% - <pdfaProperty:valueType>Integer</pdfaProperty:valueType>^^J% - <pdfaProperty:category>external</pdfaProperty:category>^^J% - <pdfaProperty:description>^^J% - First page number for the published version of the^^J% - resource^^J% - </pdfaProperty:description>^^J% - </rdf:li> -}% + \ifx\xmp@Firstpage\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>startingPage</pdfaProperty:name>^^J <pdfaProperty:valueType>Integer</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>First page number for the published version of the resource</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:endingPage -\ifnot@empty\xmp@Lastpage{% - <rdf:li rdf:parseType="Resource">^^J% - <pdfaProperty:name>endingPage</pdfaProperty:name>^^J% - <pdfaProperty:valueType>Integer</pdfaProperty:valueType>^^J% - <pdfaProperty:category>external</pdfaProperty:category>^^J% - <pdfaProperty:description>^^J% - The last page number for the printed resource^^J% - </pdfaProperty:description>^^J% - </rdf:li> -}% + \ifx\xmp@Lastpage\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>endingPage</pdfaProperty:name>^^J <pdfaProperty:valueType>Integer</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>The last page number for the printed resource</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:doi -\ifnot@empty\xmp@Doi{% - <rdf:li rdf:parseType="Resource">^^J% - <pdfaProperty:name>doi</pdfaProperty:name>^^J% - <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J% - <pdfaProperty:category>external</pdfaProperty:category>^^J% - <pdfaProperty:description>^^J% - Digital Object Identifier, DOI, for the article^^J% - </pdfaProperty:description>^^J% - </rdf:li> -}% + \ifx\xmp@Doi\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>doi</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Digital Object Identifier, DOI, for the article</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:url -\ifnot@empty\xmp@Doi{% - <rdf:li rdf:parseType="Resource">^^J% - <pdfaProperty:name>url</pdfaProperty:name>^^J% - <pdfaProperty:valueType>URL</pdfaProperty:valueType>^^J% - <pdfaProperty:category>external</pdfaProperty:category>^^J% - <pdfaProperty:description>^^J% - URL for the article or unit of content^^J% - </pdfaProperty:description>^^J% - </rdf:li> -}% + \ifx\xmp@Doi\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>url</pdfaProperty:name>^^J <pdfaProperty:valueType>URL</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>URL for the article or unit of content</pdfaProperty:description>^^J </rdf:li>\fi %% RRM: more tags can be declared -% <rdf:li rdf:parseType="Resource"> -% <pdfaProperty:name></pdfaProperty:name> -% <pdfaProperty:valueType>Text</pdfaProperty:valueType> -% <pdfaProperty:category>external</pdfaProperty:category> -% <pdfaProperty:description> -% </pdfaProperty:description> -% </rdf:li> - </rdf:Seq> - </pdfaSchema:property> - </rdf:li> - </rdf:Bag> - </pdfaExtension:schemas> - </rdf:Description> - <rdf:Description rdf:about="" xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> - <pdf:Producer>\xmp@Producer</pdf:Producer> -\ifnot@empty\xmp@@Keywords{% - <pdf:Keywords>\xmp@@Keywords</pdf:Keywords> -}% - </rdf:Description> - <rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/"> - <dc:format>application/pdf</dc:format> -\ifnot@empty\xmp@Title{% - <dc:title><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Title</rdf:li></rdf:Alt></dc:title> -}% -\ifnot@empty\xmp@@Author{% - <dc:creator><rdf:Seq><rdf:li>\xmp@@Author</rdf:li></rdf:Seq></dc:creator> -}% -\ifnot@empty\xmp@Publisher{% - <dc:publisher><rdf:Bag><rdf:li>\xmp@Publisher</rdf:li></rdf:Bag></dc:publisher> -}% -\ifnot@empty\xmp@Doi{% - <dc:identifier>doi:\xmp@Doi</dc:identifier> -}% -\ifnot@empty\xmp@Copyright{% - <dc:rights><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Copyright</rdf:li></rdf:Alt></dc:rights> -}% -\ifnot@empty\xmp@Subject{% - <dc:description><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Subject</rdf:li></rdf:Alt></dc:description> -}% -\ifnot@empty\xmp@Keywords{% - <dc:subject><rdf:Bag><rdf:li>\xmp@Keywords</rdf:li></rdf:Bag></dc:subject> -}% - </rdf:Description> - <rdf:Description rdf:about="" xmlns:prism="http://prismstandard.org/namespaces/basic/2.2/"> -\ifnot@empty\xmp@PublicationType{% - <prism:aggregationType>\xmp@PublicationType</prism:aggregationType> -}% -\ifnot@empty\xmp@Journalnumber{% - <prism:issn>\xmp@Journalnumber</prism:issn> -}% -\ifnot@empty\xmp@Volume{% - <prism:volume>\xmp@Volume</prism:volume> -}% -\ifnot@empty\xmp@Issue{% - <prism:number>\xmp@Issue</prism:number> -}% -\ifnot@empty\xmp@CoverDisplayDate{% - <prism:coverDisplayDate>\xmp@CoverDisplayDate</prism:coverDisplayDate> -}% -\ifnot@empty\xmp@CoverDate{% - <prism:coverDate>\xmp@CoverDate</prism:coverDate> -}% -\ifnot@empty\xmp@Journaltitle{% - <prism:issueName>\xmp@Journaltitle</prism:issueName> -}% -\ifnot@empty\xmp@Firstpage{% - <prism:pageRange>\xmp@Firstpage-\xmp@Lastpage</prism:pageRange> -}% -\ifnot@empty\xmp@Firstpage{% - <prism:startingPage>\xmp@Firstpage</prism:startingPage> -}% -\ifnot@empty\xmp@Lastpage{% - <prism:endingPage>\xmp@Lastpage</prism:endingPage> -}% -\ifnot@empty\xmp@Doi{% - <prism:doi>\xmp@Doi</prism:doi> -}% -\ifnot@empty\xmp@Doi{% - <prism:url>http://dx.doi.org/\xmp@Doi</prism:url> -}% - </rdf:Description> - <rdf:Description rdf:about="" xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/"> - <pdfaid:part>\xmp@Part</pdfaid:part> - <pdfaid:conformance>\xmp@Conformance</pdfaid:conformance> - </rdf:Description> - <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/"> - <xmp:CreatorTool>\xmp@CreatorTool</xmp:CreatorTool> - <xmp:ModifyDate>\xmp@convDate</xmp:ModifyDate> - <xmp:CreateDate>\xmp@convDate</xmp:CreateDate> - <xmp:MetadataDate>\xmp@convDate</xmp:MetadataDate> - </rdf:Description> - <rdf:Description rdf:about="" xmlns:xmpRights = "http://ns.adobe.com/xap/1.0/rights/"> -\ifnot@empty\xmp@Copyrighted{% - <xmpRights:Marked>\xmp@Copyrighted</xmpRights:Marked> -}% -\ifnot@empty\xmp@Copyright{% - <xmpRights:UsageTerms><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Copyright</rdf:li></rdf:Alt></xmpRights:UsageTerms> -}% -\ifnot@empty\xmp@CopyrightURL{% - <xmpRights:WebStatement>\xmp@CopyrightURL</xmpRights:WebStatement> -}% - </rdf:Description> - <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"> - <xmpMM:DocumentID>uuid:\xmp@docid</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:\xmp@instid</xmpMM:InstanceID> - </rdf:Description> - </rdf:RDF> +% <rdf:li rdf:parseType="Resource"> +% <pdfaProperty:name></pdfaProperty:name> +% <pdfaProperty:valueType>Text</pdfaProperty:valueType> +% <pdfaProperty:category>external</pdfaProperty:category> +% <pdfaProperty:description></pdfaProperty:description> +% </rdf:li> + </rdf:Seq></pdfaSchema:property> + </rdf:li> + </rdf:Bag> + </pdfaExtension:schemas> + </rdf:Description> + <rdf:Description rdf:about="" xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> + <pdf:Producer>\xmp@Producer</pdf:Producer> + \ifx\xmp@@Keywords\@empty\else<pdf:Keywords>\xmp@@Keywords</pdf:Keywords>\fi + </rdf:Description> + <rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/"> + <dc:format>application/pdf</dc:format> + \ifx\xmp@Title\@empty\else<dc:title><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Title</rdf:li></rdf:Alt></dc:title>\fi + \ifx\xmp@@Author\@empty\else<dc:creator><rdf:Seq><rdf:li>\xmp@@Author</rdf:li></rdf:Seq></dc:creator>\fi + \ifx\xmp@Org\@empty\else<dc:publisher><rdf:Bag><rdf:li>\xmp@Org</rdf:li></rdf:Bag></dc:publisher>\fi + \ifx\xmp@Doi\@empty\else<dc:identifier>doi:\xmp@Doi</dc:identifier>\fi + \ifx\xmp@Copyright\@empty\else<dc:rights><rdf:Alt><rdf:li xml:lang="x-default">\xmp@@Copyright</rdf:li></rdf:Alt></dc:rights>\fi + \ifx\xmp@Subject\@empty\else<dc:description><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Subject</rdf:li></rdf:Alt></dc:description>\fi + \ifx\xmp@Keywords\@empty\else<dc:subject><rdf:Bag><rdf:li>\xmp@Keywords</rdf:li></rdf:Bag></dc:subject>\fi + </rdf:Description> + <rdf:Description rdf:about="" xmlns:prism="http://prismstandard.org/namespaces/basic/2.2/"> + \ifx\xmp@PublicationType\@empty\else<prism:aggregationType>\xmp@PublicationType</prism:aggregationType>\fi + \ifx\xmp@Journalnumber\@empty\else<prism:issn>\xmp@Journalnumber</prism:issn>\fi + \ifx\xmp@Volume\@empty\else<prism:volume>\xmp@Volume</prism:volume>\fi + \ifx\xmp@Issue\@empty\else<prism:number>\xmp@Issue</prism:number>\fi + \ifx\xmp@CoverDisplayDate\@empty\else<prism:coverDisplayDate>\xmp@CoverDisplayDate</prism:coverDisplayDate>\fi + \ifx\xmp@CoverDate\@empty\else<prism:coverDate>\xmp@CoverDate</prism:coverDate>\fi + \ifx\xmp@Journaltitle\@empty\else<prism:issueName>\xmp@Journaltitle</prism:issueName>\fi + \ifx\xmp@Firstpage\@empty\else<prism:pageRange>\xmp@Firstpage-\xmp@Lastpage</prism:pageRange>\fi + \ifx\xmp@Firstpage\@empty\else<prism:startingPage>\xmp@Firstpage</prism:startingPage>\fi + \ifx\xmp@Lastpage\@empty\else<prism:endingPage>\xmp@Lastpage</prism:endingPage>\fi + \ifx\xmp@Doi\@empty\else<prism:doi>\xmp@Doi</prism:doi>\fi + \ifx\xmp@Doi\@empty\else<prism:url>http://dx.doi.org/\xmp@Doi</prism:url>\fi + </rdf:Description> +%% RRM: Is this needed with PDF/A or only with PDF/X ??? + <rdf:Description rdf:about="" xmlns:pdfx="http://ns.adobe.com/pdfx/1.3/"> +% \ifx\xmp@AuthoritativeDomain\@empty\else<pdfx:AuthoritativeDomain><rdf:Bag><rdf:li>\xmp@AuthoritativeDomain</rdf:li></rdf:Bag></pdfx:AuthoritativeDomain>\fi + \ifx\xmp@AuthoritativeDomain\@empty\else<pdfx:AuthoritativeDomain>\xmp@AuthoritativeDomain</pdfx:AuthoritativeDomain>\fi + </rdf:Description> + <rdf:Description rdf:about="" xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/"> + <pdfaid:part>\xmp@Part</pdfaid:part> + <pdfaid:conformance>\xmp@Conformance</pdfaid:conformance> + </rdf:Description> + <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/"> + <xmp:CreatorTool>\xmp@CreatorTool</xmp:CreatorTool> + <xmp:ModifyDate>\xmp@convDate</xmp:ModifyDate> + <xmp:CreateDate>\xmp@convDate</xmp:CreateDate> + <xmp:MetadataDate>\xmp@convDate</xmp:MetadataDate> + </rdf:Description> + <rdf:Description rdf:about="" xmlns:xmpRights = "http://ns.adobe.com/xap/1.0/rights/"> + \ifx\xmp@Copyright\@empty\else<xmpRights:Marked>True</xmpRights:Marked>^^J<xmpRights:UsageTerms><rdf:Alt><rdf:li xml:lang="x-default">\xmp@@Copyright</rdf:li></rdf:Alt></xmpRights:UsageTerms>\fi + \ifx\xmp@WebStatement\@empty\else<xmpRights:WebStatement>\xmp@WebStatement</xmpRights:WebStatement>\fi + </rdf:Description> +% <rdf:Description rdf:about="" xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/"> +% <xmpRights:Marked>True</xmpRights:Marked> +% </rdf:Description> +%\@ifundefined{xmpCopyright}{}{% +% <rdf:Description rdf:about="" xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/"> +% <xmpRights:Marked>True</xmpRights:Marked> +% </rdf:Description> +%}% + <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"> + <xmpMM:DocumentID>uuid:\xmp@docid</xmpMM:DocumentID> + <xmpMM:InstanceID>uuid:\xmp@instid</xmpMM:InstanceID> + </rdf:Description> + </rdf:RDF> </x:xmpmeta> % padding with 512 space characters to allow easier editing within a PDF -\padding@line -\padding@line -\padding@line -\padding@line +\paddingline +\paddingline +\paddingline +\paddingline %% %% End of pdfa.xmp %% %% + diff --git a/Master/texmf-dist/tex/latex/pdfx/pdfe.xmp b/Master/texmf-dist/tex/latex/pdfx/pdfe.xmp index 252c1dd22bd..4dfc12d383d 100644 --- a/Master/texmf-dist/tex/latex/pdfx/pdfe.xmp +++ b/Master/texmf-dist/tex/latex/pdfx/pdfe.xmp @@ -51,7 +51,7 @@ <xmp:ModifyDate>\xmp@convDate</xmp:ModifyDate> <xmp:CreateDate>\xmp@convDate</xmp:CreateDate> <xmp:MetadataDate>\xmp@convDate</xmp:MetadataDate> - \ifnot@empty\xmp@@Keywords{<pdf:Keywords>\xmp@@Keywords</pdf:Keywords>} + \ifx\xmp@@Keywords\@empty\else<pdf:Keywords>\xmp@@Keywords</pdf:Keywords>\fi <pdf:Producer>\xmp@Producer</pdf:Producer> <pdf:Trapped>False</pdf:Trapped> <pdfe:ISO_PDFEVersion>PDF/E-\xmp@Part</pdfe:ISO_PDFEVersion> @@ -59,14 +59,13 @@ % \ifnum\xmp@Part>3 <pdfxid:GTS_PDFXVersion>PDF/X-\xmp@Part</pdfxid:GTS_PDFXVersion>\fi % <pdfx:GTS_PDFXVersion>PDF/X-\xmp@Part\xmp@Conformance\ifnum\xmp@Part<4:\xmp@ReleaseDate\fi</pdfx:GTS_PDFXVersion> % \ifnum\xmp@Part<3 <pdfx:GTS_PDFXConformance>PDF/X-\xmp@Part\xmp@Conformance:\xmp@ReleaseDate</pdfx:GTS_PDFXConformance>\fi - \ifnot@empty\xmp@AuthoritativeDomain{<pdfx:AuthoritativeDomain>\xmp@AuthoritativeDomain</pdfx:AuthoritativeDomain>} + \ifx\xmp@AuthoritativeDomain\@empty\else<pdfx:AuthoritativeDomain>\xmp@AuthoritativeDomain</pdfx:AuthoritativeDomain>\fi </rdf:Description> % <rdf:Description rdf:about="" xmlns:pdfxid="http://www.npes.org/pdfx/ns/id/"> % \ifnum\xmp@Part>3 <pdfxid:GTS_PDFXVersion>PDF/X-\xmp@Part</pdfxid:GTS_PDFXVersion>\fi % </rdf:Description> % <rdf:Description rdf:about="" xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/"> -% \ifnum\xmp@Part> 3<pdfaid:part>\xmp@Part</pdfaid:part> -% <pdfaid:conformance>\xmp@Conformance</pdfaid:conformance>\fi +% \ifnum\xmp@Part> 3<pdfaid:part>\xmp@Part</pdfaid:part>^^J <pdfaid:conformance>\xmp@Conformance</pdfaid:conformance>\fi % </rdf:Description> % <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/"> % <xmp:CreatorTool>\xmp@CreatorTool</xmp:CreatorTool> @@ -75,23 +74,19 @@ % <xmp:MetadataDate>\xmp@convDate</xmp:MetadataDate> % </rdf:Description> <rdf:Description rdf:about="" xmlns:xmpRights = "http://ns.adobe.com/xap/1.0/rights/"> - \ifnot@empty\xmp@Copyright{<xmpRights:Marked>True</xmpRights:Marked> - <xmpRights:UsageTerms> - <rdf:Alt><rdf:li xml:lang="x-default">\xmp@Copyright</rdf:li> - </rdf:Alt> - </xmpRights:UsageTerms>} - \ifnot@empty\xmp@CopyrightURL{<xmpRights:WebStatement>\xmp@CopyrightURL</xmpRights:WebStatement>} + \ifx\xmp@Copyright\@empty\else<xmpRights:Marked>True</xmpRights:Marked>^^J <xmpRights:UsageTerms>^^J <rdf:Alt><rdf:li xml:lang="x-default">\xmp@@Copyright</rdf:li>^^J </rdf:Alt>^^J </xmpRights:UsageTerms>\fi + \ifx\xmp@WebStatement\@empty\else<xmpRights:WebStatement>\xmp@WebStatement</xmpRights:WebStatement>\fi %} </rdf:Description> <rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/"> <dc:format>application/pdf</dc:format> - \ifnot@empty\xmp@Title{<dc:title><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Title</rdf:li></rdf:Alt></dc:title>} - \ifnot@empty\xmp@@Author{<dc:creator><rdf:Seq><rdf:li>\xmp@@Author</rdf:li></rdf:Seq></dc:creator>} - \ifnot@empty\xmp@Publisher{<dc:publisher><rdf:Bag><rdf:li>\xmp@Publisher</rdf:li></rdf:Bag></dc:publisher>} - \ifnot@empty\xmp@Doi{<dc:identifier>doi:\xmp@Doi</dc:identifier>} - \ifnot@empty\xmp@Copyright{<dc:rights><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Copyright</rdf:li></rdf:Alt></dc:rights>} - \ifnot@empty\xmp@Subject{<dc:description><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Subject</rdf:li></rdf:Alt></dc:description>} - \ifnot@empty\xmp@Keywords{<dc:subject><rdf:Bag><rdf:li>\xmp@Keywords</rdf:li></rdf:Bag></dc:subject>} + \ifx\xmp@Title\@empty\else<dc:title><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Title</rdf:li></rdf:Alt></dc:title>\fi + \ifx\xmp@@Author\@empty\else<dc:creator><rdf:Seq><rdf:li>\xmp@@Author</rdf:li></rdf:Seq></dc:creator>\fi + \ifx\xmp@Org\@empty\else<dc:publisher><rdf:Bag><rdf:li>\xmp@Org</rdf:li></rdf:Bag></dc:publisher>\fi + \ifx\xmp@Doi\@empty\else<dc:identifier>doi:\xmp@Doi</dc:identifier>\fi + \ifx\xmp@Copyright\@empty\else<dc:rights><rdf:Alt><rdf:li xml:lang="x-default">\xmp@@Copyright</rdf:li></rdf:Alt></dc:rights>\fi + \ifx\xmp@Subject\@empty\else<dc:description><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Subject</rdf:li></rdf:Alt></dc:description>\fi + \ifx\xmp@Keywords\@empty\else<dc:subject><rdf:Bag><rdf:li>\xmp@Keywords</rdf:li></rdf:Bag></dc:subject>\fi </rdf:Description> <rdf:Description rdf:about="" xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/" xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#" @@ -214,91 +209,31 @@ <pdfaSchema:prefix>prism</pdfaSchema:prefix> <pdfaSchema:property> <rdf:Seq> -%% RRM: Only need to define the tags that are actually used below. +%% RRM: Only need to define the tags that are actually used below. But \ifx ... \fi must be all on one line. %% declare prism:aggregationType - \ifnot@empty\xmp@PublicationType{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>aggregationType</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>The type of publication. If defined, must be one of book, catalog, feed, journal, magazine, manual, newsletter, pamphlet.</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@PublicationType\@empty\else <rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>aggregationType</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>The type of publication. If defined, must be one of book, catalog, feed, journal, magazine, manual, newsletter, pamphlet.</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:issn - \ifnot@empty\xmp@Journalnumber{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>issn</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>The ISSN for the publication in which the resource was published</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Journalnumber\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>issn</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>The ISSN for the publication in which the resource was published</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:volume - \ifnot@empty\xmp@Volume{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>volume</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Additional identifier for the publication where the resource appeared, providing the Volume portion of the common Volume, Number scheme</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Volume\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>volume</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Additional identifier for the publication where the resource appeared, providing the Volume portion of the common Volume, Number scheme</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:number - \ifnot@empty\xmp@Issue{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>number</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Number of the Issue within the Volume</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Issue\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>number</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Number of the Issue within the Volume</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:coverDisplayDate - \ifnot@empty\xmp@CoverDisplayDate{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>coverDisplayDate</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Date on the cover of a magazine issue, as a human-readable text string</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@CoverDisplayDate\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>coverDisplayDate</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Date on the cover of a magazine issue, as a human-readable text string</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:coverDate - \ifnot@empty\xmp@CoverDate{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>coverDate</pdfaProperty:name> - <pdfaProperty:valueType>Date</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Date on the cover of a magazine issue, suitable for storing in a database field with a 'date' data type</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@CoverDate\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>coverDate</pdfaProperty:name>^^J <pdfaProperty:valueType>Date</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Date on the cover of a magazine issue, suitable for storing in a database field with a 'date' data type</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:issueName - \ifnot@empty\xmp@Journaltitle{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>issueName</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Additional identifier, typically used for major issues of a magazine or other resource</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Journaltitle\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>issueName</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Additional identifier, typically used for major issues of a magazine or other resource</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:pageRange - \ifnot@empty\xmp@Firstpage{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>pageRange</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Page range for the published print version of the resource</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Firstpage\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>pageRange</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Page range for the published print version of the resource</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:startingPage - \ifnot@empty\xmp@Firstpage{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>startingPage</pdfaProperty:name> - <pdfaProperty:valueType>Integer</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>First page number for the published version of the resource</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Firstpage\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>startingPage</pdfaProperty:name>^^J <pdfaProperty:valueType>Integer</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>First page number for the published version of the resource</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:endingPage - \ifnot@empty\xmp@Lastpage{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>endingPage</pdfaProperty:name> - <pdfaProperty:valueType>Integer</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>The last page number for the printed resource</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Lastpage\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>endingPage</pdfaProperty:name>^^J <pdfaProperty:valueType>Integer</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>The last page number for the printed resource</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:doi - \ifnot@empty\xmp@Doi{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>doi</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Digital Object Identifier, DOI, for the article</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Doi\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>doi</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Digital Object Identifier, DOI, for the article</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:url - \ifnot@empty\xmp@Doi{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>url</pdfaProperty:name> - <pdfaProperty:valueType>URL</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>URL for the article or unit of content</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Doi\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>url</pdfaProperty:name>^^J <pdfaProperty:valueType>URL</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>URL for the article or unit of content</pdfaProperty:description>^^J </rdf:li>\fi %% RRM: more tags can be declared % <rdf:li rdf:parseType="Resource"> % <pdfaProperty:name></pdfaProperty:name> @@ -312,18 +247,18 @@ </pdfaExtension:schemas> </rdf:Description> <rdf:Description rdf:about="" xmlns:prism="http://prismstandard.org/namespaces/basic/2.2/"> - \ifnot@empty\xmp@PublicationType{<prism:aggregationType>\xmp@PublicationType</prism:aggregationType>} - \ifnot@empty\xmp@Journalnumber{<prism:issn>\xmp@Journalnumber</prism:issn>} - \ifnot@empty\xmp@Volume{<prism:volume>\xmp@Volume</prism:volume>} - \ifnot@empty\xmp@Issue{<prism:number>\xmp@Issue</prism:number>} - \ifnot@empty\xmp@CoverDisplayDate{<prism:coverDisplayDate>\xmp@CoverDisplayDate</prism:coverDisplayDate>} - \ifnot@empty\xmp@CoverDate{<prism:coverDate>\xmp@CoverDate</prism:coverDate>} - \ifnot@empty\xmp@Journaltitle{<prism:issueName>\xmp@Journaltitle</prism:issueName>} - \ifnot@empty\xmp@Firstpage{<prism:pageRange>\xmp@Firstpage-\xmp@Lastpage</prism:pageRange>} - \ifnot@empty\xmp@Firstpage{<prism:startingPage>\xmp@Firstpage</prism:startingPage>} - \ifnot@empty\xmp@Lastpage{<prism:endingPage>\xmp@Lastpage</prism:endingPage>} - \ifnot@empty\xmp@Doi{<prism:doi>\xmp@Doi</prism:doi>} - \ifnot@empty\xmp@Doi{<prism:url>http://dx.doi.org/\xmp@Doi</prism:url>} + \ifx\xmp@PublicationType\@empty\else<prism:aggregationType>\xmp@PublicationType</prism:aggregationType>\fi + \ifx\xmp@Journalnumber\@empty\else<prism:issn>\xmp@Journalnumber</prism:issn>\fi + \ifx\xmp@Volume\@empty\else<prism:volume>\xmp@Volume</prism:volume>\fi + \ifx\xmp@Issue\@empty\else<prism:number>\xmp@Issue</prism:number>\fi + \ifx\xmp@CoverDisplayDate\@empty\else<prism:coverDisplayDate>\xmp@CoverDisplayDate</prism:coverDisplayDate>\fi + \ifx\xmp@CoverDate\@empty\else<prism:coverDate>\xmp@CoverDate</prism:coverDate>\fi + \ifx\xmp@Journaltitle\@empty\else<prism:issueName>\xmp@Journaltitle</prism:issueName>\fi + \ifx\xmp@Firstpage\@empty\else<prism:pageRange>\xmp@Firstpage-\xmp@Lastpage</prism:pageRange>\fi + \ifx\xmp@Firstpage\@empty\else<prism:startingPage>\xmp@Firstpage</prism:startingPage>\fi + \ifx\xmp@Lastpage\@empty\else<prism:endingPage>\xmp@Lastpage</prism:endingPage>\fi + \ifx\xmp@Doi\@empty\else<prism:doi>\xmp@Doi</prism:doi>\fi + \ifx\xmp@Doi\@empty\else<prism:url>http://dx.doi.org/\xmp@Doi</prism:url>\fi </rdf:Description> % <rdf:Description rdf:about="" % xmlns:dc="http://purl.org/dc/elements/1.1/"> @@ -340,7 +275,7 @@ % </dc:description> % <dc:creator> % <rdf:Bag> -% <rdf:li>\xmp@@Author</rdf:li> +% <rdf:li>\xmp@Author</rdf:li> % </rdf:Bag> % </dc:creator> % <dc:subject> @@ -357,10 +292,10 @@ </rdf:RDF> </x:xmpmeta> % padding with 512 space characters to allow easier editing within a PDF -\padding@line -\padding@line -\padding@line -\padding@line +\paddingline +\paddingline +\paddingline +\paddingline %% %% End of pdfx.xmp %% diff --git a/Master/texmf-dist/tex/latex/pdfx/pdfvt.xmp b/Master/texmf-dist/tex/latex/pdfx/pdfvt.xmp index da86e6fc2f9..6de5b0005d4 100644 --- a/Master/texmf-dist/tex/latex/pdfx/pdfvt.xmp +++ b/Master/texmf-dist/tex/latex/pdfx/pdfvt.xmp @@ -46,9 +46,9 @@ % <rdf:Description rdf:about="" xmlns:pdf="http://www.adobe.com/pdf/1.3/"> <dc:format>application/pdf</dc:format> <dc:rights><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Copyright</rdf:li></rdf:Alt></dc:rights> - \ifnot@empty\xmp@@Author{<dc:creator><rdf:Seq><rdf:li>\xmp@@Author</rdf:li></rdf:Seq></dc:creator>} - \ifnot@empty\xmp@Subject{<dc:description><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Subject</rdf:li></rdf:Alt></dc:description>} - \ifnot@empty\xmp@Title{<dc:title><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Title</rdf:li></rdf:Alt></dc:title>} + \ifx\xmp@@Author\@empty\else<dc:creator><rdf:Seq><rdf:li>\xmp@@Author</rdf:li></rdf:Seq></dc:creator>\fi + \ifx\xmp@Subject\@empty\else<dc:description><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Subject</rdf:li></rdf:Alt></dc:description>\fi + \ifx\xmp@Title\@empty\else<dc:title><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Title</rdf:li></rdf:Alt></dc:title>\fi <xmp:CreateDate>\xmp@convDate</xmp:CreateDate> <xmp:CreatorTool>\xmp@CreatorTool</xmp:CreatorTool> <xmp:ModifyDate>\xmp@convDate</xmp:ModifyDate> @@ -60,12 +60,8 @@ <pdfxid:GTS_PDFXVersion>PDF/X-\xmp@Part\xmp@Conformance</pdfxid:GTS_PDFXVersion> <pdfvtid:GTS_PDFVTVersion>PDF/VT-\xmp@vtPart\xmp@vtConformance</pdfvtid:GTS_PDFVTVersion> <pdfvtid:GTS_PDFVTModDate>\xmp@convDate</pdfvtid:GTS_PDFVTModDate> - \ifnot@empty\xmp@AuthoritativeDomain{ <pdfx:AuthoritativeDomain> - <rdf:Bag> - <rdf:li>\xmp@AuthoritativeDomain</rdf:li> - </rdf:Bag> - </pdfx:AuthoritativeDomain>} - \ifnot@empty\xmp@@Keywords{<pdf:Keywords>\xmp@@Keywords</pdf:Keywords>} + \ifx\xmp@AuthoritativeDomain\@empty\else <pdfx:AuthoritativeDomain>^^J <rdf:Bag>^^J <rdf:li>\xmp@AuthoritativeDomain</rdf:li>^^J </rdf:Bag>^^J </pdfx:AuthoritativeDomain>\fi + \ifx\xmp@@Keywords\@empty\else<pdf:Keywords>\xmp@@Keywords</pdf:Keywords>\fi <pdf:Producer>\xmp@Producer</pdf:Producer> <pdf:Trapped>False</pdf:Trapped> % <pdfxid:GTS_PDFXVersion>PDF/X-\xmp@Part\xmp@Conformance</pdfxid:GTS_PDFXVersion> @@ -168,91 +164,31 @@ <pdfaSchema:prefix>prism</pdfaSchema:prefix> <pdfaSchema:property> <rdf:Seq> -%% RRM: Only need to define the tags that are actually used below. +%% RRM: Only need to define the tags that are actually used below. But \ifx ... \fi must be all on one line. %% declare prism:aggregationType - \ifnot@empty\xmp@PublicationType{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>aggregationType</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>The type of publication. If defined, must be one of book, catalog, feed, journal, magazine, manual, newsletter, pamphlet.</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@PublicationType\@empty\else <rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>aggregationType</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>The type of publication. If defined, must be one of book, catalog, feed, journal, magazine, manual, newsletter, pamphlet.</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:issn - \ifnot@empty\xmp@Journalnumber{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>issn</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>The ISSN for the publication in which the resource was published</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Journalnumber\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>issn</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>The ISSN for the publication in which the resource was published</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:volume - \ifnot@empty\xmp@Volume{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>volume</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Additional identifier for the publication where the resource appeared, providing the Volume portion of the common Volume, Number scheme</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Volume\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>volume</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Additional identifier for the publication where the resource appeared, providing the Volume portion of the common Volume, Number scheme</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:number - \ifnot@empty\xmp@Issue{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>number</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Number of the Issue within the Volume</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Issue\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>number</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Number of the Issue within the Volume</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:coverDisplayDate - \ifnot@empty\xmp@CoverDisplayDate{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>coverDisplayDate</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Date on the cover of a magazine issue, as a human-readable text string</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@CoverDisplayDate\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>coverDisplayDate</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Date on the cover of a magazine issue, as a human-readable text string</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:coverDate - \ifnot@empty\xmp@CoverDate{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>coverDate</pdfaProperty:name> - <pdfaProperty:valueType>Date</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Date on the cover of a magazine issue, suitable for storing in a database field with a 'date' data type</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@CoverDate\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>coverDate</pdfaProperty:name>^^J <pdfaProperty:valueType>Date</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Date on the cover of a magazine issue, suitable for storing in a database field with a 'date' data type</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:issueName - \ifnot@empty\xmp@Journaltitle{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>issueName</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Additional identifier, typically used for major issues of a magazine or other resource</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Journaltitle\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>issueName</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Additional identifier, typically used for major issues of a magazine or other resource</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:pageRange - \ifnot@empty\xmp@Firstpage{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>pageRange</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Page range for the published print version of the resource</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Firstpage\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>pageRange</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Page range for the published print version of the resource</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:startingPage - \ifnot@empty\xmp@Firstpage{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>startingPage</pdfaProperty:name> - <pdfaProperty:valueType>Integer</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>First page number for the published version of the resource</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Firstpage\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>startingPage</pdfaProperty:name>^^J <pdfaProperty:valueType>Integer</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>First page number for the published version of the resource</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:endingPage - \ifnot@empty\xmp@Lastpage{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>endingPage</pdfaProperty:name> - <pdfaProperty:valueType>Integer</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>The last page number for the printed resource</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Lastpage\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>endingPage</pdfaProperty:name>^^J <pdfaProperty:valueType>Integer</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>The last page number for the printed resource</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:doi - \ifnot@empty\xmp@Doi{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>doi</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Digital Object Identifier, DOI, for the article</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Doi\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>doi</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Digital Object Identifier, DOI, for the article</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:url - \ifnot@empty\xmp@Doi{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>url</pdfaProperty:name> - <pdfaProperty:valueType>URL</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>URL for the article or unit of content</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Doi\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>url</pdfaProperty:name>^^J <pdfaProperty:valueType>URL</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>URL for the article or unit of content</pdfaProperty:description>^^J </rdf:li>\fi %% RRM: more tags can be declared % <rdf:li rdf:parseType="Resource"> % <pdfaProperty:name></pdfaProperty:name> @@ -264,11 +200,7 @@ </rdf:li> </rdf:Bag> </pdfaExtension:schemas> -% \ifnot@empty\xmp@AuthoritativeDomain{<pdfx:AuthoritativeDomain> -% <rdf:Bag> -% <rdf:li>\xmp@AuthoritativeDomain</rdf:li> -% </rdf:Bag> -% </pdfx:AuthoritativeDomain>} +% \ifx\xmp@AuthoritativeDomain\@empty\else <pdfx:AuthoritativeDomain>^^J <rdf:Bag>^^J <rdf:li>\xmp@AuthoritativeDomain</rdf:li>^^J </rdf:Bag>^^J </pdfx:AuthoritativeDomain>\fi </rdf:Description> % <rdf:Description rdf:about="" xmlns:pdfx="http://ns.adobe.com/pdfx/1.3/"> % <pdfx:GTS_PDFXVersion>PDF/X-\xmp@Part\xmp@Conformance\ifnum\xmp@Part<3:\xmp@ReleaseDate\fi</pdfx:GTS_PDFXVersion> @@ -278,8 +210,7 @@ % \ifnum\xmp@Part>3 <pdfxid:GTS_PDFXVersion>PDF/X-\xmp@Part</pdfxid:GTS_PDFXVersion>\fi % </rdf:Description> % <rdf:Description rdf:about="" xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/"> -% \ifnum\xmp@Part> 3<pdfaid:part>\xmp@Part</pdfaid:part> -% <pdfaid:conformance>\xmp@Conformance</pdfaid:conformance>\fi +% \ifnum\xmp@Part> 3<pdfaid:part>\xmp@Part</pdfaid:part>^^J <pdfaid:conformance>\xmp@Conformance</pdfaid:conformance>\fi % </rdf:Description> % <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/"> % <xmp:CreatorTool>\xmp@CreatorTool</xmp:CreatorTool> @@ -288,39 +219,34 @@ % <xmp:MetadataDate>\xmp@convDate</xmp:MetadataDate> % </rdf:Description> <rdf:Description rdf:about="" xmlns:xmpRights = "http://ns.adobe.com/xap/1.0/rights/"> - \ifnot@empty\xmp@Copyright{<xmpRights:Marked>True</xmpRights:Marked> - <xmpRights:UsageTerms> - <rdf:Alt> - <rdf:li xml:lang="x-default">\xmp@Copyright</rdf:li> - </rdf:Alt> - </xmpRights:UsageTerms>} - \ifnot@empty\xmp@CopyrightURL{<xmpRights:WebStatement>\xmp@CopyrightURL</xmpRights:WebStatement>} + \ifx\xmp@Copyright\@empty\else<xmpRights:Marked>True</xmpRights:Marked>^^J <xmpRights:UsageTerms>^^J <rdf:Alt>^^J <rdf:li xml:lang="x-default">\xmp@Copyright</rdf:li>^^J </rdf:Alt>^^J </xmpRights:UsageTerms>\fi + \ifx\xmp@WebStatement\@empty\else<xmpRights:WebStatement>\xmp@WebStatement</xmpRights:WebStatement>\fi } </rdf:Description> %%% extra <dc> fields not already covered above % <rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/"> %% <dc:format>application/pdf</dc:format> -%% \ifnot@empty\xmp@Subject{<dc:description><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Subject</rdf:li></rdf:Alt></dc:description>} -%% \ifnot@empty\xmp@Title{<dc:title><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Title</rdf:li></rdf:Alt></dc:title>} -%% \ifnot@empty\xmp@@Author{<dc:creator><rdf:Seq><rdf:li>\xmp@@Author</rdf:li></rdf:Seq></dc:creator>} -% \ifnot@empty\xmp@Publisher{<dc:publisher><rdf:Bag><rdf:li>\xmp@Publisher</rdf:li></rdf:Bag></dc:publisher>} -% \ifnot@empty\xmp@Doi{<dc:identifier>doi:\xmp@Doi</dc:identifier>} -% \ifnot@empty\xmp@Copyright{<dc:rights><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Copyright</rdf:li></rdf:Alt></dc:rights>} -% \ifnot@empty\xmp@Keywords{<dc:subject><rdf:Bag><rdf:li>\xmp@Keywords</rdf:li></rdf:Bag></dc:subject>} +%% \ifx\xmp@Subject\@empty\else<dc:description><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Subject</rdf:li></rdf:Alt></dc:description>\fi +%% \ifx\xmp@Title\@empty\else<dc:title><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Title</rdf:li></rdf:Alt></dc:title>\fi +%% \ifx\xmp@@Author\@empty\else<dc:creator><rdf:Seq><rdf:li>\xmp@@Author</rdf:li></rdf:Seq></dc:creator>\fi +% \ifx\xmp@Org\@empty\else<dc:publisher><rdf:Bag><rdf:li>\xmp@Org</rdf:li></rdf:Bag></dc:publisher>\fi +% \ifx\xmp@Doi\@empty\else<dc:identifier>doi:\xmp@Doi</dc:identifier>\fi +% \ifx\xmp@Copyright\@empty\else<dc:rights><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Copyright</rdf:li></rdf:Alt></dc:rights>\fi +% \ifx\xmp@Keywords\@empty\else<dc:subject><rdf:Bag><rdf:li>\xmp@Keywords</rdf:li></rdf:Bag></dc:subject>\fi % </rdf:Description> <rdf:Description rdf:about="" xmlns:prism="http://prismstandard.org/namespaces/basic/2.2/"> - \ifnot@empty\xmp@PublicationType{<prism:aggregationType>\xmp@PublicationType</prism:aggregationType>} - \ifnot@empty\xmp@Journalnumber{<prism:issn>\xmp@Journalnumber</prism:issn>} - \ifnot@empty\xmp@Volume{<prism:volume>\xmp@Volume</prism:volume>} - \ifnot@empty\xmp@Issue{<prism:number>\xmp@Issue</prism:number>} - \ifnot@empty\xmp@CoverDisplayDate{<prism:coverDisplayDate>\xmp@CoverDisplayDate</prism:coverDisplayDate>} - \ifnot@empty\xmp@CoverDate{<prism:coverDate>\xmp@CoverDate</prism:coverDate>} - \ifnot@empty\xmp@Journaltitle{<prism:issueName>\xmp@Journaltitle</prism:issueName>} - \ifnot@empty\xmp@Firstpage{<prism:pageRange>\xmp@Firstpage-\xmp@Lastpage</prism:pageRange>} - \ifnot@empty\xmp@Firstpage{<prism:startingPage>\xmp@Firstpage</prism:startingPage>} - \ifnot@empty\xmp@Lastpage{<prism:endingPage>\xmp@Lastpage</prism:endingPage>} - \ifnot@empty\xmp@Doi{<prism:doi>\xmp@Doi</prism:doi>} - \ifnot@empty\xmp@Doi{<prism:url>http://dx.doi.org/\xmp@Doi</prism:url>} + \ifx\xmp@PublicationType\@empty\else<prism:aggregationType>\xmp@PublicationType</prism:aggregationType>\fi + \ifx\xmp@Journalnumber\@empty\else<prism:issn>\xmp@Journalnumber</prism:issn>\fi + \ifx\xmp@Volume\@empty\else<prism:volume>\xmp@Volume</prism:volume>\fi + \ifx\xmp@Issue\@empty\else<prism:number>\xmp@Issue</prism:number>\fi + \ifx\xmp@CoverDisplayDate\@empty\else<prism:coverDisplayDate>\xmp@CoverDisplayDate</prism:coverDisplayDate>\fi + \ifx\xmp@CoverDate\@empty\else<prism:coverDate>\xmp@CoverDate</prism:coverDate>\fi + \ifx\xmp@Journaltitle\@empty\else<prism:issueName>\xmp@Journaltitle</prism:issueName>\fi + \ifx\xmp@Firstpage\@empty\else<prism:pageRange>\xmp@Firstpage-\xmp@Lastpage</prism:pageRange>\fi + \ifx\xmp@Firstpage\@empty\else<prism:startingPage>\xmp@Firstpage</prism:startingPage>\fi + \ifx\xmp@Lastpage\@empty\else<prism:endingPage>\xmp@Lastpage</prism:endingPage>\fi + \ifx\xmp@Doi\@empty\else<prism:doi>\xmp@Doi</prism:doi>\fi + \ifx\xmp@Doi\@empty\else<prism:url>http://dx.doi.org/\xmp@Doi</prism:url>\fi </rdf:Description> % <rdf:Description rdf:about="" % xmlns:dc="http://purl.org/dc/elements/1.1/"> @@ -337,7 +263,7 @@ % </dc:description> % <dc:creator> % <rdf:Bag> -% <rdf:li>\xmp@@Author</rdf:li> +% <rdf:li>\xmp@Author</rdf:li> % </rdf:Bag> % </dc:creator> % <dc:subject> @@ -354,10 +280,10 @@ </rdf:RDF> </x:xmpmeta> % padding with 512 space characters to allow easier editing within a PDF -\padding@line -\padding@line -\padding@line -\padding@line +\paddingline +\paddingline +\paddingline +\paddingline %% %% End of pdfx.xmp %% diff --git a/Master/texmf-dist/tex/latex/pdfx/pdfx.sty b/Master/texmf-dist/tex/latex/pdfx/pdfx.sty index cb3d7d74c0d..49c321f80ad 100644 --- a/Master/texmf-dist/tex/latex/pdfx/pdfx.sty +++ b/Master/texmf-dist/tex/latex/pdfx/pdfx.sty @@ -6,7 +6,7 @@ %% %% pdfx.dtx (with options: `package') %% -%% Copyright (c) 2015, CV Radhakrishnan <cvr@river-valley.org>, +%% Copyright (c) 2016, CV Radhakrishnan <cvr@river-valley.org>, %% Han The Thanh <thanh@river-valley.org>, %% Ross Moore <ross.moore@mq.edu.au>, %% Peter Selinger <selinger@mathstat.dal.ca> @@ -21,15 +21,15 @@ %% and version 1.2 or later is part of all distributions of LaTeX %% version 1999/12/01 or later. %% - \@ifpackageloaded{pdfxmult}{% - \PackageError{pdfx}% +\@ifpackageloaded{pdfxmult}{% + \PackageError{pdfx}% {^^JThis package may not be used in conjunction with the \space pdfxmult \space package}% {Type \space x <return> \space to exit; or just \space <return> \space to continue without this package.}% - \expandafter\let\csname opt@pdfx.sty\endcsname\@empty\endinput - }{}% + \expandafter\let\csname opt@pdfx.sty\endcsname\@empty\endinput +}{}% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{pdfx} - [2015/02/17 v1.5.3 PDF/X and PDF/A support (CVR/HTH/RRM/PS)] + [2016/02/04 v1.5.6 PDF/X and PDF/A support (CVR/HTH/RRM/PS)] \newif\ifpdfx@noBOM \pdfx@noBOMfalse % use a BOM in the XMP packet \newif\ifpdfx@x \pdfx@xfalse % PDF/X mode @@ -91,10 +91,10 @@ \DeclareOption{vt-1}{\global\pdfx@xtrue\global\pdfx@vttrue \def\xmp@Part{4}\def\xmp@vtPart{1}\def\xmp@Conformance{}\def\xmp@vtConformance{}% \def\xmp@ReleaseDate{2010}\global\pdfminorversion=6 } -\DeclareOption{vt-2}{\global\pdfx@xtrue\global\pdfx@vttrue - \def\xmp@Part{4}\def\xmp@vtPart{2}\def\xmp@Conformance{}\def\xmp@vtConformance{}% +\DeclareOption{vt-2}{\global\pdfx@xtrue\global\pdfx@vttrue\global\no@iccprofiletrue + \def\xmp@Part{5}\def\xmp@vtPart{2}\def\xmp@Conformance{pg}\def\xmp@vtConformance{}% \def\xmp@ReleaseDate{2010}\global\pdfminorversion=6 } -\DeclareOption{vt-2s}{\global\pdfx@xtrue\global\pdfx@vttrue +\DeclareOption{vt-2s}{\global\pdfx@xtrue\global\pdfx@vttrue\global\no@iccprofiletrue \def\xmp@Part{5}\def\xmp@vtPart{2}\def\xmp@Conformance{pg}\def\xmp@vtConformance{s}% \def\xmp@ReleaseDate{2010}\global\pdfminorversion=6 } @@ -107,23 +107,35 @@ %% inhibits writing the XMP byte-order marker \DeclareOption{noBOM}{\pdfx@noBOMtrue} +\DeclareOption{useBOM}{\pdfx@noBOMfalse} \pdfminorversion=4 % assumed for PDF/A ; options may change this for PDF/X \expandafter\ifx\csname pdfresetpageorigin\endcsname\relax\else \pdfresetpageorigin=0 \fi + +\ExecuteOptions{noBOM,a-1b} \ProcessOptions +\RequirePackage{ifluatex} +\ifluatex + \RequirePackage{pdftexcmds}% + \let\pdfx@mdfivesum\pdf@mdfivesum +\else + \let\pdfx@mdfivesum\pdfmdfivesum +\fi + \def\pdfx@encodingfile{l8uenc.def} + {\endlinechar=-1 \everyeof{\noexpand}% \xdef\pdfx@bannerstring{\expandafter\scantokens\expandafter{\pdftexbanner}} }% -\def\pdfx@testbannerstr{This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014/dev) kpathsea version 6.2.0dev}% +\def\pdfx@testbannerstr{% + This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014/dev) kpathsea version 6.2.0dev}% \ifx\pdfx@bannerstring\pdfx@testbannerstr \typeout{This version of pdfTeX cannot write out upper-range character bytes, 128-255.}% \typeout{Any UTF-8 Unicode characters in the Metadata will not be written correctly.}% \typeout{Please update to a more stable version of pdfTeX.^^J}% - \pdfx@noBOMtrue \fi \ifpdfx@x @@ -141,11 +153,18 @@ /TrimBox[25 20 570 773]} \fi \ifnum\pdfminorversion >3 \relax - \pdfmapline{+dummy-space <dummy-space.pfb} + \expandafter\ifx\csname pdfsuppresswarningdupmap\endcsname\relax + \pdfmapline{+dummy-space <dummy-space.pfb} + \else + \advance\pdfsuppresswarningdupmap 1 + \pdfmapline{+dummy-space <dummy-space.pfb} + \advance\pdfsuppresswarningdupmap -1 + \fi \expandafter\ifx\csname pdfgeninterwordspace\endcsname\relax\else \pdfgeninterwordspace=1 \relax \fi \fi +%% the "pdftex" option seems to work fine with LuaTeX \ifpdfx@x \@ifpackageloaded{hyperref}{% \hypersetup{draft,pdftex,pdfpagemode=UseNone,bookmarks=false,pdfversion=1.\the\pdfminorversion]} @@ -162,13 +181,18 @@ \else \@ifpackageloaded{hyperref}{% \hypersetup{pdftex,pdfa}% + \Hy@pdfatrue }{% \RequirePackage[pdftex,pdfa]{hyperref} + \Hy@pdfatrue }% \fi\fi -\hypersetup{pdfencoding=unicode} +\hypersetup{pdfencoding=auto}% unicode -\RequirePackage{inputenc} +\ifluatex\else + \RequirePackage{inputenc} +\fi +\InputIfFileExists{\pdfx@encodingfile}{}{} %%---------------------------------------------------------------------- %% Macros for reading XMP data with special catcodes. Usage: @@ -186,75 +210,44 @@ \xmp@doparse{#1}% } \def\xmp@doparse#1#2{% - \def\@this{#2}#1% - \endgroup% + \def\@this{#2}#1 + \endgroup } %%---------------------------------------------------------------------- %% Local commands. They are only brought into scope during the reading %% of xmpdata. -\def\pdfx@localcommands{% - \def\Title{\xmp@parse{\global\let\xmp@Title\@this}}% - \def\Author{\xmp@parse{\global\let\xmp@Author\@this}}% - \def\Keywords{\xmp@parse{\global\let\xmp@Keywords\@this}}% - \def\Subject{\xmp@parse{\global\let\xmp@Subject\@this}}% - \def\CreatorTool{\xmp@parse{\global\let\xmp@CreatorTool\@this}}% - \def\Producer{\xmp@parse{\global\let\xmp@Producer\@this}}% - \def\Volume{\xmp@parse{\global\let\xmp@Volume\@this}}% - \def\Issue{\xmp@parse{\global\let\xmp@Issue\@this}}% - \def\CoverDisplayDate{\xmp@parse{\global\let\xmp@CoverDisplayDate\@this}}% - \def\CoverDate{\xmp@parse{\global\let\xmp@CoverDate\@this}}% +\def\pdfx@localcommands{ + \def\Title{\xmp@parse{\global\let\xmp@Title\@this}} + \def\Author{\xmp@parse{\global\let\xmp@Author\@this}} + \def\Keywords{\xmp@parse{\global\let\xmp@Keywords\@this}} + \def\Subject{\xmp@parse{\global\let\xmp@Subject\@this}} + \def\CreatorTool{\xmp@parse{\global\let\xmp@CreatorTool\@this}} + \def\Producer{\xmp@parse{\global\let\xmp@Producer\@this}} + \def\Volume{\xmp@parse{\global\let\xmp@Volume\@this}} + \def\Issue{\xmp@parse{\global\let\xmp@Issue\@this}} + \def\CoverDisplayDate{\xmp@parse{\global\let\xmp@CoverDisplayDate\@this}} + \def\CoverDate{\xmp@parse{\global\let\xmp@CoverDate\@this}} \def\Copyright{\xmp@parse{\global\let\xmp@Copyright\@this% - \ifx\xmp@Copyrighted\@empty\gdef\xmp@Copyrighted{True}\fi}}% + \ifx\xmp@Copyrighted\@empty\gdef\xmp@Copyrighted{True}\fi}} \def\CopyrightURL{\xmp@parse{\global\let\xmp@CopyrightURL\@this% - \ifx\xmp@Copyrighted\@empty\gdef\xmp@Copyrighted{True}\fi}}% - \def\Copyrighted{\xmp@parse{\global\let\xmp@Copyrighted\@this}}% - \def\Doi{\xmp@parse{\global\let\xmp@Doi\@this}}% - \def\Lastpage{\xmp@parse{\global\let\xmp@Lastpage\@this}}% - \def\Firstpage{\xmp@parse{\global\let\xmp@Firstpage\@this}}% - \def\PublicationType{\xmp@parse{\global\let\xmp@PublicationType\@this}}% + \ifx\xmp@Copyrighted\@empty\gdef\xmp@Copyrighted{True}\fi}} + \def\Copyrighted{\xmp@parse{\global\let\xmp@Copyrighted\@this}} + \def\Doi{\xmp@parse{\global\let\xmp@Doi\@this}} + \def\Lastpage{\xmp@parse{\global\let\xmp@Lastpage\@this}} + \def\Firstpage{\xmp@parse{\global\let\xmp@Firstpage\@this}} + \def\PublicationType{\xmp@parse{\global\let\xmp@PublicationType\@this}} \def\Journaltitle{\xmp@parse{\global\let\xmp@Journaltitle\@this% - \ifx\xmp@PublicationType\@empty\gdef\xmp@PublicationType{journal}\fi}}% - \def\Journalnumber{\xmp@parse{\global\let\xmp@Journalnumber\@this}}% - \def\Publisher{\xmp@parse{\global\let\xmp@Publisher\@this}}% - \def\AuthoritativeDomain{\xmp@parse{\global\let\xmp@AuthoritativeDomain\@this}}% - % some aliases for backward compatibility: - \let\Creator\CreatorTool% - \let\Org\Publisher% - \let\WebStatement\CopyrightURL% - % user-level commands for color profiles: - \let\setRGBcolorprofile\pdfx@setRGBcolorprofile% - \let\setCMYKcolorprofile\pdfx@setCMYKcolorprofile% - \let\setGRAYcolorprofile\pdfx@setGRAYcolorprofile% + \ifx\xmp@PublicationType\@empty\gdef\xmp@PublicationType{journal}\fi}} + \def\Journalnumber{\xmp@parse{\global\let\xmp@Journalnumber\@this}} + \def\Publisher{\xmp@parse{\global\let\xmp@Publisher\@this}} + \def\AuthoritativeDomain{\xmp@parse{\global\let\xmp@AuthoritativeDomain\@this}} % currently unused; for backward compatibility + \let\Creator\CreatorTool % for backward compatibility + \let\Org\Publisher % for backward compatibility + \let\WebStatement\CopyrightURL % for backward compatibility } %%---------------------------------------------------------------------- -%% Defaults - -\def\xmp@Producer{pdfTeX} -\edef\xmp@CreatorTool{\@pdfcreator} - -\global\let\xmp@Title\@empty -\global\let\xmp@Author\@empty -\global\let\xmp@Keywords\@empty -\global\let\xmp@Subject\@empty -\global\let\xmp@Volume\@empty -\global\let\xmp@Issue\@empty -\global\let\xmp@CoverDisplayDate\@empty -\global\let\xmp@CoverDate\@empty -\global\let\xmp@Copyright\@empty -\global\let\xmp@CopyrightURL\@empty -\global\let\xmp@Copyrighted\@empty -\global\let\xmp@Doi\@empty -\global\let\xmp@Lastpage\@empty -\global\let\xmp@Firstpage\@empty -\global\let\xmp@PublicationType\@empty -\global\let\xmp@Journaltitle\@empty -\global\let\xmp@Journalnumber\@empty -\global\let\xmp@Publisher\@empty -\global\let\xmp@AuthoritativeDomain\@empty - -%%---------------------------------------------------------------------- %% The following characters and markup can be used within the XMP data %% defined by \Author, \Title, and so on. %% @@ -301,45 +294,85 @@ {\obeyspaces\gdef\pdfx@sep{</rdf:li>^^J <rdf:li>}} -\def\pdfx@xmpmarkup{% - \pdfx@actives% - \edef\@amp{\expandafter\@gobble\string\&}% - \edef\@hash{\expandafter\@gobble\string\#}% - \edef\ {\expandafter\@gobble\string\ }% - \edef\%{\expandafter\@gobble\string\%}% - \edef\{{\expandafter\@gobble\string\{}% - \edef\}{\expandafter\@gobble\string\}}% - \edef\backslash{\expandafter\@gobble\string\\}% - \def\@unicode##1{\@amp\@hash x##1;}% - \def\pdfx@amp{\@unicode{0026}}% - \def\pdfx@lt{\@unicode{003c}}% - \def\pdfx@gt{\@unicode{003e}}% - \def\copyright{\@unicode{00A9}}% +\def\pdfx@xmpmarkup{ + \pdfx@actives + \edef\@amp{\expandafter\@gobble\string\&} + \edef\@hash{\expandafter\@gobble\string\#} + \edef\ {\expandafter\@gobble\string\ } + \edef\%{\expandafter\@gobble\string\%} + \edef\{{\expandafter\@gobble\string\{} + \edef\}{\expandafter\@gobble\string\}} + \edef\backslash{\expandafter\@gobble\string\\} + \def\@unicode##1{\@amp\@hash x##1;} + \def\pdfx@amp{\@unicode{0026}} + \def\pdfx@lt{\@unicode{003c}} + \def\pdfx@gt{\@unicode{003e}} + \def\copyright{\@unicode{00A9}} \let\&\pdfx@amp % for backward compatibility \let\TextCopyright\copyright % for backward compatibility - \let\sep\pdfx@sep% + \let\sep\pdfx@sep + \the\pdfxsafeforxmp@toks } +%% In case macros are used in XMP Metadata, need a way to map these +%% to simple text, rather than specific font characters, or whatever: +\newtoks\pdfxsafeforxmp@toks +\def\pdfxEnableCommands#1{% user command + \expandafter\global\expandafter\pdfxsafeforxmp@toks + \expandafter{\the\pdfxsafeforxmp@toks#1}} + %%---------------------------------------------------------------------- %% Markup bindings to be used during PDF string generation. -\def\pdfx@pdfmarkup{% - \pdfx@actives% - \edef\%{\expandafter\@gobble\string\%}% - \edef\{{\expandafter\@gobble\string\{}% - \edef\}{\expandafter\@gobble\string\}}% - \edef\pdfx@backslash{\expandafter\@gobble\string\\}% - \def\backslash{\pdfx@backslash000\pdfx@backslash134}% - \edef\pdfx@amp{\expandafter\@gobble\string\&}% - \edef\pdfx@lt{\expandafter\@gobble\string\<}% - \edef\pdfx@gt{\expandafter\@gobble\string\>}% +\def\pdfx@pdfmarkup{ + \pdfx@actives + \edef\%{\expandafter\@gobble\string\%} + \edef\{{\expandafter\@gobble\string\{} + \edef\}{\expandafter\@gobble\string\}} + \edef\pdfx@backslash{\expandafter\@gobble\string\\} + \def\backslash{\pdfx@backslash000\pdfx@backslash134} + \edef\pdfx@amp{\expandafter\@gobble\string\&} + \edef\pdfx@lt{\expandafter\@gobble\string\<} + \edef\pdfx@gt{\expandafter\@gobble\string\>} \let\TextCopyright\copyright % for backward compatibility - \def\sep{, }% - % Note: '\ ', \&, \copyright are already predefined by hyperref. + \def\sep{, } +%% Note: '\ ', \&, \copyright are already predefined by hyperref. + \the\pdfxsafeforxmp@toks } %%---------------------------------------------------------------------- -\def\pdfx@findUUID#1{\edef\pdfx@tmpstring{\pdfmdfivesum{#1}} +%% Defaults + +\ifluatex + \def\xmp@Producer{LuaTeX} +\else + \def\xmp@Producer{pdfTeX} +\fi +\edef\xmp@CreatorTool{\@pdfcreator} + +\global\let\xmp@Title\@empty +\global\let\xmp@Author\@empty +\global\let\xmp@Keywords\@empty +\global\let\xmp@Subject\@empty +\global\let\xmp@Volume\@empty +\global\let\xmp@Issue\@empty +\global\let\xmp@CoverDisplayDate\@empty +\global\let\xmp@CoverDate\@empty +\global\let\xmp@Copyright\@empty +\global\let\xmp@CopyrightURL\@empty +\gdef\xmp@WebStatement{\xmp@CopyrightURL} +\global\let\xmp@Doi\@empty +\global\let\xmp@Lastpage\@empty +\global\let\xmp@Firstpage\@empty +\global\let\xmp@PublicationType\@empty +\global\let\xmp@Journaltitle\@empty +\global\let\xmp@Journalnumber\@empty +\global\let\xmp@Publisher\@empty +\gdef\xmp@Org{\xmp@Publisher} +\global\let\xmp@AuthoritativeDomain\@empty + +%%---------------------------------------------------------------------- +\def\pdfx@findUUID#1{\edef\pdfx@tmpstring{\pdfx@mdfivesum{#1}} \expandafter\pdfx@eightofnine\pdfx@tmpstring\end} \def\pdfx@eightofnine#1#2#3#4#5#6#7#8#9\end{% \xdef\pdfx@eightchars{#1#2#3#4#5#6#7#8} @@ -366,74 +399,110 @@ %% ----- Color Profiles ------- %% Define how to specify the profile, so the default %% can be over-ridden in the .xmpdata file. - -%% The user-level macros are only brought into scope during the reading -%% of xmpdata. %% -%% Usage: -%% \setRGBcolorprofile{<filename>}{<identifier>}{<info string>}{<registry URL>} -%% \setCMYKcolorprofile{<filename>}{<output intent>}{<identifier>}{<registry URL>} -%% \setGRAYcolorprofile{<filename>}{<output intent>}{<identifier>}{<registry URL>} -%% -%% Within the arguments of each macro, the characters '<', '>', '&', -%% '^', '_', '#', '$', and '~' can be used as themselves, but -%% '%' must be escaped as '\%'. -%% -%% Note: -%% * RGB profile is used with PDF/A and PDF/E files. -%% * CMYK profile is used with PDF/X and PDF/VT files. -%% * GRAY profile is currently unused. -\def\pdfx@profilecatcodes{% - \catcode`\<=12\catcode`\>=12\catcode`\&=12\catcode`\^=12 - \catcode`\_=12\catcode`\#=12\catcode`\$=12\catcode`\~=12 - \edef\%{\expandafter\@gobble\string\%}% +%% --- user-command --- RGB profile needed with PDF/A-?? files +%% \setRGBcolorprofile{<filename>}{<identifier>}{<info string>}{<registry URL>} +\def\setRGBcolorprofile{% + \begingroup + \catcode`\_ 11\relax\catcode`\& 11\relax\catcode`\~ 11\relax\catcode`\% 11\relax + \edef\({\string\(}\edef\){\string\)}% + \pdfx@setrgbprofile} +%% +%% --- user-command --- CMYK profile needed with PDF/X-?? files +%% \setCMYKcolorprofile{<filename>}{<output intent>}{<identifier>}{<registry URL>} +\def\setCMYKcolorprofile{% + \begingroup + \catcode`\_ 11\relax\catcode`\& 11\relax\catcode`\~ 11\relax\catcode`\% 11\relax + \edef\({\string\(}\edef\){\string\)}% + \pdfx@setcmykprofile} +%% +%% --- user-command --- DeviceGray profile needed with PDF/E-1 files +%% \setGRAYcolorprofile{<filename>}{<output intent>}{<identifier>}{<registry URL>} +\def\setGRAYcolorprofile{% + \begingroup + \catcode`\_ 11\relax\catcode`\& 11\relax\catcode`\~ 11\relax\catcode`\% 11\relax + \edef\({\string\(}\edef\){\string\)}% + \pdfx@setgrayprofile} +%% +%% --- user-command --- External profile needed with PDF/X-4p and PDF/X-5pg files +%% \setEXTERNALprofile{<profilename>}{<output intent>}{<identifier>}{<registry URL>}% +%% {<color-space>}{<ICC Version>}{<provider URL>}{<extra info>}{<Check Sum>} +\def\setEXTERNALprofile{% + \begingroup + \catcode`\_ 11\relax\catcode`\& 11\relax\catcode`\~ 11\relax\catcode`\% 11\relax + \edef\({\string\(}\edef\){\string\)}% + \pdfx@externalprofile} +%% +%% +\def\pdfx@setRGBcolorprofiledir#1{% + \gdef\pdfx@RGBcolorprofiledir{#1}% } -\def\pdfx@setRGBcolorprofile{% - \begingroup - \pdfx@profilecatcodes - \pdfx@dosetRGBcolorprofile} -\def\pdfx@dosetRGBcolorprofile#1#2#3#4{% - \xdef\pdfx@rgb@profile{#1}% valid file name - \xdef\pdfx@rgb@identifier{#2}% - \xdef\pdfx@rgb@info{#3}% - \pdfstringdef\pdfx@rgb@registry{#4}% valid URL - \endgroup}% closes-off \pdfx@setRGBcolorprofile -%% -\def\pdfx@setCMYKcolorprofile{% - \begingroup - \pdfx@profilecatcodes - \pdfx@dosetCMYKcolorprofile} -\def\pdfx@dosetCMYKcolorprofile#1#2#3#4{% - \xdef\pdfx@cmyk@profile{#1}% valid file name - \pdfstringdef\pdfx@cmyk@intent{#2}% color intent - \pdfstringdef\pdfx@cmyk@identifier{#3}% text string identifier - \pdfstringdef\pdfx@cmyk@registry{#4}% valid URL - \endgroup}% closes-off \pdfx@setCMYKcolorprofile -%% -\def\pdfx@setGRAYcolorprofile{% - \begingroup - \pdfx@profilecatcodes - \pdfx@dosetGRAYcolorprofile} -\def\pdfx@dosetGRAYcolorprofile#1#2#3#4{% - \xdef\pdfx@gray@profile{#1}% valid file name - \xdef\pdfx@gray@intent{#2}% - \xdef\pdfx@gray@identifier{#3}% +\def\pdfx@setCMYKcolorprofiledir#1{% + \gdef\pdfx@CMYKcolorprofiledir{#1}% +} +\pdfx@setRGBcolorprofiledir{} +\pdfx@setCMYKcolorprofiledir{} + +%% This does indeed work! Use it in .xmpdata files +\providecommand{\AdobeMacOSdir}{/Library/Application Support/Adobe/Color/Profiles/Recommended/} +\edef\pdfx@tmp{C:\string\Windows\string\System32\string\Spool\string\Drivers\string\Color\string/} +\expandafter\providecommand\expandafter{\expandafter\WindowsColordir\expandafter}\expandafter{\pdfx@tmp} +%%\pdfx@setcolorprofiledir{\AdobeMacOSdir} + +%% overide that value using the following commands: +\let\pdfxSetCMYKcolorProfileDir\pdfx@setCMYKcolorprofiledir +\let\pdfxSetRGBcolorProfileDir\pdfx@setRGBcolorprofiledir +\let\pdfxSetColorProfileDir\pdfxSetCMYKcolorProfileDir % for back-compatibility +%% +\def\pdfx@setrgbprofile#1#2#3#4{% + \xdef\pdfx@rgb@profile{\pdfx@RGBcolorprofiledir#1}% valid file name + \gdef\pdfx@rgb@identifier{#2}% + \gdef\pdfx@rgb@info{#3}% + \pdfstringdef\pdfx@rgb@registry{#4}% valid URL + \endgroup}% closes-off \setRGBcolorprofile +%% +\def\pdfx@setcmykprofile#1#2#3#4{% + \xdef\pdfx@cmyk@profile{\pdfx@CMYKcolorprofiledir#1}% valid file name +%% \expandafter\gdef\expandafter\pdfx@cmyk@profile\expandafter{\pdfx@colorprofiledir#1}% valid file name + \gdef\pdfx@cmyk@intent{#2}% +%% \pdfstringdef\pdfx@cmyk@intent{#2}% color intent + \gdef\pdfx@cmyk@identifier{#3}% +%% \pdfstringdef\pdfx@cmyk@identifier{#3}% text string identifier + \gdef\pdfx@cmyk@registry{#4}% +%% \pdfstringdef\pdfx@cmyk@registry{#4}% valid URL + \endgroup}% closes-off \setCMYKcolorprofile +%% +\def\pdfx@setgrayprofile#1#2#3#4{% + \gdef\pdfx@gray@profile{#1}% valid file name + \gdef\pdfx@gray@intent{#2}% + \gdef\pdfx@gray@identifier{#3}% \pdfstringdef\pdfx@gray@registry{#4}% valid URL - \endgroup}% closes-off \pdfx@setGRAYcolorprofile -%%---------------------------------------------------------------------- + \endgroup}% closes-off \setGRAYcolorprofile +%% +\def\pdfx@externalprofile#1#2#3#4#5#6#7#8#9{% + \gdef\pdfx@extprofile{#1}% PDF string for /ProfileName + \gdef\pdfx@cmyk@intent{#2}% PDF string for /OutputCondition + \gdef\pdfx@cmyk@identifier{#3}% PDF string for /OutputConditionIdentifier + \gdef\pdfx@cmyk@registry{#4}% {http://www.color.org}% + \gdef\pdfx@profileCS{#5}% 4 bytes for /ProfileCS + \gdef\pdfx@iccversion{#6}% Hex string for /ICCVersion < ... > + \gdef\pdfx@colorURL{#7}% URL + \gdef\pdfx@cmyk@info{#8}% for /Info + \gdef\pdfx@profile@checksum{#9}% Hex string for /CheckSum < ... > + \endgroup}% closes-off \setEXTERNALprofile +%% %% default color profiles -\pdfx@setRGBcolorprofile{sRGB_IEC61966-2-1_black_scaled.icc} - {sRGB_IEC61966-2-1_black_scaled} - {sRGB IEC61966 v2.1 with black scaling} - {http://www.color.org} -\pdfx@setCMYKcolorprofile{coated_FOGRA39L_argl.icc} - {Coated FOGRA39} - {FOGRA39 (ISO Coated v2 300\% (ECI))} - {http://www.argyllcms.com/} -\pdfx@setGRAYcolorprofile{Gray_linear.icc} - {} - {Custom} - {http://www.freedesktop.org/wiki/OpenIcc} +{\catcode`\_ 12 \catcode`\& 12 \catcode`\~ 12 + \gdef\pdfx@xprofile@cmykdefault{coated_FOGRA39L_argl.icc} + \gdef\pdfx@aprofile@rgbdefault{sRGB_IEC61966-2-1_black_scaled.icc} + \gdef\pdfx@eprofile@graydefault{Gray_linear.icc} + \gdef\pdfx@pprofile@externaldefault{FOGRA39} +}% end of \catcode +\xdef\pdfx@rgb@profile{\pdfx@aprofile@rgbdefault} +\xdef\pdfx@cmyk@profile{\pdfx@xprofile@cmykdefault} +\xdef\pdfx@gray@profile{\pdfx@eprofile@graydefault} +\xdef\pdfx@external@profile{\pdfx@pprofile@externaldefault} + %%---------------------------------------------------------------------- %% License for the file sRGB_IEC61966-2-1_black_scaled.icc : %% @@ -452,15 +521,41 @@ %% %% Terms of use %% -%% To anyone who acknowledges that the file "sRGB_IEC61966-2-1_black_scaled.icc" -%% is provided "AS IS" WITH NO EXPRESS OR IMPLIED WARRANTY, permission -%% to use, copy and distribute these file for any purpose is hereby -%% granted without fee, provided that the file is not changed including -%% the ICC copyright notice tag, and that the name of ICC shall not be -%% used in advertising or publicity pertaining to distribution of the -%% software without specific, written prior permission. ICC makes no -%% representations about the suitability of this software for any -%% purpose. +%% To anyone who acknowledges that the file "sRGB_IEC61966-2-1_black_scaled.icc" is provided "AS IS" WITH NO EXPRESS +%% OR IMPLIED WARRANTY, permission to use, copy and distribute these file for any purpose is hereby granted without fee, +%% provided that the file is not changed including the ICC copyright notice tag, and that the name of ICC shall not be used +%% in advertising or publicity pertaining to distribution of the software without specific, written prior permission. +%% ICC makes no representations about the suitability of this software for any purpose. +%% +%%---------------------------------------------------------------------- +{\catcode`\| 14 \catcode`\% 12 \catcode`\_ 12 + \edef\@bchar{\expandafter\@gobble\string\\}| + \edef\({\string\(}\edef\){\string\)}| + \begingroup | \endgroup occurs within the macro expansion +\expandafter\pdfx@setrgbprofile\expandafter{sRGB_IEC61966-2-1_black_scaled.icc}| + {sRGB_IEC61966-2-1_black_scaled}| + {sRGB IEC61966 v2.1 with black scaling}| + {http://www.color.org}| + \begingroup | \endgroup occurs within the macro expansion +\pdfx@setcmykprofile{coated_FOGRA39L_argl.icc}|{FOGRA39L.icc}| coated_FOGRA39L_argl.icc + {Coated FOGRA39}| + {FOGRA39 \string\(ISO Coated v2 300%\space \string\(ECI\string\)\string\)}| + {http://www.argyllcms.com/}|{http://www.color.org}| + \begingroup | \endgroup occurs within the macro expansion +\pdfx@setgrayprofile{Gray_linear.icc}| + {}| + {Custom}| + {http://www.freedesktop.org/wiki/OpenIcc}| +\ifno@iccprofile + \begingroup | \endgroup occurs within the macro expansion + \pdfx@externalprofile{Coated FOGRA39 \(ISO 12647-2:2004\)}| + {Offset commercial and specialty printing according to ISO 12647-2:2004 | + / Amd 1, paper type 1 or 2 \(gloss or matte coated offset, 115 g/m2\), | + screen frequency 60/cm.}| + {FOGRA39}{http://www.color.org}{CMYK}{02100000}{http://www.adobe.com}| + {Coated FOGRA39 \(ISO 12647-2:2004\)}{74FF62F330BF0DBE4495B5720542D511}| +\fi +}% end of \catcode %% %%---------------------------------------------------------------------- %% License for the file coated_FOGRA39L_argl.icc : @@ -489,46 +584,97 @@ %% distribution. %%---------------------------------------------------------------------- +\newif\ifexternalICCprofiles + \begingroup - \inputencoding{8bit}% +%% override unneeded color-profile specifier + \ifpdfx@x + \ifno@iccprofile % PDF/X-4p and PDF/X-5pg PDF/VT-2 + \begingroup + \def\pdfx@extprofiles@store{AdobeExternalProfiles.tex}% + \InputIfFileExists{\pdfx@extprofiles@store}% + {\global\externalICCprofilestrue \catcode `\# 12\relax}% + {\typeout{** pdfx: No file \pdfx@extprofiles@store\space found for PDF/X-4p or PDF/X-5pg}}% + \endgroup + \else + \begingroup + \def\pdfx@profiles@store{AdobeColorProfiles.tex}% + \InputIfFileExists{\pdfx@profiles@store}% + {\global\externalICCprofilesfalse \catcode `\# 12\relax}% + {\typeout{** pdfx: No file \pdfx@profiles@store\space found for PDF/X variants}}% + \endgroup + \def\setRGBcolorprofile#1#2#3#4{}% + \fi + \else +%% load it, in case the macros are used in .xmpdata + \InputIfFileExists{AdobeColorProfiles.tex}{}{}% + \ifpdfx@e + \else + \def\setCMYKcolorprofile#1#2#3#4{}% + \def\setGRAYcolorprofile#1#2#3#4{}% + \fi\fi +%% + \ifluatex\else + \inputencoding{8bit}% + \fi \makeatletter \pdfx@localcommands +%% \InputIfFileExists{\jobname.xmpdata}% - {\typeout{**pdfx: Metadata file \jobname.xmpdata read successfully.}}% - {\typeout{**pdfx: No file \jobname.xmpdata . Metadata will be incomplete!}} + {\typeout{** pdfx: Metadata file \jobname.xmpdata read successfully.}}% + {\typeout{** pdfx: No file \jobname.xmpdata . Metadata will be incomplete!}} \endgroup + %% ---------------------------------------------------------------------- +\newif\ifpdfx@cmyk \begingroup \ifpdfx@x % PDF/X needs a CMYK color profile for printing - \def\0{\string\0} + \global\pdfx@cmyktrue + \edef\@pctchar{\expandafter\@gobble\string\%} + \edef\@bchar{\expandafter\@gobble\string\\} + \edef\0{\string\0} + \edef\({\string\(} + \edef\){\string\)} \catcode`\_ 12 \ifno@iccprofile % PDF/X-4p and PDF/X-5pg - \immediate\pdfobj {<</FS /URL /F (http://www.color.org/registry/profiles/Coated_Fogra39L_VIGC_300.icc)>>} + \immediate\pdfobj {<</FS/URL/F(\pdfx@colorURL)>>} \edef\OBJ@URLs{\the\pdflastobj}% - \xdef\pdfx@cmyk@intent{Coated_Fogra39L_VIGC_300}% - \xdef\pdfx@cmyk@identifier{Coated_Fogra39L_VIGC_300.icc}% +%% \xdef\pdfx@cmyk@intent{Offset commercial and specialty printing according to ISO 12647-2:2004 / Amd 1, % +%% paper type 1 or 2 \(gloss or matte coated offset, 115 g/m2\), screen frequency 60/cm.0}% +%% \xdef\pdfx@cmyk@info{Coated FOGRA39 \(ISO 12647-2:2004\)}% +%% \xdef\pdfx@cmyk@name{Coated FOGRA39 \(ISO 12647-2:2004\)}% +%% \xdef\pdfx@cmyk@identifier{FOGRA39}% \immediate\pdfobj {<<% - /CheckSum <5449c505618a9b6c38634b4708ae9e37>^^J% d5f0714cd9d6092b6ac93b625f5d8a0c>% - /ICCVersion (\004\002\000\000)% 4.2.0.0 - /ProfileCS (CMYK)^^J% - /ProfileName (\pdfx@cmyk@identifier)^^J% + /CheckSum <\pdfx@profile@checksum>^^J% + /ICCVersion <\pdfx@iccversion>% + /ProfileCS (\pdfx@profileCS)^^J% + /ProfileName (\pdfx@extprofile)^^J% /URLs [\OBJ@URLs\space 0 R ] >>} % \edef\OBJ@ICC{\the\pdflastobj}% +%% \IfFileExists{\pdfx@rgb@profile}{% +%% \immediate\pdfobj stream attr{/N 3^^J /Alternate /DeviceRGB} file{\pdfx@rgb@profile}% +%% \edef\OBJ@RGB{\the\pdflastobj}% +%% }{% +%% \errmessage{No color profile found to use for RGB screen colors.}% +%% }% \pdfcatalog{% /OutputIntents [ << /Type/OutputIntent /S/GTS_PDFX /OutputCondition (\pdfx@cmyk@intent)% /OutputConditionIdentifier (\pdfx@cmyk@identifier)% + /Info(\pdfx@cmyk@intent)% /RegistryName(\pdfx@cmyk@registry) - % extra dictionary required for PDF/X-4p and PDF/X-5pg +%% extra dictionary required for PDF/X-4p and PDF/X-5pg /DestOutputProfileRef \OBJ@ICC\space 0 R >> ]}% +%% \else % PDF/X-1 , PDF/X-1a , PDF/X-3 , PDF/X-4 , PDF/X-5g - \IfFileExists{\pdfx@cmyk@profile}{% +%% + \IfFileExists{"\pdfx@cmyk@profile"}{% % embedded CMYK color profile - \immediate\pdfobj stream attr{/N 4} file{\pdfx@cmyk@profile}% + \immediate\pdfobj stream attr{/N 4} file{"\pdfx@cmyk@profile"}% \edef\OBJ@CMYK{\the\pdflastobj}% \pdfcatalog{% /OutputIntents [ << @@ -536,22 +682,47 @@ /S/GTS_PDFX /OutputCondition (\pdfx@cmyk@intent)% /OutputConditionIdentifier (\pdfx@cmyk@identifier)% + /Info(\pdfx@cmyk@intent)% /RegistryName(\pdfx@cmyk@registry) /DestOutputProfile \OBJ@CMYK\space 0 R >> ]}% }{% - \errmessage{No color profile found to use for CMYK printing colors.}% + \errmessage{No color profile \pdfx@cmyk@profile\ found to use for CMYK printing colors.}% }% \fi % end of \ifno@iccprofile \else -%% PDF/A needs an RGB color profile for on-screen rendering - \IfFileExists{\pdfx@rgb@profile}{% - \immediate\pdfobj stream attr{/N 3^^J/Alternate/DeviceRGB} file{\pdfx@rgb@profile}% - \edef\OBJ@RGB{\the\pdflastobj}% +%% PDF/A and PDF/E can specify a CMYK profile + \expandafter\ifx\expandafter\relax\pdfx@rgb@profile\relax + \global\pdfx@cmyktrue + \IfFileExists{"\pdfx@cmyk@profile"}{% + % embedded CMYK color profile + \immediate\pdfobj stream attr{/N 4} file{"\pdfx@cmyk@profile"}% + \edef\OBJ@CMYK{\the\pdflastobj}% + \pdfcatalog{% + /ViewerPreferences <</DisplayDocTitle true >> + /OutputIntents [ << + /Type /OutputIntent + \ifpdfx@e + /S/ISO_PDFE1 + \else + /S/GTS_PDFA1 + \fi + /OutputCondition (\pdfx@cmyk@intent)% use this or /Info ? + /OutputConditionIdentifier (\pdfx@cmyk@identifier)% + /DestOutputProfile \OBJ@CMYK\space 0 R + /Info(\pdfx@cmyk@intent)% + /RegistryName(\pdfx@cmyk@registry) + >> ]}% }{% - \errmessage{No color profile found to use for RGB screen colors.}% + \errmessage{No color profile \pdfx@cmyk@profile\ found to use for CMYK screen colors.}% }% - \pdfcatalog{% + \else +%% PDF/A and PDF/E usually need an RGB color profile for on-screen rendering + \global\pdfx@cmykfalse + \IfFileExists{"\pdfx@rgb@profile"}{% + \immediate\pdfobj stream attr{/N 3^^J/Alternate/DeviceRGB} file{"\pdfx@rgb@profile"}% + \edef\OBJ@RGB{\the\pdflastobj}% + \pdfcatalog{% /ViewerPreferences <</DisplayDocTitle true >> /OutputIntents [ << /Type /OutputIntent @@ -560,12 +731,16 @@ \else /S/GTS_PDFA1 \fi - /OutputConditionIdentifier (\pdfx@rgb@identifier)% + /OutputConditionIdentifier (\pdfx@rgb@identifier)% /DestOutputProfile \OBJ@RGB\space 0 R /Info(\pdfx@rgb@info) /RegistryName(\pdfx@rgb@registry) >> ]}% + }{% + \errmessage{No color profile found to use for RGB screen colors.}% + }% + \fi % end of \ifx \fi % end of \ifpdfx@x \endgroup @@ -581,9 +756,16 @@ \begingroup \pdfx@xmpmarkup \def\sep{, }% - \inputencoding{8bit}\makeatletter + \ifluatex\else + \inputencoding{8bit}% + \fi + \makeatletter + \IfFileExists{\pdfx@encodingfile}{% + \def\cf@encoding{U}\fontencoding{U}% + }{}% \xdef\xmp@@Keywords{\xmp@Keywords} \xdef\xmp@@Author{\xmp@Author} + \xdef\xmp@@Copyright{\xmp@Copyright} \endgroup %% ---------------------------------------------------------------------- @@ -623,16 +805,18 @@ %% ---------------------------------------------------------------------- %% \pdfx@topdfstring\toka\tokb: Convert the string in \tokb to a format %% appropriate for PDF /Info strings, i.e., PDFDoc encoding or UTF-16 -%% encoding, and store the result in \toka. As a special case, if \tokb +%% encoding, and store the result in \toka As a special case, if \tokb %% is \@empty, set \toka to \@empty. \def\pdfx@topdfstring#1#2{% \ifx#2\@empty - \global\let#1\@empty + \global\let#1\empty \else \begingroup - \inputencoding{utf8}% - \hypersetup{pdfencoding=unicode}% + \ifluatex\else + \inputencoding{utf8}% + \fi + \hypersetup{pdfencoding=auto}% \pdfstringdef#1{#2}% \endgroup \fi @@ -655,7 +839,8 @@ \pdfgentounicode=1 \ifpdfx@x - {\pdfinfo{% order of these dictionary keys should not matter + {\def\sep{,}% + \pdfinfo{% order of these dictionary keys should not matter \ifx\pdfx@Author\@empty\else /Author(\pdfx@Author)\fi /CreationDate(D:\pdfx@convDate)% /Creator(\pdfx@CreatorTool)% @@ -677,10 +862,11 @@ \ifx\pdfx@Title\@empty\else /Title(\pdfx@Title)\fi /Trapped/False% }% end of PDF/X info - }% + }% end of scope for \sep \else \ifpdfx@e - {\pdfinfo{% order of these dictionary keys should not matter + {\def\sep{,}% + \pdfinfo{% order of these dictionary keys should not matter \ifx\pdfx@Author\@empty\else /Author(\pdfx@Author)\fi /CreationDate(D:\pdfx@convDate)% /Creator(\pdfx@CreatorTool)% @@ -692,16 +878,17 @@ \ifx\pdfx@Title\@empty\else /Title(\pdfx@Title)\fi /Trapped/False% }% end of PDF/E info - }% + }% end of scope for \sep \else \def\pdfx@confA{a}% \def\pdfx@confB{b}% \def\pdfx@confU{u}% - \edef\xmp@conformance{\csname pdfx@conf\xmp@Conformance\endcsname}% + \expandafter\def\expandafter\xmp@conf\expandafter{\csname pdfx@conf\xmp@Conformance\endcsname}% \AtBeginDocument{% \def\PDF@FinishDoc{% \Hy@UseMaketitleInfos - \pdfinfo{% + {\def\sep{, }% + \pdfinfo{% \ifx\pdfx@Title\@empty\else /Title(\pdfx@Title)\fi \ifx\pdfx@Author\@empty\else /Author(\pdfx@Author)\fi \ifx\pdfx@Subject\@empty\else /Subject(\pdfx@Subject)\fi @@ -719,8 +906,9 @@ \fi /Producer(\pdfx@Producer)% /Trapped/False - /GTS_PDFA1Version (PDF/A-\xmp@Part\xmp@conformance:\xmp@ReleaseDate)% + /GTS_PDFA1Version (PDF/A-\xmp@Part\xmp@conf:\xmp@ReleaseDate)% }% end of PDF/A info + }% end of scope for \sep }% end of \PDF@FinishDoc }% end of \AtBeginDocument \fi\fi @@ -740,12 +928,12 @@ \else \def\xmp@template{pdfa}% \fi\fi - % patch commands from xmpincl.sty ... +%% patch commands from xmpincl.sty … \def\pdfx@xmpinclStart{% supply byte-order marker - <?xpacket begin='^^ef^^bb^^bf'? id='W5M0MpCehiHzreSzNTczkc9d' ?> % + <?xpacket begin='^^ef^^bb^^be' id='W5M0MpCehiHzreSzNTczkc9d' ?> % }% \def\pdfx@xmpinclStartAlt{% no byte-order marker - <?xpacket begin=''? id='W5M0MpCehiHzreSzNTczkc9d' ?> % + <?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d' ?> % }% \def\pdfx@xmpinclEnd{% allow XMP packet to be writable <?xpacket end='w'?> % @@ -756,19 +944,63 @@ \let\mcs@xmpinclStart\pdfx@xmpinclStartAlt \fi \let\mcs@xmpinclEnd\pdfx@xmpinclEnd -%% ... preventing their redefinition +%% … preventing their redefinition \def\newcommand#1#2{}% - % +%% +%% \def\pdfx@endeval{% +%% \noexpand \TE@setvaltrue \noexpand \else +%% \noexpand \TE@setvalfalse \noexpand \fi +%% \noexpand \TE@negatefalse \noexpand \fi}% +%% \let\TE@endeval\pdfx@endeval + \ifluatex\else + \inputencoding{8bit}% + \fi + \makeatletter +%% \let\&=\xmpAmp \pdfx@xmpmarkup - \catcode `\_ 12 + \def\cf@encoding{U}\fontencoding{U}% + \providecommand{\ifnot@empty}[2]{\ifx#1\@empty\relax\else#2\fi}% +%% \catcode `\_ 12 \obeyspaces% beware of 128 space characters in the next line -- for padding end of XMP packet - \def\padding@line{ }% - \def\ifnot@empty#1#2{\ifx#1\@empty\else#2\fi} - \inputencoding{8bit}\makeatletter + \gdef\paddingline{ }% \typeout{Using XMP template file: \xmp@template.xmp}% \includexmp{\xmp@template} \endgroup +%% +%% controls the color model and conversions with xcolor package +%% +\ifpdfx@cmyk + \PassOptionsToPackage{xcolor}{cmyk,hyperref} + \def\pdfx@handlexcolor{\selectcolormodel{cmyk}\convertcolorsUtrue\convertcolorsDtrue} +%%\hypersetup{allbordercolors=black,allcolors=black}% else link borders use RGB + \ifpdfx@x\else + \AtBeginDocument{% + \def\@linkcolor{0 1 1 0}% + \def\@anchorcolor{0 0 0 1}% + \def\@citecolor{1 0 1 0}% + \def\@filecolor{.5 0 0 .5}% + \def\@urlcolor{0 1 0 0}% + \def\@menucolor{0 1 1 0}% + \def\@runcolor{.5 0 0 .5}% + \def\@linkbordercolor{0 1 1 0}% + \def\@citebordercolor{1 0 1 0}% + \def\@filebordercolor{.5 0 0 .5}% + \def\@urlbordercolor{1 0 0 0}% + \def\@menubordercolor{0 1 1 0}% + \def\@runbordercolor{.7 0 0 .3}% + \def\Fld@bcolor{0 0 0 0}% + \def\Fld@bordercolor{0 1 1 0}% + } + \fi +\else + \PassOptionsToPackage{xcolor}{rgb,hyperref} + \def\pdfx@handlexcolor{\selectcolormodel{rgb}\convertcolorsUtrue\convertcolorsDtrue} +\fi +\@ifpackageloaded{xcolor}{\pdfx@handlexcolor}{% + \AtBeginDocument{\@ifpackageloaded{xcolor}{\pdfx@handlexcolor}{}} +} + %% disable hyperref options, to prevent changes that will cause an incompatibility \Hy@DisableOption{pdfauthor}% \Hy@DisableOption{pdftitle}% @@ -778,6 +1010,8 @@ \Hy@DisableOption{pdfmoddate}% \Hy@DisableOption{pdfproducer}% \Hy@DisableOption{pdfkeywords}% +%% once set correctly, don't let this change + \Hy@DisableOption{pdfa}\let\Hy@pdfafalse\relax\let\Hy@pdfatrue\relax \endinput %% %% End of file `pdfx.sty'. diff --git a/Master/texmf-dist/tex/latex/pdfx/pdfx.xmp b/Master/texmf-dist/tex/latex/pdfx/pdfx.xmp index 4342740c57e..de12224c2d3 100644 --- a/Master/texmf-dist/tex/latex/pdfx/pdfx.xmp +++ b/Master/texmf-dist/tex/latex/pdfx/pdfx.xmp @@ -48,33 +48,29 @@ <xmp:CreatorTool>\xmp@CreatorTool</xmp:CreatorTool> <xmp:CreateDate>\xmp@convDate</xmp:CreateDate> <xmp:MetadataDate>\xmp@convDate</xmp:MetadataDate> - \ifnot@empty\xmp@@Keywords{<pdf:Keywords>\xmp@@Keywords</pdf:Keywords>} + \ifx\xmp@@Keywords\@empty\else<pdf:Keywords>\xmp@@Keywords</pdf:Keywords>\fi <pdf:Producer>\xmp@Producer</pdf:Producer> <pdf:Trapped>False</pdf:Trapped> \ifnum\xmp@Part<4 <pdf:Version>PDF/X-\xmp@Part</pdf:Version>\fi \ifnum\xmp@Part>3 <pdfxid:GTS_PDFXVersion>PDF/X-\xmp@Part\xmp@Conformance</pdfxid:GTS_PDFXVersion>\fi - <pdfx:GTS_PDFXVersion>PDF/X-\xmp@Part\xmp@Conformance\ifnum\xmp@Part<4:\xmp@ReleaseDate\fi</pdfx:GTS_PDFXVersion> + <pdfx:GTS_PDFXVersion>PDF/X-\xmp@Part\xmp@Conformance\ifnum\xmp@Part<4:\xmp@ReleaseDate</pdfx:GTS_PDFXVersion>\else</pdfx:GTS_PDFXVersion>\fi \ifnum\xmp@Part<3 <pdfx:GTS_PDFXConformance>PDF/X-\xmp@Part\xmp@Conformance:\xmp@ReleaseDate</pdfx:GTS_PDFXConformance>\fi -% \ifnot@empty\xmp@AuthoritativeDomain{<pdfx:AuthoritativeDomain><rdf:Bag><rdf:li>\xmp@AuthoritativeDomain</rdf:li></rdf:Bag></pdfx:AuthoritativeDomain>} - \ifnot@empty\xmp@AuthoritativeDomain{<pdfx:AuthoritativeDomain>\xmp@AuthoritativeDomain</pdfx:AuthoritativeDomain>} +% \ifx\xmp@AuthoritativeDomain\@empty\else<pdfx:AuthoritativeDomain><rdf:Bag><rdf:li>\xmp@AuthoritativeDomain</rdf:li></rdf:Bag></pdfx:AuthoritativeDomain>\fi +% \ifx\xmp@AuthoritativeDomain\@empty\else<pdfx:AuthoritativeDomain>\xmp@AuthoritativeDomain</pdfx:AuthoritativeDomain>\fi </rdf:Description> <rdf:Description rdf:about="" xmlns:xmpRights = "http://ns.adobe.com/xap/1.0/rights/"> - \ifnot@empty\xmp@Copyright{<xmpRights:Marked>True</xmpRights:Marked> - <xmpRights:UsageTerms> - <rdf:Alt><rdf:li xml:lang="x-default">\xmp@Copyright</rdf:li> - </rdf:Alt> - </xmpRights:UsageTerms>} - \ifnot@empty\xmp@CopyrightURL{<xmpRights:WebStatement>\xmp@CopyrightURL</xmpRights:WebStatement>} + \ifx\xmp@Copyright\@empty\else<xmpRights:Marked>True</xmpRights:Marked>^^J <xmpRights:UsageTerms>^^J <rdf:Alt><rdf:li xml:lang="x-default">\xmp@@Copyright</rdf:li>^^J </rdf:Alt>^^J </xmpRights:UsageTerms>\fi + \ifx\xmp@WebStatement\@empty\else<xmpRights:WebStatement>\xmp@WebStatement</xmpRights:WebStatement>\fi </rdf:Description> <rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/"> <dc:format>application/pdf</dc:format> - \ifnot@empty\xmp@Title{<dc:title><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Title</rdf:li></rdf:Alt></dc:title>} - \ifnot@empty\xmp@@Author{<dc:creator><rdf:Seq><rdf:li>\xmp@@Author</rdf:li></rdf:Seq></dc:creator>} - \ifnot@empty\xmp@Publisher{<dc:publisher><rdf:Bag><rdf:li>\xmp@Publisher</rdf:li></rdf:Bag></dc:publisher>} - \ifnot@empty\xmp@Doi{<dc:identifier>doi:\xmp@Doi</dc:identifier>} - \ifnot@empty\xmp@Copyright{<dc:rights><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Copyright</rdf:li></rdf:Alt></dc:rights>} - \ifnot@empty\xmp@Subject{<dc:description><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Subject</rdf:li></rdf:Alt></dc:description>} - \ifnot@empty\xmp@Keywords{<dc:subject><rdf:Bag><rdf:li>\xmp@Keywords</rdf:li></rdf:Bag></dc:subject>} + \ifx\xmp@Title\@empty\else<dc:title><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Title</rdf:li></rdf:Alt></dc:title>\fi + \ifx\xmp@@Author\@empty\else<dc:creator><rdf:Seq><rdf:li>\xmp@@Author</rdf:li></rdf:Seq></dc:creator>\fi + \ifx\xmp@Org\@empty\else<dc:publisher><rdf:Bag><rdf:li>\xmp@Org</rdf:li></rdf:Bag></dc:publisher>\fi + \ifx\xmp@Doi\@empty\else<dc:identifier>doi:\xmp@Doi</dc:identifier>\fi + \ifx\xmp@Copyright\@empty\else<dc:rights><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Copyright</rdf:li></rdf:Alt></dc:rights>\fi + \ifx\xmp@Subject\@empty\else<dc:description><rdf:Alt><rdf:li xml:lang="x-default">\xmp@Subject</rdf:li></rdf:Alt></dc:description>\fi + \ifx\xmp@Keywords\@empty\else<dc:subject><rdf:Bag><rdf:li>\xmp@Keywords</rdf:li></rdf:Bag></dc:subject>\fi </rdf:Description> <rdf:Description rdf:about="" xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/" xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#" @@ -188,91 +184,31 @@ <pdfaSchema:prefix>prism</pdfaSchema:prefix> <pdfaSchema:property> <rdf:Seq> -%% RRM: Only need to define the tags that are actually used below. +%% RRM: Only need to define the tags that are actually used below. But \ifx ... \fi must be all on one line. %% declare prism:aggregationType - \ifnot@empty\xmp@PublicationType{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>aggregationType</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>The type of publication. If defined, must be one of book, catalog, feed, journal, magazine, manual, newsletter, pamphlet.</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@PublicationType\@empty\else <rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>aggregationType</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>The type of publication. If defined, must be one of book, catalog, feed, journal, magazine, manual, newsletter, pamphlet.</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:issn - \ifnot@empty\xmp@Journalnumber{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>issn</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>The ISSN for the publication in which the resource was published</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Journalnumber\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>issn</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>The ISSN for the publication in which the resource was published</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:volume - \ifnot@empty\xmp@Volume{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>volume</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Additional identifier for the publication where the resource appeared, providing the Volume portion of the common Volume, Number scheme</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Volume\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>volume</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Additional identifier for the publication where the resource appeared, providing the Volume portion of the common Volume, Number scheme</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:number - \ifnot@empty\xmp@Issue{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>number</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Number of the Issue within the Volume</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Issue\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>number</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Number of the Issue within the Volume</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:coverDisplayDate - \ifnot@empty\xmp@CoverDisplayDate{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>coverDisplayDate</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Date on the cover of a magazine issue, as a human-readable text string</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@CoverDisplayDate\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>coverDisplayDate</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Date on the cover of a magazine issue, as a human-readable text string</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:coverDate - \ifnot@empty\xmp@CoverDate{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>coverDate</pdfaProperty:name> - <pdfaProperty:valueType>Date</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Date on the cover of a magazine issue, suitable for storing in a database field with a 'date' data type</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@CoverDate\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>coverDate</pdfaProperty:name>^^J <pdfaProperty:valueType>Date</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Date on the cover of a magazine issue, suitable for storing in a database field with a 'date' data type</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:issueName - \ifnot@empty\xmp@Journaltitle{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>issueName</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Additional identifier, typically used for major issues of a magazine or other resource</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Journaltitle\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>issueName</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Additional identifier, typically used for major issues of a magazine or other resource</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:pageRange - \ifnot@empty\xmp@Firstpage{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>pageRange</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Page range for the published print version of the resource</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Firstpage\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>pageRange</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Page range for the published print version of the resource</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:startingPage - \ifnot@empty\xmp@Firstpage{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>startingPage</pdfaProperty:name> - <pdfaProperty:valueType>Integer</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>First page number for the published version of the resource</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Firstpage\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>startingPage</pdfaProperty:name>^^J <pdfaProperty:valueType>Integer</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>First page number for the published version of the resource</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:endingPage - \ifnot@empty\xmp@Lastpage{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>endingPage</pdfaProperty:name> - <pdfaProperty:valueType>Integer</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>The last page number for the printed resource</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Lastpage\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>endingPage</pdfaProperty:name>^^J <pdfaProperty:valueType>Integer</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>The last page number for the printed resource</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:doi - \ifnot@empty\xmp@Doi{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>doi</pdfaProperty:name> - <pdfaProperty:valueType>Text</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>Digital Object Identifier, DOI, for the article</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Doi\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>doi</pdfaProperty:name>^^J <pdfaProperty:valueType>Text</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>Digital Object Identifier, DOI, for the article</pdfaProperty:description>^^J </rdf:li>\fi %% declare prism:url - \ifnot@empty\xmp@Doi{<rdf:li rdf:parseType="Resource"> - <pdfaProperty:name>url</pdfaProperty:name> - <pdfaProperty:valueType>URL</pdfaProperty:valueType> - <pdfaProperty:category>external</pdfaProperty:category> - <pdfaProperty:description>URL for the article or unit of content</pdfaProperty:description> - </rdf:li>} + \ifx\xmp@Doi\@empty\else<rdf:li rdf:parseType="Resource">^^J <pdfaProperty:name>url</pdfaProperty:name>^^J <pdfaProperty:valueType>URL</pdfaProperty:valueType>^^J <pdfaProperty:category>external</pdfaProperty:category>^^J <pdfaProperty:description>URL for the article or unit of content</pdfaProperty:description>^^J </rdf:li>\fi %% RRM: more tags can be declared % <rdf:li rdf:parseType="Resource"> % <pdfaProperty:name></pdfaProperty:name> @@ -286,18 +222,18 @@ </pdfaExtension:schemas> </rdf:Description> <rdf:Description rdf:about="" xmlns:prism="http://prismstandard.org/namespaces/basic/2.2/"> - \ifnot@empty\xmp@PublicationType{<prism:aggregationType>\xmp@PublicationType</prism:aggregationType>} - \ifnot@empty\xmp@Journalnumber{<prism:issn>\xmp@Journalnumber</prism:issn>} - \ifnot@empty\xmp@Volume{<prism:volume>\xmp@Volume</prism:volume>} - \ifnot@empty\xmp@Issue{<prism:number>\xmp@Issue</prism:number>} - \ifnot@empty\xmp@CoverDisplayDate{<prism:coverDisplayDate>\xmp@CoverDisplayDate</prism:coverDisplayDate>} - \ifnot@empty\xmp@CoverDate{<prism:coverDate>\xmp@CoverDate</prism:coverDate>} - \ifnot@empty\xmp@Journaltitle{<prism:issueName>\xmp@Journaltitle</prism:issueName>} - \ifnot@empty\xmp@Firstpage{<prism:pageRange>\xmp@Firstpage-\xmp@Lastpage</prism:pageRange>} - \ifnot@empty\xmp@Firstpage{<prism:startingPage>\xmp@Firstpage</prism:startingPage>} - \ifnot@empty\xmp@Lastpage{<prism:endingPage>\xmp@Lastpage</prism:endingPage>} - \ifnot@empty\xmp@Doi{<prism:doi>\xmp@Doi</prism:doi>} - \ifnot@empty\xmp@Doi{<prism:url>http://dx.doi.org/\xmp@Doi</prism:url>} + \ifx\xmp@PublicationType\@empty\else<prism:aggregationType>\xmp@PublicationType</prism:aggregationType>\fi + \ifx\xmp@Journalnumber\@empty\else<prism:issn>\xmp@Journalnumber</prism:issn>\fi + \ifx\xmp@Volume\@empty\else<prism:volume>\xmp@Volume</prism:volume>\fi + \ifx\xmp@Issue\@empty\else<prism:number>\xmp@Issue</prism:number>\fi + \ifx\xmp@CoverDisplayDate\@empty\else<prism:coverDisplayDate>\xmp@CoverDisplayDate</prism:coverDisplayDate>\fi + \ifx\xmp@CoverDate\@empty\else<prism:coverDate>\xmp@CoverDate</prism:coverDate>\fi + \ifx\xmp@Journaltitle\@empty\else<prism:issueName>\xmp@Journaltitle</prism:issueName>\fi + \ifx\xmp@Firstpage\@empty\else<prism:pageRange>\xmp@Firstpage-\xmp@Lastpage</prism:pageRange>\fi + \ifx\xmp@Firstpage\@empty\else<prism:startingPage>\xmp@Firstpage</prism:startingPage>\fi + \ifx\xmp@Lastpage\@empty\else<prism:endingPage>\xmp@Lastpage</prism:endingPage>\fi + \ifx\xmp@Doi\@empty\else<prism:doi>\xmp@Doi</prism:doi>\fi + \ifx\xmp@Doi\@empty\else<prism:url>http://dx.doi.org/\xmp@Doi</prism:url>\fi </rdf:Description> % <rdf:Description rdf:about="" % xmlns:dc="http://purl.org/dc/elements/1.1/"> @@ -314,7 +250,7 @@ % </dc:description> % <dc:creator> % <rdf:Bag> -% <rdf:li>\xmp@@Author</rdf:li> +% <rdf:li>\xmp@Author</rdf:li> % </rdf:Bag> % </dc:creator> % <dc:subject> @@ -333,10 +269,10 @@ </rdf:RDF> </x:xmpmeta> % padding with 512 space characters to allow easier editing within a PDF -\padding@line -\padding@line -\padding@line -\padding@line +\paddingline +\paddingline +\paddingline +\paddingline %% %% End of pdfx.xmp %% diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 675bd8d3874..6dea8e71ef4 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -796,6 +796,7 @@ chomp ($Build = `cd $Master/../Build/source && pwd`); 'pdfjam', "&MAKEflatten", 'pdfmarginpar',"&MAKEflatten", 'pdfrack', "die 'skipping, until someone asks for it'", + 'pdfx', "&MAKEflatten", 'pedigree', "die 'skipping, use pedigree-perl'", 'persian-bib', "&MAKEflatten", 'persian-hm-ftx',"die 'skipping, legality?'", #"&MAKEflatten", @@ -1631,7 +1632,7 @@ $standardtex='\.(.bx|code\.tex|cfg|sty|clo|ldf|cls|def|fd|fontspec|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$|glyph.*tex|pdfx\.sty', + 'pdfx', '\.xmp$|\.icc$|\.def$|glyph.*tex|pdfx\.sty', 'petri-nets', 'pnets\.tex|pntext\.tex|\.sty|pndraw\.tex|pnversion\.tex|\.sty|pndraw\.tex', 'pgfmolbio', 'pgfmolbio\..*\.|' . $standardtex, # .lua+.tex submodules 'pgf-blur', 'tikzlibraryshadows.blur.code.tex', |