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.