%% %% This is file `uplcore.ltx', %% generated with the docstrip utility. %% %% The original source files were: %% %% uplvers.dtx (with options: `plcore') %% uplfonts.dtx (with options: `plcore') %% plcore.dtx (with options: `plcore') %% uplvers.dtx (with options: `plfinal') %% %% Copyright (c) 2010 ASCII MEDIA WORKS %% Copyright (c) 2016 Takuji Tanaka %% Copyright (c) 2016 Japanese TeX Development Community %% %% This file is part of the upLaTeX2e system (community edition). %% -------------------------------------------------------------- %% %% File: uplvers.dtx \def\pfmtname{pLaTeX2e} \def\pfmtversion {2017/04/08u01} \def\ppatch@level{0} \def\plIncludeInRelease#1{\kernel@ifnextchar[% {\@plIncludeInRelease{#1}} {\@plIncludeInRelease{#1}[#1]}} \def\@plIncludeInRelease#1[#2]{\@plIncludeInRele@se{#2}} \def\@plIncludeInRele@se#1#2#3{% \toks@{[#1] #3}% \expandafter\ifx\csname\string#2+\@currname+IIR\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@}% \expandafter\let\csname\string#2+\@currname+IIR\endcsname\@empty \fi \else \GenericInfo{}{Already applied: \the\toks@}% \expandafter\@gobble@plIncludeInRelease \fi } \long\def\@gobble@plIncludeInRelease#1\plEndIncludeInRelease{} \let\plEndIncludeInRelease\relax %% File: uplfonts.dtx \let\k@encoding\@empty \let\ck@encoding\@empty \def\cy@encoding{JY2} \def\ct@encoding{JT2} \let\k@family\@empty \let\k@series\@empty \let\k@shape\@empty \def\curr@kfontshape{\k@encoding/\k@family/\k@series/\k@shape} \def\rel@fontshape{\f@encoding/\f@family/\f@series/\f@shape} \newdimen\Cht \newdimen\cht \newdimen\Cdp \newdimen\cdp \newdimen\Cwd \newdimen\cwd \newdimen\Cvs \newdimen\cvs \newdimen\Chs \newdimen\chs \newdimen\cHT \let\afont\font \def\inlist@#1#2{% \def\in@@##1<#1>##2##3\in@@{% \ifx\in@##2\in@false\else\in@true\fi}% \in@@#2<#1>\in@\in@@} \def\fam@elt{\noexpand\fam@elt} \def\enc@elt{\noexpand\enc@elt} \def\fenc@list{\enc@elt\enc@elt\enc@elt\enc@elt% \enc@elt\enc@elt\enc@elt} \let\kenc@list\@empty \let\kyenc@list\@empty \let\ktenc@list\@empty \def\kfam@list{\fam@elt\fam@elt} \def\ffam@list{\fam@elt\fam@elt\fam@elt% \fam@elt\fam@elt\fam@elt} \let\notkfam@list\ffam@list \let\notffam@list\kfam@list \newbox\tstrutbox \newbox\zstrutbox \newbox\ystrutbox \def\strutbox{\iftdir\tstrutbox\else\ystrutbox\fi} \def\strut{\relax \ifydir \ifmmode\copy\ystrutbox\else\unhcopy\ystrutbox\fi \else \ifmmode\copy\tstrutbox\else\unhcopy\tstrutbox\fi \fi} \def\tstrut{\relax\hbox{\tate \ifmmode\copy\tstrutbox\else\unhcopy\tstrutbox\fi}} \def\zstrut{\relax\hbox{\tate \ifmmode\copy\zstrutbox\else\unhcopy\zstrutbox\fi}} \def\ystrut{\relax\hbox{\yoko \ifmmode\copy\ystrutbox\else\unhcopy\ystrutbox\fi}} \def\DeclareFontEncoding{% \begingroup \nfss@catcodes \expandafter\endgroup \DeclareFontEncoding@} \def\DeclareFontEncoding@#1#2#3{% \expandafter \ifx\csname T@#1\endcsname\relax \def\cdp@elt{\noexpand\cdp@elt}% \xdef\cdp@list{\cdp@list\cdp@elt{#1}% {\default@family}{\default@series}% {\default@shape}}% \expandafter\let\csname#1-cmd\endcsname\@changed@cmd \def\enc@elt{\noexpand\enc@elt}% \xdef\fenc@list{\fenc@list\enc@elt<#1>}% \else \@font@info{Redeclaring font encoding #1}% \fi \global\@namedef{T@#1}{#2}% \global\@namedef{M@#1}{\default@M#3}% \xdef\LastDeclaredEncoding{#1}% } \def\DeclareKanjiEncoding#1{% \@latex@warning{% The \string\DeclareKanjiEncoding\space is obsoleted command. Please use \MessageBreak the \string\DeclareTateKanjiEncoding\space for `Tate-kumi' encoding, and \MessageBreak the \string\DeclareYokoKanjiEncoding\space for `Yoko-kumi' encoding. \MessageBreak I treat the `#1' encoding as `Yoko-kumi'.} \DeclareYokoKanjiEncoding{#1}% } \def\DeclareYokoKanjiEncoding{% \begingroup \nfss@catcodes \expandafter\endgroup \DeclareYokoKanjiEncoding@} \def\DeclareYokoKanjiEncoding@#1#2#3{% \expandafter \ifx\csname T@#1\endcsname\relax \def\cdp@elt{\noexpand\cdp@elt}% \xdef\cdp@list{\cdp@list\cdp@elt{#1}% {\default@k@family}{\default@k@series}% {\default@k@shape}}% \expandafter\let\csname#1-cmd\endcsname\@changed@kcmd \def\enc@elt{\noexpand\enc@elt}% \xdef\kyenc@list{\kyenc@list\enc@elt<#1>}% \xdef\kenc@list{\kenc@list\enc@elt<#1>}% \else \@font@info{Redeclaring KANJI (yoko) font encoding #1}% \fi \global\@namedef{T@#1}{#2}% \global\@namedef{M@#1}{\default@KM#3}% } \def\DeclareTateKanjiEncoding{% \begingroup \nfss@catcodes \expandafter\endgroup \DeclareTateKanjiEncoding@} \def\DeclareTateKanjiEncoding@#1#2#3{% \expandafter \ifx\csname T@#1\endcsname\relax \def\cdp@elt{\noexpand\cdp@elt}% \xdef\cdp@list{\cdp@list\cdp@elt{#1}% {\default@k@family}{\default@k@series}% {\default@k@shape}}% \expandafter\let\csname#1-cmd\endcsname\@changed@kcmd \def\enc@elt{\noexpand\enc@elt}% \xdef\ktenc@list{\ktenc@list\enc@elt<#1>}% \xdef\kenc@list{\kenc@list\enc@elt<#1>}% \else \@font@info{Redeclaring KANJI (tate) font encoding #1}% \fi \global\@namedef{T@#1}{#2}% \global\@namedef{M@#1}{\default@KM#3}% } \@onlypreamble\DeclareKanjiEncoding \@onlypreamble\DeclareYokoKanjiEncoding \@onlypreamble\DeclareYokoKanjiEncoding@ \@onlypreamble\DeclareTateKanjiEncoding \@onlypreamble\DeclareTateKanjiEncoding@ \def\DeclareKanjiEncodingDefaults#1#2{% \ifx\relax#1\else \ifx\default@KT\@empty\else \@font@info{Overwriting KANJI encoding scheme text defaults}% \fi \gdef\default@KT{#1}% \fi \ifx\relax#2\else \ifx\default@KM\@empty\else \@font@info{Overwriting KANJI encoding scheme math defaults}% \fi \gdef\default@KM{#2}% \fi} \let\default@KT\@empty \let\default@KM\@empty \@onlypreamble\DeclareKanjiEncodingDefaults \def\DeclareFontFamily#1#2#3{% \@ifundefined{T@#1}% {\@latex@error{Encoding scheme `#1' unknown}\@eha}% {\edef\tmp@item{{#2}}% \expandafter\expandafter\expandafter \inlist@\expandafter\tmp@item\expandafter{\ffam@list}% \ifin@ \else \def\fam@elt{\noexpand\fam@elt}% \xdef\ffam@list{\ffam@list\fam@elt<#2>}% \fi \def\reserved@a{#3}% \global \expandafter\let\csname #1+#2\expandafter\endcsname \ifx \reserved@a\@empty \@empty \else \reserved@a \fi }% } \def\DeclareKanjiFamily#1#2#3{% \@ifundefined{T@#1}% {\@latex@error{KANJI Encoding scheme `#1' unknown}\@eha}% {\edef\tmp@item{{#2}}% \expandafter\expandafter\expandafter \inlist@\expandafter\tmp@item\expandafter{\kfam@list}% \ifin@ \else \def\fam@elt{\noexpand\fam@elt}% \xdef\kfam@list{\kfam@list\fam@elt<#2>}% \fi \def\reserved@a{#3}% \global \expandafter\let\csname #1+#2\expandafter\endcsname \ifx \reserved@a\@empty \@empty \else \reserved@a \fi }% } \def\DeclareKanjiSubstitution#1#2#3#4{% \expandafter\ifx\csname T@#1\endcsname\relax \@latex@error{KANJI Encoding scheme `#1' unknown}\@eha \else \begingroup \def\reserved@a{#1}% \toks@{}% \def\cdp@elt##1##2##3##4{% \def\reserved@b{##1}% \ifx\reserved@a\reserved@b \addto@hook\toks@{\cdp@elt{#1}{#2}{#3}{#4}}% \else \addto@hook\toks@{\cdp@elt{##1}{##2}{##3}{##4}}% \fi}% \cdp@list \xdef\cdp@list{\the\toks@}% \endgroup \global\@namedef{D@#1}{\def\default@family{#2}% \def\default@series{#3}% \def\default@shape{#4}}% \fi} \def\DeclareErrorKanjiFont#1#2#3#4#5{% \xdef\error@kfontshape{% \noexpand\expandafter\noexpand\split@name\noexpand\string \expandafter\noexpand\csname#1/#2/#3/#4/#5\endcsname \noexpand\@nil}% \gdef\default@k@family{#2}% \gdef\default@k@series{#3}% \gdef\default@k@shape{#4}% \global\let\k@family\default@k@family \global\let\k@series\default@k@series \global\let\k@shape\default@k@shape \gdef\f@size{#5}% \gdef\f@baselineskip{#5pt}} \@onlypreamble\DeclareKanjiSubstitution \@onlypreamble\DeclareErrorKanjiFont \def\DeclareFixedFont#1#2#3#4#5#6{% \begingroup \let\afont\font \math@fontsfalse \every@math@size{}% \fontsize{#6}\z@ \edef\tmp@item{{#2}}% \expandafter\expandafter\expandafter \inlist@\expandafter\tmp@item\expandafter{\kyenc@list}% \ifin@ \usekanji{#2}{#3}{#4}{#5}% \let\font\jfont \else \expandafter\expandafter\expandafter \inlist@\expandafter\tmp@item\expandafter{\ktenc@list}% \ifin@ \usekanji{#2}{#3}{#4}{#5}% \let\font\tfont \else \useroman{#2}{#3}{#4}{#5}% \let\font\afont \fi \fi \global\expandafter\let\expandafter#1\the\font \let\font\afont \endgroup } \def\reDeclareMathAlphabet#1#2#3{% \edef#1{\noexpand\protect\expandafter\noexpand\csname% \expandafter\@gobble\string#1\space\space\endcsname}% \edef\@tempa{\expandafter\@gobble\string#2}% \edef\@tempb{\expandafter\@gobble\string#3}% \edef\@tempc{\string @\expandafter\@gobbletwo\string#2}% \ifx\@tempc\@tempa% \edef\@tempa{\expandafter\@gobbletwo\string#2}% \edef\@tempb{\expandafter\@gobbletwo\string#3}% \fi \expandafter\edef\csname\expandafter\@gobble\string#1\space\space\endcsname% {\noexpand\DualLang@mathalph@bet% {\expandafter\noexpand\csname\@tempa\space\endcsname}% {\expandafter\noexpand\csname\@tempb\space\endcsname}% }% } \@onlypreamble\reDeclareMathAlphabet \def\DualLang@mathalph@bet#1#2{% \relax\ifmmode \ifx\math@bgroup\bgroup% 2e normal style (\mathrm{...}) \bgroup\let\DualLang@Mfontsw\DLMfontsw@standard \else \ifx\math@bgroup\relax% 2e two letter style (\rm->\mathrm) \let\DualLang@Mfontsw\DLMfontsw@oldstyle \else \ifx\math@bgroup\@empty% 2.09 oldlfont style ({\mathrm ...}) \let\DualLang@Mfontsw\DLMfontsw@oldlfont \else% panic! assume 2e normal style \bgroup\let\DualLang@Mfontsw\DLMfontsw@standard \fi \fi \fi \else \let\DualLang@Mfontsw\@firstoftwo \fi \DualLang@Mfontsw{#1}{#2}% } \def\DLMfontsw@standard#1#2#3{#1{#2{#3}}\egroup} \def\DLMfontsw@oldstyle#1#2{#1\relax\@fontswitch\relax{#2}} \def\DLMfontsw@oldlfont#1#2{#1\relax#2\relax} \def\all@shape{all}% \def\DeclareRelationFont#1#2#3#4#5#6#7#8{% \def\rel@shape{#4}% \ifx\rel@shape\@empty \global \expandafter\def\csname rel@#1/#2/#3/all\endcsname{% \romanencoding{#5}\romanfamily{#6}% \romanseries{#7}}% \else \global \expandafter\def\csname rel@#1/#2/#3/#4\endcsname{% \romanencoding{#5}\romanfamily{#6}% \romanseries{#7}\romanshape{#8}}% \fi } \def\SetRelationFont#1#2#3#4#5#6#7#8{% \def\rel@shape{#4}% \ifx\rel@shape\@empty \expandafter\def\csname rel@#1/#2/#3/all\endcsname{% \romanencoding{#5}\romanfamily{#6}% \romanseries{#7}}% \else \expandafter\def\csname rel@#1/#2/#3/#4\endcsname{% \romanencoding{#5}\romanfamily{#6}% \romanseries{#7}\romanshape{#8}}% \fi } \newif\if@knjcmd \def\userelfont{\@knjcmdtrue} \DeclareRobustCommand\selectfont{% \let\tmp@error@fontshape\error@fontshape \let\error@fontshape\error@kfontshape \edef\tmp@item{{\k@encoding}}% \expandafter\expandafter\expandafter \inlist@\expandafter\tmp@item\expandafter{\kyenc@list}% \ifin@ \let\cy@encoding\k@encoding \edef\ct@encoding{\csname t@enc@\k@encoding\endcsname}% \else \expandafter\expandafter\expandafter \inlist@\expandafter\tmp@item\expandafter{\ktenc@list}% \ifin@ \let\ct@encoding\k@encoding \edef\cy@encoding{\csname y@enc@\k@encoding\endcsname}% \else \@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha \fi \fi \let\font\tfont \let\k@encoding\ct@encoding \xdef\font@name{\csname\curr@kfontshape/\f@size\endcsname}% \pickup@font \font@name \let\font\jfont \let\k@encoding\cy@encoding \xdef\font@name{\csname\curr@kfontshape/\f@size\endcsname}% \pickup@font \font@name \expandafter\def\expandafter\k@encoding\tmp@item \kenc@update \let\error@fontshape\tmp@error@fontshape \if@knjcmd \@knjcmdfalse \expandafter\ifx \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname\relax \expandafter\ifx \csname rel@\k@encoding/\k@family/\k@series/all\endcsname\relax \else \csname rel@\k@encoding/\k@family/\k@series/all\endcsname \fi \else \csname rel@\k@encoding/\k@family/\k@series/\k@shape\endcsname \fi \fi \let\font\afont \xdef\font@name{\csname\curr@fontshape/\f@size\endcsname}% \pickup@font \font@name \enc@update \ifx\f@linespread\baselinestretch \else \set@fontsize\baselinestretch\f@size\f@baselineskip \fi \size@update} \def\KanjiEncodingPair#1#2{\@namedef{t@enc@#1}{#2}\@namedef{y@enc@#2}{#1}} \KanjiEncodingPair{JY2}{JT2} \def\set@fontsize#1#2#3{% \@defaultunits\@tempdimb#2pt\relax\@nnil \edef\f@size{\strip@pt\@tempdimb}% \@defaultunits\@tempskipa#3pt\relax\@nnil \edef\f@baselineskip{\the\@tempskipa}% \edef\f@linespread{#1}% \let\baselinestretch\f@linespread \def\size@update{% \baselineskip\f@baselineskip\relax \baselineskip\f@linespread\baselineskip \normalbaselineskip\baselineskip \adjustbaseline \setbox\ystrutbox\hbox{\yoko \vrule\@width\z@ \@height.7\baselineskip \@depth.3\baselineskip}% \setbox\tstrutbox\hbox{\tate \vrule\@width\z@ \@height.5\baselineskip \@depth.5\baselineskip}% \setbox\zstrutbox\hbox{\tate \vrule\@width\z@ \@height.7\baselineskip \@depth.3\baselineskip}% \let\size@update\relax}} \newbox\adjust@box \newdimen\adjust@dimen \def\adjustbaseline{% \setbox\adjust@box\hbox{\char\euc"A1A1}%" \cht\ht\adjust@box \cdp\dp\adjust@box \cwd\wd\adjust@box \cvs\normalbaselineskip \chs\cwd \cHT\cht \advance\cHT\cdp \iftdir \setbox\adjust@box\hbox{\tbaselineshift\z@ M}% \adjust@dimen\ht\adjust@box \advance\adjust@dimen\dp\adjust@box \advance\adjust@dimen-\cHT \divide\adjust@dimen\tw@ \advance\adjust@dimen\cdp \advance\adjust@dimen-\dp\adjust@box \tbaselineshift\adjust@dimen \fi} \DeclareRobustCommand\romanencoding[1]{% \expandafter\ifx\csname T@#1\endcsname\relax \@latex@error{Encoding scheme `#1' unknown}\@eha \else \edef\f@encoding{#1}% \ifx\cf@encoding\f@encoding \let\enc@update\relax \else \let\enc@update\@@enc@update \fi \fi } \DeclareRobustCommand\kanjiencoding[1]{% \expandafter\ifx\csname T@#1\endcsname\relax \@latex@error{KANJI Encoding scheme `#1' unknown}\@eha \else \edef\k@encoding{#1}% \ifx\ck@encoding\k@encoding \let\kenc@update\relax \else \let\kenc@update\@@kenc@update \fi \fi } \DeclareRobustCommand\fontencoding[1]{% \edef\tmp@item{{#1}}% \expandafter\expandafter\expandafter \inlist@\expandafter\tmp@item\expandafter{\kenc@list}% \ifin@ \kanjiencoding{#1}\else\romanencoding{#1}\fi} \def\@@kenc@update{% \default@KT \csname T@\k@encoding\endcsname \csname D@\k@encoding\endcsname \let\kenc@update\relax \let\ck@encoding\k@encoding \edef\tmp@item{{\k@encoding}}% \expandafter\expandafter\expandafter \inlist@\expandafter\tmp@item\expandafter{\kyenc@list}% \ifin@ \let\cy@encoding\k@encoding \else \expandafter\expandafter\expandafter \inlist@\expandafter\tmp@item\expandafter{\ktenc@list}% \ifin@ \let\ct@encoding\k@encoding \else \@latex@error{KANJI Encoding scheme `\k@encoding' unknown}\@eha \fi \fi } \let\kenc@update\relax \def\@changed@kcmd#1#2{% \ifx\protect\@typeset@protect \@inmathwarn#1% \expandafter\ifx\csname\ck@encoding\string#1\endcsname\relax \expandafter\ifx\csname ?\string#1\endcsname\relax \expandafter\def\csname ?\string#1\endcsname{% \TextSymbolUnavailable#1% }% \fi \global\expandafter\let \csname\cf@encoding \string#1\expandafter\endcsname \csname ?\string#1\endcsname \fi \csname\ck@encoding\string#1% \expandafter\endcsname \else \noexpand#1% \fi} \newif\if@notkfam \newif\if@notffam \newif\if@tempswz \DeclareRobustCommand\romanfamily[1]{\edef\f@family{#1}} \DeclareRobustCommand\kanjifamily[1]{\edef\k@family{#1}} \DeclareRobustCommand\fontfamily[1]{% \edef\tmp@item{{#1}}% \@notkfamfalse \@notffamfalse \expandafter\expandafter\expandafter \inlist@\expandafter\tmp@item\expandafter{\kfam@list}% \ifin@ \edef\k@family{#1}% \else \expandafter\expandafter\expandafter \inlist@\expandafter\tmp@item\expandafter{\notkfam@list}% \ifin@ \@notkfamtrue \else \@tempswzfalse \def\fam@elt{\noexpand\fam@elt}% \message{(I search kanjifont definition file:}% \def\enc@elt<##1>{\message{.}% \edef\reserved@a{\lowercase{\noexpand\IfFileExists{##1#1.fd}}}% \reserved@a{\@tempswztrue}{}\relax}% \kenc@list \message{)}% \if@tempswz \edef\k@family{#1}% \else \@notkfamtrue \xdef\notkfam@list{\notkfam@list\fam@elt<#1>}% \fi \fi\fi \expandafter\expandafter\expandafter \inlist@\expandafter\tmp@item\expandafter{\ffam@list}% \ifin@ \edef\f@family{#1}\else \expandafter\expandafter\expandafter \inlist@\expandafter\tmp@item\expandafter{\notffam@list}% \ifin@ \@notffamtrue \else \@tempswzfalse \def\fam@elt{\noexpand\fam@elt}% \message{(I search font definition file:}% \def\enc@elt<##1>{\message{.}% \edef\reserved@a{\lowercase{\noexpand\IfFileExists{##1#1.fd}}}% \reserved@a{\@tempswztrue}{}\relax}% \fenc@list \message{)}% \if@tempswz \edef\f@family{#1}% \else \@notffamtrue \xdef\notffam@list{\notffam@list\fam@elt<#1>}% \fi \fi\fi \if@notkfam\if@notffam \edef\k@family{#1}\edef\f@family{#1}% \fi\fi} \DeclareRobustCommand\romanseries[1]{\edef\f@series{#1}} \DeclareRobustCommand\kanjiseries[1]{\edef\k@series{#1}} \DeclareRobustCommand\fontseries[1]{\kanjiseries{#1}\romanseries{#1}} \DeclareRobustCommand\romanshape[1]{\edef\f@shape{#1}} \DeclareRobustCommand\kanjishape[1]{\edef\k@shape{#1}} \DeclareRobustCommand\fontshape[1]{\kanjishape{#1}\romanshape{#1}} \def\usekanji#1#2#3#4{% \kanjiencoding{#1}\kanjifamily{#2}\kanjiseries{#3}\kanjishape{#4}% \selectfont\ignorespaces} \def\useroman#1#2#3#4{% \romanencoding{#1}\romanfamily{#2}\romanseries{#3}\romanshape{#4}% \selectfont\ignorespaces} \def\usefont#1#2#3#4{% \edef\tmp@item{{#1}}% \expandafter\expandafter\expandafter \inlist@\expandafter\tmp@item\expandafter{\kenc@list}% \ifin@ \usekanji{#1}{#2}{#3}{#4}% \else\useroman{#1}{#2}{#3}{#4}% \fi} \DeclareRobustCommand\normalfont{% \kanjiencoding{\kanjiencodingdefault}% \kanjifamily{\kanjifamilydefault}% \kanjiseries{\kanjiseriesdefault}% \kanjishape{\kanjishapedefault}% \romanencoding{\encodingdefault}% \romanfamily{\familydefault}% \romanseries{\seriesdefault}% \romanshape{\shapedefault}% \selectfont\ignorespaces} \adjustbaseline \let\reset@font\normalfont \DeclareRobustCommand\mcfamily {\not@math@alphabet\mcfamily\mathmc \kanjifamily\mcdefault\selectfont} \DeclareRobustCommand\gtfamily {\not@math@alphabet\gtfamily\mathgt \kanjifamily\gtdefault\selectfont} \let\romanprocess@table\process@table \def\kanjiprocess@table{% \kanjiencoding{\kanjiencodingdefault}% \kanjifamily{\kanjifamilydefault}% \kanjiseries{\kanjiseriesdefault}% \kanjishape{\kanjishapedefault}% } \def\process@table{% \romanprocess@table \kanjiprocess@table } \@onlypreamble\romanprocess@table \@onlypreamble\kanjiprocess@table \DeclareTextCommandDefault{\textunderscore}{% \leavevmode\kern.06em \raise-\iftdir\ifmdir\ybaselineshift \else\tbaselineshift\fi \else\ybaselineshift\fi \vbox{\hrule\@width.3em}} \InputIfFileExists{upldefs.cfg} {\typeout{*************************************^^J% * Local config file upldefs.cfg used^^J% *************************************}}% {\input{upldefs.ltx}} %% File: plcore.dtx \def\NeedsTeXFormat#1{% \def\reserved@a{#1}% \ifx\reserved@a\pfmtname \expandafter\@needsPformat \else \ifx\reserved@a\fmtname \expandafter\expandafter\expandafter\@needsformat \else \@latex@error{This file needs format `\reserved@a'% \MessageBreak but this is `\pfmtname'}{% The current input file will not be processed further,\MessageBreak because it was written for some other flavor of TeX.\MessageBreak\@ehd}% \endinput \fi \fi} \def\@needsPformat{\@ifnextchar[\@needsPf@rmat{}} \def\@needsPf@rmat[#1]{% \@ifl@t@r\pfmtversion{#1}{}% {\@latex@warning@no@line {You have requested release `#1' of pLaTeX,\MessageBreak but only release `\pfmtversion' is available}}} \@onlypreamble\@needsPformat \@onlypreamble\@needsPf@rmat \def\documentstyle{% \makeatletter\input{pl209.def}\makeatother \documentclass} \def\cleardoublepage{\clearpage\if@twoside \ifodd\c@page \iftdir \hbox{}\thispagestyle{empty}\newpage \if@twocolumn\hbox{}\newpage\fi \fi \else \ifydir \hbox{}\thispagestyle{empty}\newpage \if@twocolumn\hbox{}\newpage\fi \fi \fi\fi} \def\@gnewline #1{% \ifvmode \@nolnerr \else \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null \ignorespaces \fi} \gdef\@makecol{% \setbox\@outputbox\box\@cclv% \let\@elt\relax % added on LaTeX (ltoutput.dtx 2003/12/16 v1.2k) \xdef\@freelist{\@freelist\@midlist}% \global \let \@midlist \@empty \@combinefloats \let\pltx@textbottom\@textbottom % save (pLaTeX 2017/02/25) \ifvoid\footins\else % changed (pLaTeX 2017/02/25) \setbox\@outputbox \vbox {% \boxmaxdepth \@maxdepth \unvbox \@outputbox \@textbottom % inserted here (pLaTeX 2017/02/25) \vskip \skip\footins \color@begingroup \normalcolor \footnoterule \unvbox \footins \color@endgroup }% \let\@textbottom\relax % disable temporarily (pLaTeX 2017/02/25) \fi \ifvbox\@kludgeins \@makespecialcolbox \else \setbox\@outputbox \vbox to\@colht {% \@texttop \dimen@ \dp\@outputbox \unvbox \@outputbox \iftdir\vbox{\hskip\z@}\fi \vskip -\dimen@ \@textbottom }% \fi \let\@textbottom\pltx@textbottom % restore (pLaTeX 2017/02/25) \global \maxdepth \@maxdepth } \gdef\@makespecialcolbox{% \setbox\@outputbox \vbox {% \@texttop \dimen@ \dp\@outputbox \unvbox\@outputbox \vskip-\dimen@ }% \@tempdima \@colht \ifdim \wd\@kludgeins>\z@ \advance \@tempdima -\ht\@outputbox \advance \@tempdima \pageshrink \setbox\@outputbox \vbox to \@colht {% \unvbox\@outputbox \vskip \@tempdima \@textbottom \ifvoid\footins\else % for pLaTeX \vskip\skip\footins \color@begingroup \normalcolor \footnoterule \unvbox \footins \color@endgroup \fi }% \else \advance \@tempdima -\ht\@kludgeins \setbox \@outputbox \vbox to \@colht {% \vbox to \@tempdima {% \unvbox\@outputbox \@textbottom \ifvoid\footins\else % for pLaTeX \vskip\skip\footins \color@begingroup \normalcolor \footnoterule \unvbox \footins \color@endgroup \fi }\vss}% \fi {\setbox \@tempboxa \box \@kludgeins}% } \def\@reinserts{% \ifvoid\footins\else\insert\footins{% \iftbox\footins\tate\else\yoko\fi \unvbox\footins}\fi \ifvbox\@kludgeins\insert\@kludgeins{\unvbox\@kludgeins}\fi } \newif\iftombow \tombowfalse \newif\iftombowdate \tombowdatetrue \newdimen\@tombowwidth \setlength{\@tombowwidth}{.1\p@} \newbox\@TL\newbox\@Tl \newbox\@TC \newbox\@TR\newbox\@Tr \newbox\@BL\newbox\@Bl \newbox\@BC \newbox\@BR\newbox\@Br \newbox\@CL \newbox\@CR \font\@bannerfont=cmtt9 \newtoks\@bannertoken \@bannertoken{} \def\maketombowbox{% \setbox\@TL\hbox to\z@{\yoko\hss \vrule width13mm height\@tombowwidth depth\z@ \vrule height10mm width\@tombowwidth depth\z@ \iftombowdate \raise4pt\hbox to\z@{\hskip5mm\@bannerfont\the\@bannertoken\hss}% \fi}% \setbox\@Tl\hbox to\z@{\yoko\hss \vrule width10mm height\@tombowwidth depth\z@ \vrule height13mm width\@tombowwidth depth\z@}% \setbox\@TC\hbox{\yoko \vrule width10mm height\@tombowwidth depth\z@ \vrule height10mm width\@tombowwidth depth\z@ \vrule width10mm height\@tombowwidth depth\z@}% \setbox\@TR\hbox to\z@{\yoko \vrule height10mm width\@tombowwidth depth\z@ \vrule width13mm height\@tombowwidth depth\z@\hss}% \setbox\@Tr\hbox to\z@{\yoko \vrule height13mm width\@tombowwidth depth\z@ \vrule width10mm height\@tombowwidth depth\z@\hss}% \setbox\@BL\hbox to\z@{\yoko\hss \vrule width13mm depth\@tombowwidth height\z@ \vrule depth10mm width\@tombowwidth height\z@}% \setbox\@Bl\hbox to\z@{\yoko\hss \vrule width10mm depth\@tombowwidth height\z@ \vrule depth13mm width\@tombowwidth height\z@}% \setbox\@BC\hbox{\yoko \vrule width10mm depth\@tombowwidth height\z@ \vrule depth10mm width\@tombowwidth height\z@ \vrule width10mm depth\@tombowwidth height\z@}% \setbox\@BR\hbox to\z@{\yoko \vrule depth10mm width\@tombowwidth height\z@ \vrule width13mm depth\@tombowwidth height\z@\hss}% \setbox\@Br\hbox to\z@{\yoko \vrule depth13mm width\@tombowwidth height\z@ \vrule width10mm depth\@tombowwidth height\z@\hss}% \setbox\@CL\hbox to\z@{\yoko\hss \vrule width10mm height.5\@tombowwidth depth.5\@tombowwidth \vrule height10mm depth10mm width\@tombowwidth}% \setbox\@CR\hbox to\z@{\yoko \vrule height10mm depth10mm width\@tombowwidth \vrule height.5\@tombowwidth depth.5\@tombowwidth width10mm\hss}% } \def\@outputtombow{% \iftombow \vbox to\z@{\kern-13mm\relax \boxmaxdepth\maxdimen%% Added (Apr 1, 2016) \moveleft3mm\vbox to\@@paperheight{% \hbox to\@@paperwidth{\hskip3mm\relax \copy\@TL\hfill\copy\@TC\hfill\copy\@TR\hskip3mm}% \kern-10mm \hbox to\@@paperwidth{\copy\@Tl\hfill\copy\@Tr}% \vfill \hbox to\@@paperwidth{\copy\@CL\hfill\copy\@CR}% \vfill \hbox to\@@paperwidth{\copy\@Bl\hfill\copy\@Br}% \kern-10mm \hbox to\@@paperwidth{\hskip3mm\relax \copy\@BL\hfill\copy\@BC\hfill\copy\@BR\hskip3mm}% }\vss }% \fi } \newdimen\@@paperheight \newdimen\@@paperwidth \newdimen\@@topmargin \def\@outputpage{% \begingroup % the \endgroup is put in by \aftergroup \iftdir \dimen\z@\textwidth \textwidth\textheight \textheight\dimen\z@ \fi \let \protect \noexpand \language\document@default@language \@resetactivechars \global\let\@@if@newlist\if@newlist \global\@newlistfalse \@parboxrestore \shipout\vbox{\yoko \set@typeset@protect \aftergroup\endgroup \aftergroup\set@typeset@protect \if@specialpage \global\@specialpagefalse\@nameuse{ps@\@specialstyle}% \fi \if@twoside \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot \iftdir\let\@themargin\evensidemargin \else\let\@themargin\oddsidemargin\fi \else \let\@thehead\@evenhead \let\@thefoot\@evenfoot \iftdir\let\@themargin\oddsidemargin \else\let\@themargin\evensidemargin\fi \fi\fi \@@topmargin\topmargin \iftombow \@@paperwidth\paperwidth \advance\@@paperwidth 6mm\relax \@@paperheight\paperheight \advance\@@paperheight 16mm\relax \advance\@@topmargin 1in\relax \advance\@themargin 1in\relax \fi \reset@font \normalsize \normalsfcodes \let\label\@gobble \let\index\@gobble \let\glossary\@gobble \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@ \@begindvi \@outputtombow \vskip \@@topmargin \moveright\@themargin\vbox{% \setbox\@tempboxa \vbox to\headheight{% \vfil \color@hbox \normalcolor \hb@xt@\textwidth{\@thehead}% \color@endbox }% %% 22 Feb 87 \dp\@tempboxa \z@ \box\@tempboxa \vskip \headsep \box\@outputbox \baselineskip \footskip \color@hbox \normalcolor \hb@xt@\textwidth{\@thefoot}% \color@endbox }% }% \global\let\if@newlist\@@if@newlist \global \@colht \textheight \stepcounter{page}% \let\firstmark\botmark } \def \AtBeginDvi #1{% \global \setbox \@begindvibox \vbox{\yoko \unvbox \@begindvibox #1}% } \renewcommand\@makefnmark{% \ifydir \hbox{}\hbox{\@textsuperscript{\normalfont\@thefnmark}}\hbox{}% \else\hbox{\yoko\@textsuperscript{\normalfont\@thefnmark}}\fi} \ifx\@undefined\pltx@foot@penalty \newcount\pltx@foot@penalty \fi \pltx@foot@penalty\z@ \def\footnote{\inhibitglue \@ifnextchar[\@xfootnote{\stepcounter\@mpfn \protected@xdef\@thefnmark{\thempfn}% \@footnotemark\@footnotetext}} \def\footnotemark{\inhibitglue \@ifnextchar[\@xfootnotemark {\stepcounter{footnote}% \protected@xdef\@thefnmark{\thefootnote}% \@footnotemark}} \def\footnotetext{% \ifhmode\pltx@foot@penalty\lastpenalty\unpenalty\fi% \@ifnextchar [\@xfootnotenext {\protected@xdef\@thefnmark{\thempfn}% \@footnotetext}} \long\def\@footnotetext#1{% \ifydir\def\@tempa{\yoko}\else\def\@tempa{\tate}\fi \insert\footins{\@tempa% \reset@font\footnotesize \interlinepenalty\interfootnotelinepenalty \splittopskip\footnotesep \splitmaxdepth \dp\strutbox \floatingpenalty \@MM \hsize\columnwidth \@parboxrestore \protected@edef\@currentlabel{% \csname p@footnote\endcsname\@thefnmark }% \color@begingroup \@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% \color@endgroup}\ifhmode\null\fi \ifnum\pltx@foot@penalty=\z@\else \penalty\pltx@foot@penalty \pltx@foot@penalty\z@ \fi} \def\@footnotemark{\leavevmode \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi \ifydir\@makefnmark \else\hbox to\z@{\hskip-.25zw\raise.9zh\@makefnmark\hss}\fi \ifhmode\spacefactor\@x@sf\fi\relax} \def\@setref#1#2#3{% \ifx#1\relax \protect\G@refundefinedtrue \nfss@text{\reset@font\bfseries ??}% \@latex@warning{Reference `#3' on page \thepage \space undefined}% \else \expandafter#2#1\relax{}% change \null to \relax{} \fi} \if@compatibility\else \def\verb{\relax\ifmmode\hbox\else\leavevmode\fi \bgroup \verb@eol@error \let\do\@makeother \dospecials \verbatim@font\@noligs \language\l@nohyphenation \@ifstar\@sverb\@verb} \fi \gdef\@stopfield{\null\color@endgroup\egroup} \newcommand\printglossary{\@input@{\jobname.gls}} \newcount\hour \newcount\minute \def\@tabular{\leavevmode \null\hbox \bgroup $\let\@acol\@tabacol \let\@classz\@tabclassz \let\@classiv\@tabclassiv \let\\\@tabularcr\@tabarray} \def\endtabular{\crcr\egroup\egroup $\egroup\null} \expandafter \let \csname endtabular*\endcsname = \endtabular \let\@parboxto\@empty \long\def\@iiiparbox#1#2[#3]#4#5{% \leavevmode \@pboxswfalse \setlength\@tempdima{#4}% \@begin@tempboxa\vbox{\hsize\@tempdima\@parboxrestore#5\@@par}% \ifx\relax#2\else \setlength\@tempdimb{#2}% \edef\@parboxto{to\the\@tempdimb}% \fi \if#1b\vbox \else\if #1t\vtop \else\ifmmode\vcenter \else\@pboxswtrue\null$\vcenter% !!! \fi\fi\fi \@parboxto{\let\hss\vss\let\unhbox\unvbox \csname bm@#3\endcsname}% \if@pboxsw \m@th$\null\fi% !!! \@end@tempboxa} \def\underline#1{% \relax \ifmmode\@@underline{#1}% \else \leavevmode\null$\@@underline{\hbox{#1}}\m@th$\null\relax\fi} \ifx\omathchar\@undefined \ifx\widowpenalties\@undefined \mathchardef\e@alloc@top=255 \let\e@alloc@chardef\chardef \else \mathchardef\e@alloc@top=32767 \let\e@alloc@chardef\mathchardef \fi \else \ifx\enablecjktoken\@undefined % pTeX \omathchardef\e@alloc@top=65535 \let\e@alloc@chardef\omathchardef \else % upTeX \chardef\e@alloc@top=65535 \let\e@alloc@chardef\chardef \fi \fi \ifx\omathchar\@undefined \chardef\e@mathgroup@top=16 % LaTeX2e kernel standard \else \mathchardef\e@mathgroup@top=256 % for e-pTeX FAM256 patched \fi %% File: uplvers.dtx \def\documentstyle{% \@latex@error{upLaTeX does NOT support LaTeX 2.09 compatibility mode.\MessageBreak Use \noexpand\documentclass instead}{% \noexpand\documentstyle is an old convention of LaTeX 2.09, which has been\MessageBreak obsolete since 1995. upLaTeX is first released in 2007, so we do\MessageBreak not provide any emulation of the LaTeX 2.09 author environment.\MessageBreak New documents should use Standard LaTeX conventions, and start\MessageBreak with the \noexpand\documentclass command.}% \documentclass} \ifx\patch@level\@undefined % fallback if undefined in LaTeX \def\patch@level{0}\fi \ifx\ppatch@level\@undefined % fallback if undefined in upLaTeX \def\ppatch@level{0}\fi \begingroup \def\parse@@BANNER\typeout#1\typeout#2#3\relax{#1} \edef\platexTMP{% \ifnum\ppatch@level=0 \everyjob{\noexpand\typeout{% \pfmtname\space<\pfmtversion>\space (based on \expandafter\parse@@BANNER\platexBANNER)}}% \else \everyjob{\noexpand\typeout{% \pfmtname\space<\pfmtversion>+\ppatch@level\space (based on \expandafter\parse@@BANNER\platexBANNER)}}% \fi } \expandafter \endgroup \platexTMP \begingroup \def\parse@@BANNER\typeout#1\typeout#2#3\relax{#2} \edef\platexTMP{% \the\everyjob\noexpand\typeout{\expandafter\parse@@BANNER\platexBANNER}% } \everyjob=\expandafter{\platexTMP}% \edef\platexTMP{% \noexpand\let\noexpand\platexBANNER=\noexpand\@undefined \noexpand\everyjob={\the\everyjob}% } \expandafter \endgroup \platexTMP \ifx\l@nohyphenation \@undefined \newlanguage\l@nohyphenation \fi \ifx\document@default@language \@undefined \let\document@default@language\m@ne \fi \AtBeginDocument{% \@ifpackageloaded{latexrelease}{% \@ifpackageloaded{platexrelease}{}{% \@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}% }% }{}% } \endinput %% %% End of file `uplcore.ltx'.