%% %% This is file `plcore.ltx', %% generated with the docstrip utility. %% %% The original source files were: %% %% plvers.dtx (with options: `plcore') %% plfonts.dtx (with options: `plcore') %% plcore.dtx (with options: `plcore') %% plvers.dtx (with options: `plfinal') %% %% Copyright (c) 2010 ASCII MEDIA WORKS %% Copyright (c) 2016 Japanese TeX Development Community %% %% This file is part of the pLaTeX2e system (community edition). %% ------------------------------------------------------------- %% %% File: plvers.dtx %% \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 %% Lower-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 %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% \def\pfmtname{pLaTeX2e} \def\pfmtversion {2016/07/01} \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: plfonts.dtx %% \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 %% Lower-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 %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% \let\k@encoding\@empty \let\ck@encoding\@empty \def\cy@encoding{JY1} \def\ct@encoding{JT1} \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 \def\strut{\relax \ifydir \ifmmode\copy\strutbox\else\unhcopy\strutbox\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\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{JY1}{JT1} \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\strutbox\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 \iftdir\raise-\tbaselineshift\fi \vbox{\hrule\@width.3em}} \InputIfFileExists{pldefs.cfg} {\typeout{*************************************^^J% * Local config file pldefs.cfg used^^J% *************************************}}% {\input{pldefs.ltx}} %% File: plcore.dtx %% \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 %% Lower-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 %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% \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% \xdef\@freelist{\@freelist\@midlist}% \global \let \@midlist \@empty \@combinefloats \ifvbox\@kludgeins \@makespecialcolbox \else \setbox\@outputbox \vbox to\@colht {% \@texttop \dimen@ \dp\@outputbox \unvbox \@outputbox \iftdir\hskip\z@\fi \vskip -\dimen@ \@textbottom \ifvoid\footins\else % for pLaTeX \vskip \skip\footins \color@begingroup \normalcolor \footnoterule \unvbox \footins \color@endgroup \fi }% \fi \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 \@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} \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}} \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 \@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} %% File: plvers.dtx %% \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 %% Lower-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 %% Digits \0\1\2\3\4\5\6\7\8\9 %% Exclamation \! Double quote \" Hash (number) \# %% Dollar \$ Percent \% Ampersand \& %% Acute accent \' Left paren \( Right paren \) %% Asterisk \* Plus \+ Comma \, %% Minus \- Point \. Solidus \/ %% Colon \: Semicolon \; Less than \< %% Equals \= Greater than \> Question mark \? %% Commercial at \@ Left bracket \[ Backslash \\ %% Right bracket \] Circumflex \^ Underscore \_ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} %% \ifx\patch@level\@undefined % fallback if undefined in LaTeX \def\patch@level{0}\fi \ifx\ppatch@level\@undefined % fallback if undefined in pLaTeX \def\ppatch@level{0}\fi \begingroup \def\parse@BANNER#1{\expandafter\parse@@BANNER#1} \def\parse@@BANNER#1#2#3#4{#2} \edef\platexTMP{% \ifnum\ppatch@level=0 \everyjob{\noexpand\typeout{% \pfmtname\space<\pfmtversion>\space (based on \parse@BANNER{\platexBANNER})}}% \else \everyjob{\noexpand\typeout{% \pfmtname\space<\pfmtversion>+\ppatch@level\space (based on \parse@BANNER{\platexBANNER})}}% \fi } \expandafter \endgroup \platexTMP \begingroup \def\parse@BANNER#1{\expandafter\parse@@BANNER#1} \def\parse@@BANNER#1#2#3#4{#4} \edef\platexTMP{% \the\everyjob\noexpand\typeout{\parse@BANNER{\platexBANNER}}% } \everyjob=\expandafter{\platexTMP}% \edef\platexTMP{% \noexpand\let\noexpand\platexBANNER=\noexpand\@undefined \noexpand\everyjob={\the\everyjob}% } \expandafter \endgroup \platexTMP \everyjob\expandafter{% \the\everyjob \IfFileExists{platex.cfg}{% \typeout{*************************^^J% * Loading platex.cfg.^^J% *************************}% \input{platex.cfg}}{}% } \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 `plcore.ltx'.