Re: Fixing pdfx in TeX Live (maybe upgrade to 2025?)
- In reply to: Michael Gmelin : "Re: Fixing pdfx in TeX Live (maybe upgrade to 2025?)"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 01 Apr 2025 12:00:57 UTC
> On Apr 1, 2025, at 13:50, Michael Gmelin <grembo@freebsd.org> wrote: > > > > On Tue, 1 Apr 2025 12:15:18 +0200 > Michael Gmelin <grembo@freebsd.org> wrote: > >> Hi, >> >> Currently pdfx is broken in TeX Live due to changes in latex. There >> is a new version of pdfx out there that fixes the problem which I >> assume is included in TeX Live 2025 - any chances to upgrade? >> Otherwise we could also patch the existing version. >> >> Until then, adding this to files acts as a workaround: >> >> \RequirePackage[2024-05-01]{latexrelease} >> >> But this breaks other things, so it's not a real solution. >> >> Thanks & Best >> Michael >> >> p.s. this is the error in question: >> >> ! LaTeX Error: Loading a class or package in a group. >> >> p.p.s. for now I'm using the hack below, which could be the bare >> minimum to include - I could open PR or patch myself. >> >> --- share/texmf-dist/tex/latex/pdfx/pdfx.sty.orig 2025-04-01 >> 10:13:02.158341000 +0000 +++ share/texmf-dist/tex/latex/pdfx/pdfx.sty >> 2025-04-01 10:12:48.131257000 +0000 @@ -2740,10 +2740,10 @@ >> %% it should be loaded outside the grouping, else biblatex may >> barf %% >> \RequirePackage{ifthen} >> +\RequirePackage{xmpincl} >> \begingroup >> %% override the \ifpdf check of xmpincl package, inside the >> grouping \pdftrue >> - \RequirePackage{xmpincl} >> %% combine coding from xmpincl and hyperxml to support XeTeX >> \def\pdfx@xmpincl@xetex#1{% >> \IfFileExists{#1.xmp}{% >> >> > > The patch above was too naive, please see below for a working patch we > use in production now: > > --- /usr/local/share/texmf-dist/tex/latex/pdfx/pdfx.sty.orig 2025-04-01 10:13:02.158341000 +0000 > +++ /usr/local/share/texmf-dist/tex/latex/pdfx/pdfx.sty 2025-04-01 10:12:48.131257000 +0000 > @@ -2740,10 +2740,25 @@ > %% it should be loaded outside the grouping, else biblatex may barf > %% > \RequirePackage{ifthen} > -\begingroup > + > +%% 2024-04-05: from July 2024 LaTeX will not allow packages to load > +%% within a grouping, so reorganise a bit. > +%% > %% override the \ifpdf check of xmpincl package, inside the grouping > - \pdftrue > - \RequirePackage{xmpincl} > +%% after saving its current value: > +\let\pdfx@ifpdf\ifpdf > +\pdftrue > +%% now load the packages, then enter the grouping: > +\RequirePackage{xmpincl} > +%% > +\begingroup > +%%% 20240405 revert the value of \ifpdf ... > +\pdfx@ifpdf > +\else > + %% 20240624 ... outside the grouping > + \aftergroup\pdffalse > +\fi > + > %% combine coding from xmpincl and hyperxml to support XeTeX > \def\pdfx@xmpincl@xetex#1{% > \IfFileExists{#1.xmp}{% > > > Please let me know if I should open a PR with that patch or if you will > proceed to upgrading TeX Live soon anyway. > > Best > Michael > > -- > Michael Gmelin > Can you confirm whether if the following solved the problem: https://cgit.freebsd.org/ports/commit/?id=993771b186bca2a5de9fa00f7f6788763306417c Kind regards, Moin