summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/platex-tools/pxeverysel.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/platex-tools/pxeverysel.sty')
-rw-r--r--Master/texmf-dist/tex/latex/platex-tools/pxeverysel.sty26
1 files changed, 24 insertions, 2 deletions
diff --git a/Master/texmf-dist/tex/latex/platex-tools/pxeverysel.sty b/Master/texmf-dist/tex/latex/platex-tools/pxeverysel.sty
index c18b6f3bdf5..447f42876f2 100644
--- a/Master/texmf-dist/tex/latex/platex-tools/pxeverysel.sty
+++ b/Master/texmf-dist/tex/latex/platex-tools/pxeverysel.sty
@@ -12,16 +12,37 @@
%% package declaration
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{pxeverysel}
- [2017/03/02 v0.6 Patch to everysel for (u)pLaTeX]
+ [2018/10/27 v0.8 Patch to everysel for (u)pLaTeX]
%% previous code for ctex support has been removed in v0.5,
%% as ctex has depended on pxeverysel since 2016/12/27 v2.4.7
+%% in case it's too late ...
+\@ifpackageloaded{everysel}{%
+ % everysel.sty removes \@EverySelectfont@Init once it is used
+ \ifx\@EverySelectfont@Init\undefined
+ \PackageError{pxeverysel}{%
+ Patch too late!\MessageBreak
+ Load pxeverysel earlier}\@ehc
+}{}
+
%% preparations
\def\pxys@pkgname{pxeverysel}
\def\pxys@warn{\PackageWarningNoLine\pxys@pkgname}
-%% load it
+%% load it, but ensure that \@EverySelectfont@Init is not executed
+% [Note] everysel.sty contains
+% \AtBeginDocument{\@EverySelectfont@Init}
+% at the end. In most cases, the execution is actually delayed;
+% however,
+% \AtBeginDocument{everysel} (e.g. found in sidecap.sty)
+% can execute it immediately. In this case, delay it until the
+% end of pxeverysel.sty.
+\ifx\AtBeginDocument\@firstofone
+ \def\pxys@begindocumenthook{\let\AtBeginDocument\@firstofone}
+ \def\AtBeginDocument{\g@addto@macro\pxys@begindocumenthook}
+ \AtEndOfPackage{\pxys@begindocumenthook}
+\fi
\RequirePackage{everysel}
%% support for (u)pLaTeX font tracing
@@ -141,5 +162,6 @@
\expandafter\let\csname selectfont \endcsname\pxys@selectfont}
%--------------------------------------- done
+
\endinput
%% EOF