% \iffalse meta-comment
%% File: plvers.dtx
%
%  Copyright 1995-2006 ASCII Corporation.
%  Copyright (c) 2010 ASCII MEDIA WORKS
%  Copyright (c) 2016-2023 Japanese TeX Development Community
%
%  This file is part of the pLaTeX2e system (community edition).
%  -------------------------------------------------------------
%
% \fi
%
% \iffalse
%<*driver>
\ifx\JAPANESEtrue\undefined
  \expandafter\newif\csname ifJAPANESE\endcsname
  \JAPANESEtrue
\fi
\def\eTeX{$\varepsilon$-\TeX}
\def\pTeX{p\kern-.15em\TeX}
\def\epTeX{$\varepsilon$-\pTeX}
\def\pLaTeX{p\kern-.05em\LaTeX}
\def\pLaTeXe{p\kern-.05em\LaTeXe}
%</driver>
% \fi
%
% \setcounter{StandardModuleDepth}{1}
% \StopEventually{}
%
% \iffalse
% \changes{v1.0}{1995/05/16}{p\LaTeXe\ $BMQ$K(B\file{ltvers.dtx}$B$r=$@5(B}
% \changes{v1.0a}{1995/08/30}{\LaTeX\ \texttt{!<1995/06/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0b}{1996/01/31}{\LaTeX\ \texttt{!<1995/12/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0c}{1997/01/11}{\LaTeX\ \texttt{!<1996/06/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0d}{1997/01/23}{\LaTeX\ \texttt{!<1996/12/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0e}{1997/07/02}{\LaTeX\ \texttt{!<1997/06/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0f}{1998/02/17}{\LaTeX\ \texttt{!<1997/12/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0g}{1998/09/01}{\LaTeX\ \texttt{!<1998/06/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0h}{1999/04/05}{\LaTeX\ \texttt{!<1998/12/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0i}{1999/08/09}{\LaTeX\ \texttt{!<1999/06/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0j}{2000/02/29}{\LaTeX\ \texttt{!<1999/12/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0k}{2000/11/03}{\LaTeX\ \texttt{!<2000/06/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0l}{2001/09/04}{\LaTeX\ \texttt{!<2001/06/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0m}{2004/08/10}{\LaTeX\ \texttt{!<2003/12/01!>}$BHGBP1~3NG'(B}
% \changes{v1.0n}{2005/01/04}{plfonts.dtx$B%P%0=$@5(B}
% \changes{v1.0o}{2006/01/04}{plfonts.dtx$B%P%0=$@5(B}
% \changes{v1.0p}{2006/06/27}{plfonts.dtx \LaTeX\ \texttt{!<2005/12/01!>}$BBP1~(B}
% \changes{v1.0q}{2006/11/10}{plfonts.dtx$B%P%0=$@5(B}
% \changes{v1.0r}{2016/01/26}{plcore.dtx p\TeX\ (r28720)$BBP1~(B}
% \changes{v1.0s}{2016/02/01}{\LaTeX\ \texttt{!<2015/01/01!>}$B$N(Blatexrelease$B$K(B
%    $BBP1~$9$k$?$a$N%3!<%I$rF3F~(B}
% \changes{v1.0t}{2016/02/03}{\cs{plIncludeInRelease}$B$H(B
%    \cs{plEndIncludeInRelease}$B$r?7@_!#(B}
% \changes{v1.0u}{2016/04/17}{\LaTeX\ \texttt{!<2016/03/31!>}$BHGBP1~3NG'(B}
% \changes{v1.0v}{2016/05/07}{$B%Q%C%A%U%!%$%k$r%m!<%I$9$k$N$r$d$a$?!#(B}
% \changes{v1.0v}{2016/05/07}{$B5/F0;~$NJ8;zNs$r:G?7$N(B\LaTeX{}$B$K9g$o$;$?!#(B}
% \changes{v1.0w}{2016/05/12}{$B5/F0;~$NJ8;zNs$KF~$l$k(B\LaTeX{}$B$N%P!<%8%g%s$r(B
%    $B85$N(B\LaTeX{}$B$N%P%J!<$+$i0z$-7Q$0$h$&$K2~NI(B}
% \changes{v1.0w}{2016/05/12}{$B5/F0;~$NJ8;zNs$KF~$l$k(BBabel$B$N%P!<%8%g%s$r(B
%    $B85$N(B\LaTeX{}$B$N%P%J!<$+$i<hF@$9$k%3!<%I$r(B\file{platex.ini}$B$+$i<h$jF~$l$?(B}
% \changes{v1.0x}{2016/06/19}{$B%Q%C%A%l%Y%k$r(B\file{plvers.dtx}$B$G@_Dj(B}
% \changes{v1.0y}{2016/06/27}{\file{platex.cfg}$B$NFI$_9~$_$rDI2C(B}
% \changes{v1.0z}{2016/08/26}{\file{platex.cfg}$B$NFI$_9~$_$r(B
%    \file{plcore.ltx}$B$+$i(B\file{platex.ltx}$B$X0\F0(B}
% \changes{v1.1}{2016/09/14}{$B5/F0;~$N%P%J!<$r<hF@$9$k%3!<%I$r2~NI(B}
% \changes{v1.1a}{2017/02/20}{\LaTeX\ \texttt{!<2017/01/01!>}$BHGBP1~3NG'(B}
% \changes{v1.1b}{2017/03/19}{\cs{l@nohyphenation}$B$NDj5A$rJ]>Z(B
%    (sync with ltfinal.dtx 2017/03/09 v2.0t)}
% \changes{v1.1b}{2017/03/19}{\cs{document@default@language}$B$NDj5A$rJ]>Z(B
%    (sync with ltfinal.dtx 2017/03/09 v2.0t)}
% \changes{v1.1c}{2017/04/23}{\LaTeX\ \texttt{!<2017-04-15!>}$BHGBP1~3NG'(B}
% \changes{v1.1d}{2017/09/24}{$B%Q%C%A%l%Y%k$,Ii$N?t$N>l9g$r(Bpre-release$B07$$$X(B}
% \changes{v1.1e}{2017/11/09}{\file{latexrelease}$B$H(B
%    \cs{platexrelease}$B$N%(%_%e%l!<%HFbIt=hM}$rJ,N%(B}
% \changes{v1.1f}{2017/11/11}{\LaTeX{}$B$N%P%J!<$rJ]B8$9$k%3!<%I$r(B
%    \file{platex.ltx}$B$+$i(B\file{plcore.ltx}$B$X0\F0(B}
% \changes{v1.1g}{2017/12/04}{\pLaTeX{}$B$N%P%J!<$NDj5A;~$K(B
%    \cs{pfmtname}, \cs{pfmtversion}, \cs{ppatch@level}$B$rE83+$7$J$$$h$&$K(B}
% \changes{v1.1h}{2018/01/10}{Modify \cs{plIncludeInRelease} code
%    to check matching \cs{plEndIncluderelease}
%    (sync with ltvers.dtx 2018/01/08 v1.1a)}
% \changes{v1.1i}{2018/03/31}{\LaTeXe\ 2017-04-15$B0J9_I,?\(B}
% \changes{v1.1j}{2018/04/07}{\LaTeX\ \texttt{!<2018-04-01!>}$BHGBP1~3NG'(B}
% \changes{v1.1k}{2018/04/08}{$B%P%J!<D4@a$N%3!<%I$r:G8e(B(plfinal)$B$G$O$J$/(B
%    $B:G=i(B(plcore)$B$KAa$a$?(B}
% \changes{v1.1l}{2018/04/09}{$B%P%J!<$NJ]B8$7$+$?$r2~NI(B}
% \changes{v1.1l}{2018/04/09}{$B%P%J!<$N:F9=C[$N$7$+$?$r2~NI(B}
% \changes{v1.1m}{2018/09/24}{$B%P%J!<$N:F9=C[$r4JN,2=(B}
% \changes{v1.1n}{2018/10/31}{\LaTeXe{}$B$H(Bp\LaTeXe{}$B$N99?7%?%$%_%s%0$:$lBP:v$r(B
%    \file{plvers.dtx} (plfinal) $B$+$i(B\file{plcore.dtx}$B$X0\F0(B}
% \changes{v1.1o}{2018/12/01}{\LaTeX\ \texttt{!<2018-12-01!>}$BHGBP1~3NG'(B}
% \changes{v1.1p}{2019/09/16}{$B%(%i!<%a%C%;!<%8$r99?7(B
%    (sync with ltvers.dtx 2019/07/01 v1.1c)}
% \changes{v1.1q}{2019/10/01}{\LaTeX\ \texttt{!<2019-10-01!>}$BHGBP1~3NG'(B}
% \changes{v1.1r}{2020/02/01}{\LaTeX\ \texttt{!<2020-02-02!>}$BHGBP1~3NG'(B}
% \changes{v1.1s}{2020/03/14}{\LaTeX\ \texttt{!<2020-02-02!> PL5}$BHGBP1~3NG'(B}
% \changes{v1.1t}{2020/03/25}{$B%P%J!<$N:F9=C[$r8zN(2=(B}
% \changes{v1.1u}{2020/03/28}{latexrelease$BMxMQ;~$N7Y9p$rAa$a$?(B}
% \changes{v1.1v}{2020/09/28}{$B?7$7$$%U%C%/$r3hMQ(B}
% \changes{v1.1w}{2020/09/30}{\LaTeX\ \texttt{!<2020-10-01!>}$BHGBP1~3NG'(B}
% \changes{v1.1x}{2020/10/07}{$B%U%C%/%7%9%F%`$,MxMQ2DG=$+$I$&$+H=Dj(B}
% \changes{v1.1y}{2021/06/27}{\LaTeX\ \texttt{!<2021-06-01!>}$BHG$[$\BP1~(B}
% \changes{v1.1z}{2021/12/08}{\LaTeX\ \texttt{!<2021-11-15!>}$BHG$[$\BP1~(B}
% \changes{v1.2a}{2022-12-05}{\LaTeX\ \texttt{!<2023-06-01!>}$BHG$K$*$1$k(B
%    $B%P%J!<$N=PNOJ}K!$KDI=>(B}
% \fi
%
% \iffalse
%<*driver>
% \fi
\ProvidesFile{plvers.dtx}[2022-12-05 v1.2a pLaTeX Kernel (Version Info)]
% \iffalse
\RequirePackage{plautopatch}
\documentclass[dvipdfmx,a4paper]{jltxdoc}
\GetFileInfo{plvers.dtx}
\author{Ken Nakano \& Hideaki Togashi}
\title{\filename}
\date{$B:n@.F|!'(B\filedate}
\begin{document}
  \maketitle
  \DocInput{\filename}
\end{document}
%</driver>
% \fi
%
% \section{p\LaTeXe{}$B$N%P!<%8%g%s$N@_Dj(B}
%
% $B8=:_$N(Bp\LaTeXe{}$B$,%Y!<%9$H$7$?(B\LaTeXe{}$B$N%P!<%8%g%s$O!"2<5-$N$H$*$j$G$9!#(B
% \changes{v1.0}{1995/05/16}{p\LaTeXe\ $BMQ$K(B\file{ltvers.dtx}$B$r=$@5(B}
% \changes{v1.0a}{1995/08/30}{\LaTeX\ \texttt{!<1995/06/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0b}{1996/01/31}{\LaTeX\ \texttt{!<1995/12/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0c}{1997/01/11}{\LaTeX\ \texttt{!<1996/06/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0d}{1997/01/23}{\LaTeX\ \texttt{!<1996/12/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0e}{1997/07/02}{\LaTeX\ \texttt{!<1997/06/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0f}{1998/02/17}{\LaTeX\ \texttt{!<1997/12/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0g}{1998/09/01}{\LaTeX\ \texttt{!<1998/06/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0h}{1999/04/05}{\LaTeX\ \texttt{!<1998/12/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0i}{1999/08/09}{\LaTeX\ \texttt{!<1999/06/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0j}{2000/02/29}{\LaTeX\ \texttt{!<1999/12/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0k}{2000/11/03}{\LaTeX\ \texttt{!<2000/06/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0l}{2001/09/04}{\LaTeX\ \texttt{!<2001/06/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0m}{2004/08/10}{\LaTeX\ \texttt{!<2003/12/01!>}$BHGBP1~3NG'(B}
% \changes{v1.0s}{2016/02/01}{\LaTeX\ \texttt{!<2015/01/01!>}$BHGMQ$K=$@5(B}
% \changes{v1.0u}{2016/04/17}{\LaTeX\ \texttt{!<2016/03/31!>}$BHGBP1~3NG'(B}
% \changes{v1.1a}{2017/02/20}{\LaTeX\ \texttt{!<2017/01/01!>}$BHGBP1~3NG'(B}
% \changes{v1.1c}{2017/04/23}{\LaTeX\ \texttt{!<2017-04-15!>}$BHGBP1~3NG'(B}
% \changes{v1.1j}{2018/04/07}{\LaTeX\ \texttt{!<2018-04-01!>}$BHGBP1~3NG'(B}
% \changes{v1.1o}{2018/12/01}{\LaTeX\ \texttt{!<2018-12-01!>}$BHGBP1~3NG'(B}
% \changes{v1.1q}{2019/10/01}{\LaTeX\ \texttt{!<2019-10-01!>}$BHGBP1~3NG'(B}
% \changes{v1.1r}{2020/02/01}{\LaTeX\ \texttt{!<2020-02-02!>}$BHGBP1~3NG'(B}
% \changes{v1.1s}{2020/03/14}{\LaTeX\ \texttt{!<2020-02-02!> PL5}$BHGBP1~3NG'(B}
% \changes{v1.1w}{2020/09/30}{\LaTeX\ \texttt{!<2020-10-01!>}$BHGBP1~3NG'(B}
% \changes{v1.1y}{2021/06/27}{\LaTeX\ \texttt{!<2021-06-01!>}$BHG$[$\BP1~(B}
% \changes{v1.1z}{2021/12/08}{\LaTeX\ \texttt{!<2021-11-15!>}$BHG$[$\BP1~(B}
%    \begin{macrocode}
%<*2ekernel>
%\def\fmtname{LaTeX2e}
%\edef\fmtversion
%</2ekernel>
%<latexrelease>\edef\latexreleaseversion
%<platexrelease>\edef\p@known@latexreleaseversion
%<*2ekernel|latexrelease|platexrelease>
   {2021-11-15}
%</2ekernel|latexrelease|platexrelease>
%    \end{macrocode}
%
% $B$^$?!"8=:_$N(Bp\LaTeXe{}$B$O:GDc$G$b(B\LaTeXe\ 2017-04-15$B0J9_(B
% $B!J%P!<%8%g%sHV9f$9$J$o$AF|IU$,(B|YYYY/MM/DD|$B7A<0$+$i(B
% |YYYY-MM-DD|$B7A<0$KJQ99$5$l$?HG!K$rA0Ds$H$7$^$9!#(B
% $B$J$*!"(B\LaTeXe\ 2017/01/01$B0J9_$O(Be-\TeX{}$BI,?\$K$J$C$F$$$^$9!#(B
% \changes{v1.1i}{2018/03/31}{\LaTeXe\ 2017-04-15$B0J9_I,?\(B}
%    \begin{macrocode}
%<*plcore>
\ifx\fmtversion\@undefined
    \errhelp{Please reinstall LaTeX.}%
    \errmessage{This cannot happen!^^JYour file `latex.ltx'
                might be broken}\@@end
\else
  \ifnum\expandafter\@parse@version\fmtversion//00\@nil<20170415
    \errhelp{Please update your TeX installation; if not available,
             obtain it^^Jmanually from CTAN
             (https://ctan.org/pkg/latex-base) or from^^JGitHub
             (https://github.com/latex3/latex2e).}%
    \errmessage{This version of pLaTeX2e requires LaTeX2e 2017-04-15
                or newer!^^JObtain a newer version of `latex',
                otherwise pLaTeX2e setup will^^Jnever succeed}\@@end
  \fi
\fi
%</plcore>
%    \end{macrocode}
%
% \begin{macro}{\pfmtname}
% \begin{macro}{\pfmtversion}
% \begin{macro}{\ppatch@level}
% p\LaTeXe{}$B$N%U%)!<%^%C%H%U%!%$%kL>$H%P!<%8%g%s$rDj5A$7$^$9!#(B
% \changes{v1.0x}{2016/06/19}{$B%Q%C%A%l%Y%k$r(B\file{plvers.dtx}$B$G@_Dj(B}
%    \begin{macrocode}
%<*plcore>
\def\pfmtname{pLaTeX2e}
\def\pfmtversion
%</plcore>
%<platexrelease>\edef\platexreleaseversion
%<*plcore|platexrelease>
   {2023-02-14}
%</plcore|platexrelease>
%<*plcore>
\def\ppatch@level{1}
%</plcore>
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% $B%3%_%e%K%F%#HG(B\pLaTeXe{}$B$G$O%Q%C%A%U%!%$%k$r;HMQ$7$J$$$N$G!"(B
% $B%Q%C%A%U%!%$%k$r%m!<%I$9$k%3!<%I$O:o=|$7$^$7$?!#(B
% \changes{v1.0v}{2016/05/07}{$B%Q%C%A%U%!%$%k$r%m!<%I$9$k$N$r$d$a$?!#(B}
%
% \iffalse
% $B<!$NItJ,$O!"(Bp\LaTeXe{}$B$N%Q%C%A%U%!%$%k$r%m!<%I$9$k$?$a$N%3!<%I$G$9!#(B
% $B%P%0$r=$@5$9$k$?$a$N%Q%C%A$rG[I[$9$k$+$b$7$l$^$;$s!#(B
%    \begin{macrocode}
%<*plfinal>
%\IfFileExists{plpatch.ltx}
%  {\typeout{***********************************^^J%
%            * Applying patch file plpatch.ltx *^^J%
%            ***********************************}
%  \def\pfmtversion@topatch{unknown}
%  \input{plpatch.ltx}
%  \ifx\pfmtversion\pfmtversion@topatch
%    \ifx\ppatch@level\@undefined
%      \typeout{^^J^^J^^J%
%   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J%
%   !! Patch file `plpatch.ltx' (for version <\pfmtversion@topatch>)^^J%
%   !! is not suitable for version <\pfmtversion> of pLaTeX.^^J^^J%
%   !! Please check if iniptex found an old patch file:^^J%
%   !! --- if so, rename it or delete it, and redo the^^J%
%   !!     iniptex run.^^J%
%   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J}%
%      \batchmode \@@end
%    \fi
%  \else
%      \typeout{^^J^^J^^J%
%   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J%
%   !! Patch file `plpatch.ltx' (for version <\pfmtversion@topatch>)^^J%
%   !! is not suitable for version <\pfmtversion> of pLaTeX.^^J%
%   !!^^J%
%   !! Please check if iniptex found an old patch file:^^J%
%   !! --- if so, rename it or delete it, and redo the^^J%
%   !!     iniptex run.^^J%
%   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!^^J}%
%      \batchmode \@@end
%  \fi
%  \let\pfmtversion@topatch\relax
%  }{}
%</plfinal>
%    \end{macrocode}
% \fi
%
% \section{$B5/F0;~$K<B9T$9$k%3!<%I(B}
%
% \subsection{\LaTeXe{}$B5/F0;~$N<B9T%3!<%I$N<hF@(B}
% $B$3$N%U%!%$%k$ND>A0$G(B\LaTeXe{}$B$N(B\file{latex.ltx}$B$,FI$_9~$^$l$F$$$k$O$:(B
% $B$J$N$G!"$=$N5/F0;~$N<B9T%3!<%I!J(B|\everyjob|$B%H!<%/%s$NFbMF!K$rJ]B8$7$^$9!#(B
%
% \LaTeXe\ 2018-04-01 patch level~1$B$^$G$O!"(B|\everyjob|$B$,(B
%\begin{verbatim}
%   \typeout{LaTeX2e version}\typeout{Babel version}
%\end{verbatim}
% $B$@$1$G$7$?$,!"(Bpatch level~2$B0J9_$G$O(B
% $B$$$/$D$+$N%3!<%I$,(B|\everyjob|$B$GCY1d<B9T$5$l$k$h$&$K$J$C$F$$$^$9!#(B
% $B$=$l$i$N%3!<%I$rCj=P$9$k$?$a!":G=i$H:G8e$K6h@Z$j%H!<%/%s(B
% $B!J$=$l$>$l(B|\platexNILa|$B$H(B|\platexNILb|$B!K$rIU$1$F$*$-$^$9!#(B
%
% $B$J$*!"(B\LaTeXe\ 2023-06-01$B0J9_$G$O$3$N%3!<%I$O;HMQ$5$l$^$;$s!#(B
% \changes{v1.1f}{2017/11/11}{\LaTeX{}$B$N%P%J!<$rJ]B8$9$k%3!<%I$r(B
%    \file{platex.ltx}$B$+$i(B\file{plcore.ltx}$B$X0\F0(B}
% \changes{v1.1l}{2018/04/09}{$B%P%J!<$NJ]B8$7$+$?$r2~NI(B}
%    \begin{macrocode}
%<*plcore>
\edef\platexBANNER{\noexpand\platexNILa
                   \the\everyjob % LaTeX banner and delayed codes
                   \noexpand\platexNILb}
%    \end{macrocode}
%
% \subsection{\pLaTeXe{}$B5/F0;~$K<B9T$9$k%3!<%I$N9=C[(B}
%
% \begin{macro}{\everyjob}
% \LaTeXe{}$B5/F0;~$N<B9T%3!<%I$r85$K!"(B\pLaTeXe{}$BMQ$ND4@0$r2C$($^$9!#(B
% \changes{v1.0v}{2016/05/07}{$B5/F0;~$NJ8;zNs$r:G?7$N(B\LaTeX{}$B$K9g$o$;$?!#(B}
% \changes{v1.0w}{2016/05/12}{$B5/F0;~$NJ8;zNs$KF~$l$k(B\LaTeX{}$B$N%P!<%8%g%s$r(B
%    $B85$N(B\LaTeX{}$B$N%P%J!<$+$i0z$-7Q$0$h$&$K2~NI(B}
% \changes{v1.0w}{2016/05/12}{$B5/F0;~$NJ8;zNs$KF~$l$k(BBabel$B$N%P!<%8%g%s$r(B
%    $B85$N(B\LaTeX{}$B$N%P%J!<$+$i<hF@$9$k%3!<%I$r(B\file{platex.ini}$B$+$i<h$jF~$l$?(B}
% \changes{v1.1}{2016/09/14}{$B5/F0;~$N%P%J!<$r<hF@$9$k%3!<%I$r2~NI(B}
% \changes{v1.1d}{2017/09/24}{$B%Q%C%A%l%Y%k$,Ii$N?t$N>l9g$r(Bpre-release$B07$$$X(B}
% \changes{v1.1g}{2017/12/04}{\pLaTeX{}$B$N%P%J!<$NDj5A;~$K(B
%    \cs{pfmtname}, \cs{pfmtversion}, \cs{ppatch@level}$B$rE83+$7$J$$$h$&$K(B}
% \changes{v1.1k}{2018/04/08}{$B%P%J!<D4@a$N%3!<%I$r:G8e(B(plfinal)$B$G$O$J$/(B
%    $B:G=i(B(plcore)$B$KAa$a$?(B}
% \changes{v1.1l}{2018/04/09}{$B%P%J!<$N:F9=C[$N$7$+$?$r2~NI(B}
% \changes{v1.1m}{2018/09/24}{$B%P%J!<$N:F9=C[$r4JN,2=(B}
% \changes{v1.1t}{2020/03/25}{$B%P%J!<$N:F9=C[$r8zN(2=(B}
% \changes{v1.2a}{2022-12-05}{$B%P%J!<$N:F9=C[$NJ}K!$r(B2023-06-01$BHG$KDI=>(B}
%    \begin{macrocode}
\begingroup
%    \end{macrocode}
%
% \pLaTeXe{}$B$N%P!<%8%g%sI=<($r:n$j$^$9!#(B
% \changes{v1.2a}{2022-12-05}{\cs{space}$B$r$3$NCJ3,$GF~$l$k$N$O;_$a$?(B}
%    \begin{macrocode}
  \ifnum\ppatch@level=0
    \toks2={\pfmtname\space<\pfmtversion>}%
  \else\ifnum\ppatch@level>0
    \toks2={\pfmtname\space<\pfmtversion>+\ppatch@level}%
  \else
    \toks2={\pfmtname\space<\pfmtversion>-pre\ppatch@level}%
  \fi\fi
%    \end{macrocode}
%
% \subsubsection{\LaTeXe\ 2023-06-01$B0J9_$N=hM}(B}
% \LaTeXe\ 2023-06-01$B0J9_$G$O!"(B\LaTeXe $B$N%P!<%8%g%s>pJs$O%H!<%/%s%j%9%H(B
% |\LaTeXReleaseInfo|$B$K3JG<$5$l$F$*$j!"(B\pLaTeXe $B$N%P!<%8%g%s>pJs$r$^$H$a$FI=<($9$k$?$a$K$O(B
% $B$3$N%H!<%/%s%j%9%H$rD4@0$9$k$@$1$GNI$/$J$j$^$7$?!#(B
%
% $B0JA0$HF1$8(B
%\begin{verbatim}
%   pLaTeX2e <xxxx-yy-zz> (based on LaTeX2e ...)
%\end{verbatim}
% $B$H$$$&7A<0$N$G$bNI$+$C$?$N$G$9$,!"$=$l$G$O(B|\LaTeXreleaseInfo|$B$NCf?H$r(B
% $B%Q!<%9$9$kI,MW$,=P$F$/$k$?$a(B
%\begin{verbatim}
%   pLaTeX2e <xxxx-yy-zz>, based on
%   LaTeX2e ...
%\end{verbatim}
% $B$H!"C1=c$KA0CV$9$k7A$K$7$F$$$^$9!#(B
%
% $B$J$*!"$3$N%3!<%I$G$O(B|\expanded|$B%W%j%_%F%#%V$r;H$C$F$$$^$9!#(B
% \changes{v1.2a}{2022-12-05}{$B?75,DI2C(B}
%    \begin{macrocode}
  \ifdefined\LaTeXReleaseInfo
    \global\LaTeXReleaseInfo\expandafter{\expanded{%
      \noexpand\show@release@info{\the\toks2, based on}%
      \unexpanded\expandafter{\the\LaTeXReleaseInfo}%
    }}%
%    \end{macrocode}
%
% \subsubsection{\LaTeXe\ 2022-11-15$B0JA0$N=hM}(B}
% |\everyjob|$B$NFbMF$r%Q!<%9$7$F(B
% \begin{itemize}
% \item \LaTeXe{}$B$N%P!<%8%g%sI=<($NCf?H!J(B|\typeout{}|$B$N0z?t!K$r(B |#2|
% \item $B%P!<%8%g%sI=<($NA0$K<B9T$5$l$k%3!<%I$,$"$l$P(B |#1|
% \item $B%P!<%8%g%sI=<($N8e$K;D$C$F$$$k%3!<%I$,$"$l$P(B |#3|
% \end{itemize}
% $B$KF~$l$^$9!#(B2020$BG/;~E@$G$O(B |#1| $B$O6u!"(B|#3| $B$O2$J8(Binputenc$B$N(BUTF-8$B2=$G(B
% $BCY1d$5$l$?%3!<%I$K3:Ev$7$^$9!#(B
% ^^A Babel v3.20$B$^$G$O$3$NCf$K(B|\typeout{Babel version}|$B$b4^$^$l$F(B
% ^^A $B$$$^$7$?$,!"(BBabel v3.21$B$+$i$O$3$N%P%J!<I=<($OL5$/$J$C$?$h$&$G$9!#(B
% $B$=$7$F!"(B\LaTeXe{}$B$N%P!<%8%g%s$H(B\pLaTeXe{}$B$N%P!<%8%g%s$r(B
% $B$^$H$a$FI=<($9$k$h$&$K@07A$7$^$9!#(B
%    \begin{macrocode}
  \else
    \edef\platexNILa#1\typeout#2#3\platexNILb{%
      #1\noexpand\typeout{\the\toks2 \space(based on #2)}#3}
    \global\everyjob\expandafter\expandafter\expandafter{\platexBANNER}%
%    \end{macrocode}
%
% $BITMW$K$J$C$?%^%/%mDj5A$O:o=|$7$F$*$-$^$9!#(B
%    \begin{macrocode}
  \fi
\endgroup
\let\platexBANNER=\@undefined
%</plcore>
%    \end{macrocode}
% \end{macro}
%
% ^^A $B5/F0;~$K(B\file{platex.cfg}$B$,$"$k>l9g!"$=$l$rFI$_9~$`$h$&$K$9$k(B
% ^^A $B%3!<%I$O!"(B\file{plcore.ltx}$B$+$i(B\file{platex.ltx}$B$X0\F0$7$^$7$?!#(B
% \changes{v1.0y}{2016/06/27}{\file{platex.cfg}$B$NFI$_9~$_$rDI2C(B}
% \changes{v1.0z}{2016/08/26}{\file{platex.cfg}$B$NFI$_9~$_$r(B
%    \file{plcore.ltx}$B$+$i(B\file{platex.ltx}$B$X0\F0(B}
%
% ^^A \LaTeXe{}$B$H(Bp\LaTeXe{}$B$N99?7%?%$%_%s%0$:$lBP:v(B
% ^^A $B!J%O%$%U%M!<%7%g%s4XO"%Q%i%a!<%?$NDj5A!K$O!"(B
% ^^A \file{plvers.dtx}$B$+$i(B\file{plcore.dtx}$B$X0\F0$7$^$7$?!#(B
% \changes{v1.1b}{2017/03/19}{\cs{l@nohyphenation}$B$NDj5A$rJ]>Z(B
%    (sync with ltfinal.dtx 2017/03/09 v2.0t)}
% \changes{v1.1b}{2017/03/19}{\cs{document@default@language}$B$NDj5A$rJ]>Z(B
%    (sync with ltfinal.dtx 2017/03/09 v2.0t)}
% \changes{v1.1n}{2018/10/31}{\LaTeXe{}$B$H(Bp\LaTeXe{}$B$N99?7%?%$%_%s%0$:$lBP:v$r(B
%    \file{plvers.dtx} (plfinal) $B$+$i(B\file{plcore.dtx}$B$X0\F0(B}
%
% \subsection{$B%U%C%/%7%9%F%`$,MxMQ2DG=$+$I$&$+(B}
% \begin{macro}{\pltx@newhook@avail}
% $B%U%)!<%^%C%H:n@.;~!J(B\file{latex.ltx}$B$NFI9~8e$9$0!K$H!"(B
% platexrelease$B%Q%C%1!<%8Fb!J(Blatexrelease$B%Q%C%1!<%8FI9~8e$9$0!K$G(B
% $B$=$l$>$lH=Dj$9$kI,MW$,$"$j$^$9!#(B
% ^^A $BK\Ev$O!V(B|\AddToHook| $B$,Dj5A:Q$_$+$I$&$+!W$r;H$$$?$$$,(B
% ^^A \begin{itemize}
% ^^A   \item Format date 2020-02-02 or older: undefined
% ^^A   \item Format date 2020-10-01 or newer: available
% ^^A   \item ... under \texttt{latexrelease} rollback: defined but no-op
% ^^A \end{itemize}
% ^^A $B$H$$$&FC<l$J(Brollback$B$KBP=h$9$k$?$a!"(B|\fmtversion|$B$GH=Dj$9$k!#(B
% ^^A $BC1$J$k(Bif-$B%H!<%/%s$O!VFI$_Ht$P$7!W$N9MN8$,LLE]$J$N$G;H$o$J$$!#(B
% \changes{v1.1x}{2020/10/07}{$B%U%C%/%7%9%F%`$,MxMQ2DG=$+$I$&$+H=Dj(B}
%    \begin{macrocode}
%<*plcore|plhookrelease>
\chardef\pltx@newhook@avail=\z@
\@ifl@t@r\fmtversion{2020/10/01}{\chardef\pltx@newhook@avail=\@ne}{}
%</plcore|plhookrelease>
%    \end{macrocode}
% \end{macro}
%
%
% \section{latexrelease$B%Q%C%1!<%8$X$NBP1~(B}
%
% $B:G8e$K!"(Blatexrelease$B%Q%C%1!<%8$X$NBP1~$G$9!#(B
% \begin{macro}{\plIncludeInRelease}
% platexrelease$B%Q%C%1!<%8$G$O(B
% |\plIncludeInRelease|...|\plEndIncludeInRelease|$B$N%V%m%C%/$r;H$$$^$9!#(B
% \changes{v1.0t}{2016/02/03}{\cs{plIncludeInRelease}$B$H(B
%    \cs{plEndIncludeInRelease}$B$r?7@_!#(B}
% \changes{v1.1e}{2017/11/09}{\file{latexrelease}$B$H(B
%    \cs{platexrelease}$B$N%(%_%e%l!<%HFbIt=hM}$rJ,N%(B}
% \changes{v1.1h}{2018/01/10}{Modify \cs{plIncludeInRelease} code
%    to check matching \cs{plEndIncluderelease}
%    (sync with ltvers.dtx 2018/01/08 v1.1a)}
% \changes{v1.1p}{2019/09/16}{$B%(%i!<%a%C%;!<%8$r99?7(B
%    (sync with ltvers.dtx 2019/07/01 v1.1c)}
%
% \iffalse
% $BHwK:O?!'(B\LaTeX{}$B$G$O(B\cs{if@includeinrelease}$B$NDj5A$r(B
% \file{ltvers.dtx}$B$G$O$J$/(B\file{ltdefns.dtx}$B$KCY$i$;$F$"$k!#(B
% $B$7$+$7!"$3$l$O(B\cs{newif}$B$,$=$N;~E@$GDj5A$5$l$F$$$J$$$+$i$K$9$.$:!"(B
% \pLaTeX{}$B$G$OCY$i$;$kI,MW$,$J$$!#(B
% \fi
%
%    \begin{macrocode}
%<*plcore|platexrelease>
\newif\if@plincludeinrelease
\@plincludeinreleasefalse
\def\plIncludeInRelease#1{%
  \if@plincludeinrelease
    \PackageError{platexrelease}
      {mis-matched \string\plIncludeInRelease}%
      {There is an \string\plEndIncludeRelease\space missing}%
    \@plincludeinreleasefalse
  \fi
  \kernel@ifnextchar[%
  {\@plIncludeInRelease{#1}}
  {\@plIncludeInRelease{#1}[#1]}}
%    \end{macrocode}
%
%    \begin{macrocode}
\def\@plIncludeInRelease#1[#2]{\@plIncludeInRele@se{#2}}
%    \end{macrocode}
%
%    \begin{macrocode}
\def\@plIncludeInRele@se#1#2#3{%
  \toks@{[#1] #3}%
  \expandafter\ifx\csname\string#2+\@currname+plIIR\endcsname\relax
    \ifnum\expandafter\@parse@version#1//00\@nil
          >\expandafter\@parse@version\pfmtversion//00\@nil
      \GenericInfo{}{Skipping: \the\toks@}%
     \expandafter\expandafter\expandafter\@gobble@plIncludeInRelease
    \else
      \GenericInfo{}{Applying: \the\toks@}%
      \@plincludeinreleasetrue
      \expandafter\let\csname\string#2+\@currname+plIIR\endcsname\@empty
    \fi
  \else
    \GenericInfo{}{Already applied: \the\toks@}%
    \expandafter\@gobble@plIncludeInRelease
  \fi
}
%    \end{macrocode}
%
%    \begin{macrocode}
\def\plEndIncludeInRelease{%
  \if@plincludeinrelease
    \@plincludeinreleasefalse
  \else
    \PackageError{platexrelease}
      {mis-matched \string\plEndIncludeInRelease}{}%
  \fi}
%    \end{macrocode}
%
%    \begin{macrocode}
\long\def\@gobble@plIncludeInRelease#1\plEndIncludeInRelease{%
  \@plincludeinreleasefalse
  \@check@plIncludeInRelease#1\plIncludeInRelease
    \@check@plIncludeInRelease\@end@check@plIncludeInRelease}
%    \end{macrocode}
%    \begin{macrocode}
\long\def\@check@plIncludeInRelease#1\plIncludeInRelease
  #2#3\@end@check@plIncludeInRelease{%
  \ifx\@check@plIncludeInRelease#2\else
    \PackageError{platexrelease}
      {skipped \string\plIncludeInRelease\space for tag \string#2}{}%
  \fi}
%</plcore|platexrelease>
%    \end{macrocode}
% \end{macro}
%
% \LaTeXe{}$B$,Ds6!$9$k(Blatexrelease$B%Q%C%1!<%8$,FI$_9~$^$l$F$$$F!"(B
% $B$+$D(B\pLaTeXe{}$B$,Ds6!$9$k(Bplatexrelease$B%Q%C%1!<%8$,FI$_9~$^$l$F$$$J$$(B
% $B>l9g$O!"4,$-La$75!G=$K$h$C$F(B\pLaTeXe{}$B$N%3%^%s%I$,(B\LaTeXe{}$B$N%3%^%s%I$G(B
% $B>e=q$-$5$l!"F0:n$,2u$l$F$7$^$$$^$9$N$G!"7Y9p$r=P$7$^$9!#(B
% \changes{v1.0s}{2016/02/01}{latexrelease$BMxMQ;~$K7Y9p$r=P$9$h$&$K$7$?(B}
%
% $BEv=i$O(B|\AtBeginDocument|$B$r;H$C$F(B|\@begindocumenthook|$B$NKvHx$K(B
% $B7Y9pJ8$rF~$l$F$$$^$7$?$,!"(B\LaTeXe~2020-02-02$B0J9_$KIUB0$N(B
% latexrelease$B%Q%C%1!<%8$G4,$-La$9$H%U%C%/$N<B9T$h$jAa$$CJ3,(B
% $B!J6qBNE*$K$O(B|\process@table|$BFb$N(B|\kanjiprocess@table|$B<B9TCf!K$G(B
% $B!V(B|\series@maybe@drop@one@m|$B$,L$Dj5A!W$H$$$&%(%i!<$,=P$F$7$^$&$N$G!"(B
% |\process@table|$B$N@hF,$K7Y9pJ8$rF~$l$^$9!#(B
% $BK|$,0l(B|\process@table|$B$b4,$-La$7BP>]$H$5$l$F$7$^$C$?>l9g$N$?$a!"(B
% |\@begindocumenthook|$B$N@hF,$K$bF~$l$F$*$-$^$9!#(B
% ^^A $B$3$N>l9g$O(B|\process@table|$B$,(B|\romanprocess@table|$BAjEv$X$H(B
% ^^A $B>e=q$-$5$l$F$$$k$O$:$G$"$j!"(B|\kanjiprocess@table|$B$O(B
% ^^A $B<B9T$5$l$J$$$N$G%(%i!<$O=P$J$$!#(B
% \changes{v1.1u}{2020/03/28}{latexrelease$BMxMQ;~$N7Y9p$rAa$a$?(B}
%
% \LaTeXe~2020-10-01$B0J9_$G$O(B|\process@table|$B$h$jAa$/<B9T$5$l$k(B
% $B%U%C%/$,MQ0U$5$l$?$N$G!"$3$l$rMxMQ$7$^$9!#(B
% \changes{v1.1v}{2020/09/28}{$B?7$7$$%U%C%/$r3hMQ(B}
%    \begin{macrocode}
%<*plfinal>
\ifnum\pltx@newhook@avail=\z@
% for LaTeX2e 2020-02-02 PL5 or older
\expandafter\def\expandafter\process@table\expandafter{%
  \expandafter\p@warn@latexrelease\process@table}
\begingroup
\toks@\expandafter{\expandafter\p@warn@latexrelease\@begindocumenthook}
\xdef\@begindocumenthook{\the\toks@}
\endgroup
\else
% for LaTeX2e 2020-10-01 or later
\AddToHook{begindocument/before}{\p@warn@latexrelease}
\fi
%
\def\p@warn@latexrelease{%
  \ifx\latexreleaseversion\@undefined\else
    \ifx\platexreleaseversion\@undefined
      \@latex@warning@no@line{%
        Package latexrelease is loaded.\MessageBreak
        Some patches in pLaTeX2e core may be overwritten.\MessageBreak
        Consider using platexrelease.\MessageBreak
        See platex.pdf for detail}%
    \fi
  \fi
  \let\p@warn@latexrelease\relax
}
%</plfinal>
%    \end{macrocode}
%
% \Finale
%
\endinput
