texlive[54652] Master/texmf-dist: hyperxmp (11apr20)

commits+karl at tug.org commits+karl at tug.org
Sun Apr 12 00:20:53 CEST 2020


Revision: 54652
          http://tug.org/svn/texlive?view=revision&revision=54652
Author:   karl
Date:     2020-04-12 00:20:53 +0200 (Sun, 12 Apr 2020)
Log Message:
-----------
hyperxmp (11apr20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/hyperxmp/hyperxmp.pdf
    trunk/Master/texmf-dist/source/latex/hyperxmp/hyperxmp.dtx
    trunk/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/source/latex/hyperxmp/hyperxmp-stds.tex

Modified: trunk/Master/texmf-dist/doc/latex/hyperxmp/hyperxmp.pdf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/source/latex/hyperxmp/hyperxmp-stds.tex
===================================================================
--- trunk/Master/texmf-dist/source/latex/hyperxmp/hyperxmp-stds.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/hyperxmp/hyperxmp-stds.tex	2020-04-11 22:20:53 UTC (rev 54652)
@@ -0,0 +1,96 @@
+%%
+%% This is file `hyperxmp-stds.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperxmp.dtx  (with options: `doc-helper')
+%% 
+%% This is a generated file.
+%% 
+%% Copyright (C) 2011-2020 by Scott Pakin <scott+hyxmp at pakin.org>
+%% 
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.3c of this license
+%% or (at your option) any later version.  The latest version of this
+%% license is in:
+%% 
+%%    http://www.latex-project.org/lppl.txt
+%% 
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%% 
+\let\next=\endinput
+\IfFileExists{FOGRA29L_uncoated.icc}
+             {\let\next=\relax}
+             {}
+\next
+\let\next=\endinput
+\ifPDFTeX
+  \let\next=\relax
+\else
+  \ifLuaTeX
+    \usepackage{luatex85}
+    \let\next=\relax
+  \fi
+\fi
+\next
+\def\wantpdfstandards{}
+\typeout{Generating PDF/A-1b compliant hyperxmp documentation.}
+\AtBeginDocument{%
+  \hypersetup{%
+    pdfapart=1,
+    pdfaconformance=b
+  }%
+}
+\pdfobjcompresslevel=0
+\immediate\pdfobj stream attr {/N 4} file {FOGRA29L_uncoated.icc}
+\edef\iccobj{\the\pdflastobj}
+\pdfcatalog{%
+  /OutputIntents [
+    <<
+      /Type /OutputIntent
+      /S /GTS_PDFA1
+      /DestOutputProfile \iccobj\space 0 R
+      /OutputConditionIdentifier (Uncoated FOGRA29)
+      /Info (FOGRA29L)
+    >>
+    <<
+      /Type /OutputIntent
+      /S /GTS_PDFX
+      /DestOutputProfile \iccobj\space 0 R
+      /OutputConditionIdentifier (Uncoated FOGRA29)
+      /Info (FOGRA29L)
+    >>
+  ]
+}
+\makeatletter
+\AtBeginDocument{%
+  \let\HyColor at HyperrefBorderColor\HyColor at XZeroOneThreeFour
+}
+\makeatother
+\AtBeginDocument{%
+  \hypersetup{%
+    citebordercolor=green,
+    linkbordercolor=red,
+    urlbordercolor=cyan
+  }%
+}
+\makeatletter
+\@tempdima=0.996264\paperwidth
+\edef\boxwd{\strip at pt\@tempdima}
+\@tempdima=0.996264\paperheight
+\edef\boxht{\strip at pt\@tempdima}
+\makeatother
+\edef\next{%
+  \protect\pdfpageattr{
+    /BleedBox [0.0 0.0 \boxwd\space \boxht]
+    /TrimBox [0.0 0.0 \boxwd\space \boxht]
+    /StructParents 0
+    /Tabs /S
+  }%
+}
+\next
+\endinput
+%%
+%% End of file `hyperxmp-stds.tex'.


Property changes on: trunk/Master/texmf-dist/source/latex/hyperxmp/hyperxmp-stds.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/source/latex/hyperxmp/hyperxmp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/hyperxmp/hyperxmp.dtx	2020-04-11 22:20:38 UTC (rev 54651)
+++ trunk/Master/texmf-dist/source/latex/hyperxmp/hyperxmp.dtx	2020-04-11 22:20:53 UTC (rev 54652)
@@ -22,7 +22,7 @@
 %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
 %<package>\ProvidesPackage{hyperxmp}
 %<*package>
-    [2020/03/20 v5.0 Store hyperref metadata in XMP format]
+    [2020/04/08 v5.1 Store hyperref metadata in XMP format]
 %</package>
 %
 %<*driver>
@@ -111,7 +111,7 @@
 %</driver>
 % \fi
 %
-% \CheckSum{2342}
+% \CheckSum{2354}
 %
 % \CharacterTable
 %  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -1612,9 +1612,10 @@
 % \end{macro}
 %
 % \begin{macro}{\@pdfapart}
-% Prepare to store the \acro{PDF/A} part ID, which defaults to~``1''.
+% Prepare to store the \acro{PDF/A} part ID, which defaults to~``1''
+% if \optname{pdfa} is passed to \pkgname{hyperref}.
 %    \begin{macrocode}
-\def\@pdfapart{1}
+\def\@pdfapart{}
 \define at key{Hyp}{pdfapart}{%
   \afterassignment\hyxmp at no@bad at parts\@tempcnta=0#1\relax
   \hyxmp at pdfstringdef\@pdfapart{\the\@tempcnta}%
@@ -1623,9 +1624,11 @@
 % \end{macro}
 %
 % \begin{macro}{\@pdfaconformance}
-% Prepare to store the \acro{PDF/A} conformance ID, which defaults to~``B''.
+% Prepare to store the \acro{PDF/A} conformance ID, which defaults to~``b''
+% if \optname{pdfa} is passed to \pkgname{hyperref} and |\@pdfapart| is
+% empty.
 %    \begin{macrocode}
-\def\@pdfaconformance{B}
+\def\@pdfaconformance{}
 \define at key{Hyp}{pdfaconformance}{%
   \uppercase{\hyxmp at pdfstringdef\@pdfaconformance{#1}}%
 }
@@ -2328,12 +2331,28 @@
 %    \begin{macrocode}
 \newcommand*{\hyxmp at check@standards}{%
 %    \end{macrocode}
+% If the \optname{pdfa} option was passed to \pkgname{hyperref} but
+% |\@pdfapart| is not set, set it to~|1| and |\@pdfaconformance| to~|B|.
+%    \begin{macrocode}
+  \ifHy at pdfa
+    \@ifmtargexp{\@pdfapart}{%
+      \PackageWarningNoLine{hyperxmp}{%
+        `pdfa' was passed to hyperref, but `pdfapart' was\MessageBreak
+        not specified.\space\space  Setting pdfapart to `1' and\MessageBreak
+        pdfaconformance to `B'%
+      }%
+      \gdef\@pdfapart{1}%
+      \gdef\@pdfaconformance{B}%
+    }%
+  \fi
+%    \end{macrocode}
+%
 % \begin{macro}{\hyxmp at standards}
 % We define |\hyxmp at standards| to be non-empty if \emph{any} \acro{PDF}
 % standard is claimed (currently, \acro{PDF/A}, \acro{PDF/X}, or
 % \acro{PDF/UA}.
 %    \begin{macrocode}
-  \def\hyxmp at standards{%
+  \edef\hyxmp at standards{%
     \@pdfapart
     \@pdfxstandard
     \@pdfuapart
@@ -2343,7 +2362,7 @@
 %    \begin{macrocode}
   \@ifnotmtargexp{\hyxmp at standards}{%
     \@ifmtargexp{\@pdftitle}{%
-      \PackageWarning{hyperxmp}{%
+      \PackageWarningNoLine{hyperxmp}{%
         Missing pdftitle (required for PDF standards\MessageBreak
         compliance)%
       }%
@@ -3001,12 +3020,18 @@
   \edef\hyxmp at today@xmp{\expandafter\hyxmp at pdf@to at xmp@date\pdffeedback creationdate}%
 }
 %    \end{macrocode}
+% \begin{macro}{\hyxmp at timestamp}
 % Case 3: |\filemoddate| is defined (\XeLaTeX).
-% In this case, we treat the timestamp of the job's |.aux| file as the
+% In this case, we treat the timestamp of the job's |.log| file as the
 % current date/time.
+% \changes{v5.1}{2020/04/08}{Don't rely on
+%   \string\cs{jobname}\string\texttt{.aux} existing to query the
+%   current time under \string\XeLaTeX\string\@.  Instead, use
+%   \string\cs{jobname}\string\texttt{.log}.  Thanks to Ulrike Fischer
+%   for the bug report and for her suggestion to use the log file.}
 %    \begin{macrocode}
 \hyxmp at try@today{filemoddate}{%
-  \edef\hyxmp at today@xmp{\filemoddate{\jobname.aux}}%
+  \edef\hyxmp at today@xmp{\filemoddate{\jobname.log}}%
   \edef\next{%
     \edef\noexpand\hyxmp at today@xmp{\noexpand\hyxmp at as@xmp at date{\hyxmp at today@xmp}}%
   }%
@@ -3022,6 +3047,7 @@
 }
 %    \end{macrocode}
 % \end{macro}
+% \end{macro}
 %
 % \begin{macro}{\hyxmp at today@pdf}
 % Define |\hyxmp at today@pdf| as the current date and (if available) time
@@ -4047,17 +4073,21 @@
 % Define |\@pdfproducer| using the banner string if available or the
 % \tex\ engine's version number if not.
 % \changes{v5.0}{2020/03/01}{Added this macro}
+% \changes{v5.1}{2020/04/06}{Check for \string\LuaTeX\ before checking for
+%   \string\pdfTeX\ to work around \string\pkgname{luatex85}'s confusing
+%   \string\pkgname{iftex} by defining \string\cs{pdftexversion}.  Thanks
+%   to Robin Schwab for the bug report}
 %    \begin{macrocode}
 \newcommand*{\hyxmp at define@pdfproducer}{%
   \gdef\@pdfproducer{TeX}
-  \ifPDFTeX
-    \expandafter\hyxmp at banner@to at producer\expandafter{\pdftexbanner}
+  \ifLuaTeX
+    \expandafter\hyxmp at banner@to at producer\expandafter{\luatexbanner}%
   \else
-    \ifLuaTeX
-      \expandafter\hyxmp at banner@to at producer\expandafter{\luatexbanner}
+    \ifPDFTeX
+      \expandafter\hyxmp at banner@to at producer\expandafter{\pdftexbanner}%
     \else
       \ifXeTeX
-        \edef\@pdfproducer{XeTeX version \the\XeTeXversion\XeTeXrevision}
+        \edef\@pdfproducer{XeTeX version \the\XeTeXversion\XeTeXrevision}%
       \fi
     \fi
   \fi
@@ -4082,12 +4112,16 @@
 % removing the initial ``\texttt{This is}'' if possible (specifically,
 % when $\varepsilon$-\TeX's\index{e-TeX=$\varepsilon$-\TeX}
 % |\scantokens| primitive is available).
+% \changes{v5.1}{2020/04/03}{Prevent the category code of ``@'' from
+%   propagating past the \cs{begin}\string\texttt{\{document\}}.
+%   Thanks to Robert Schlicht for noticing this catcode ``leak'' and
+%   providing a correction}
 %    \begin{macrocode}
 \def\hyxmp at banner@to at producer#1{%
   \ifx\scantokens\relax
     \gdef\@pdfproducer{#1}%
   \else
-    \scantokens{\makeatletter\hyxmp at remove@this#1\relax\makeatother}%
+    {\scantokens{\makeatletter\hyxmp at remove@this#1\relax}}%
   \fi
 }
 %    \end{macrocode}
@@ -4535,7 +4569,7 @@
 % properties identify a document as conforming to a particular
 % \acro{PDF/A} standard.  We default to \PDFstd{A}{1}{b}{} if any
 % \acro{PDF/A} compliance is detected but let the author override the
-% ``1'' with \optname{pdfapart} and the ``B'' with
+% ``1'' with \optname{pdfapart} and the ``b'' with
 % \optname{pdfaconformance}.
 % \changes{v2.4}{2013/12/21}{Added this macro}
 % \changes{v2.9}{2016/04/12}{Let the author specify the \protect\acro{PDF/A}

Modified: trunk/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty	2020-04-11 22:20:38 UTC (rev 54651)
+++ trunk/Master/texmf-dist/tex/latex/hyperxmp/hyperxmp.sty	2020-04-11 22:20:53 UTC (rev 54652)
@@ -22,7 +22,7 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[1999/12/01]
 \ProvidesPackage{hyperxmp}
-    [2020/03/20 v5.0 Store hyperref metadata in XMP format]
+    [2020/04/08 v5.1 Store hyperref metadata in XMP format]
 \edef\hyxmp at dq@code{\the\catcode`\"}
 \catcode`\"=12
 \def\hyxmp at driver{hpdftex}
@@ -87,12 +87,12 @@
     \PackageWarning{hyperxmp}{pdfapart and pdfuapart must be numeric}%
   }%
 }
-\def\@pdfapart{1}
+\def\@pdfapart{}
 \define at key{Hyp}{pdfapart}{%
   \afterassignment\hyxmp at no@bad at parts\@tempcnta=0#1\relax
   \hyxmp at pdfstringdef\@pdfapart{\the\@tempcnta}%
 }
-\def\@pdfaconformance{B}
+\def\@pdfaconformance{}
 \define at key{Hyp}{pdfaconformance}{%
   \uppercase{\hyxmp at pdfstringdef\@pdfaconformance{#1}}%
 }
@@ -328,7 +328,18 @@
   \fi
 }
 \newcommand*{\hyxmp at check@standards}{%
-  \def\hyxmp at standards{%
+  \ifHy at pdfa
+    \@ifmtargexp{\@pdfapart}{%
+      \PackageWarningNoLine{hyperxmp}{%
+        `pdfa' was passed to hyperref, but `pdfapart' was\MessageBreak
+        not specified.\space\space  Setting pdfapart to `1' and\MessageBreak
+        pdfaconformance to `B'%
+      }%
+      \gdef\@pdfapart{1}%
+      \gdef\@pdfaconformance{B}%
+    }%
+  \fi
+  \edef\hyxmp at standards{%
     \@pdfapart
     \@pdfxstandard
     \@pdfuapart
@@ -335,7 +346,7 @@
   }%
   \@ifnotmtargexp{\hyxmp at standards}{%
     \@ifmtargexp{\@pdftitle}{%
-      \PackageWarning{hyperxmp}{%
+      \PackageWarningNoLine{hyperxmp}{%
         Missing pdftitle (required for PDF standards\MessageBreak
         compliance)%
       }%
@@ -568,7 +579,7 @@
   \edef\hyxmp at today@xmp{\expandafter\hyxmp at pdf@to at xmp@date\pdffeedback creationdate}%
 }
 \hyxmp at try@today{filemoddate}{%
-  \edef\hyxmp at today@xmp{\filemoddate{\jobname.aux}}%
+  \edef\hyxmp at today@xmp{\filemoddate{\jobname.log}}%
   \edef\next{%
     \edef\noexpand\hyxmp at today@xmp{\noexpand\hyxmp at as@xmp at date{\hyxmp at today@xmp}}%
   }%
@@ -984,14 +995,14 @@
 \newcommand*{\hyxmp at x@default}{x-default}
 \newcommand*{\hyxmp at define@pdfproducer}{%
   \gdef\@pdfproducer{TeX}
-  \ifPDFTeX
-    \expandafter\hyxmp at banner@to at producer\expandafter{\pdftexbanner}
+  \ifLuaTeX
+    \expandafter\hyxmp at banner@to at producer\expandafter{\luatexbanner}%
   \else
-    \ifLuaTeX
-      \expandafter\hyxmp at banner@to at producer\expandafter{\luatexbanner}
+    \ifPDFTeX
+      \expandafter\hyxmp at banner@to at producer\expandafter{\pdftexbanner}%
     \else
       \ifXeTeX
-        \edef\@pdfproducer{XeTeX version \the\XeTeXversion\XeTeXrevision}
+        \edef\@pdfproducer{XeTeX version \the\XeTeXversion\XeTeXrevision}%
       \fi
     \fi
   \fi
@@ -1000,7 +1011,7 @@
   \ifx\scantokens\relax
     \gdef\@pdfproducer{#1}%
   \else
-    \scantokens{\makeatletter\hyxmp at remove@this#1\relax\makeatother}%
+    {\scantokens{\makeatletter\hyxmp at remove@this#1\relax}}%
   \fi
 }
 \def\hyxmp at remove@this This is #1\relax{\gdef\@pdfproducer{#1}}



More information about the tex-live-commits mailing list.