%% %% This is file `pxrubrica.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% pxrubrica.dtx %% %% IMPORTANT NOTICE: %% %% For the copyright see the source file. %% %% Any modified versions of this file must be renamed %% with new filenames distinct from pxrubrica.sty. %% %% For distribution of the original source see the terms %% for copying and modification in the file pxrubrica.dtx. %% %% This generated file may be distributed as long as the %% original source files, as listed above, are part of the %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% \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 \~} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{pxrubrica} [2014/12/23 v1.0a PX Japanese-style ruby] \RequirePackage{keyval} \def\pxrr@pkgname{pxrubrica} \def\pxrr@error{% \PackageError\pxrr@pkgname } \def\pxrr@warn{% \PackageWarning\pxrr@pkgname } \newif\ifpxrr@fatal@error \def\pxrr@fatal@error{% \pxrr@fatal@errortrue \pxrr@error } \def\pxrr@eh@fatal{% The whole ruby input was ignored.\MessageBreak \@ehc } \def\pxrr@fatal@not@supported#1{% \pxrr@fatal@error{Not yet supported: #1}% \pxrr@eh@fatal } \def\pxrr@err@inv@value#1{% \pxrr@error{Invalud value (#1)}% \@ehc } \def\pxrr@fatal@unx@letter#1{% \pxrr@fatal@error{Unexpected letter '#1' found}% \pxrr@eh@fatal } \def\pxrr@warn@bad@athead{% \pxrr@warn{Position 'h' not allowed here}% } \def\pxrr@warn@must@group{% \pxrr@warn{Only group ruby is allowed here}% } \def\pxrr@fatal@bad@intr{% \pxrr@fatal@error{% Intrusion disallowed when ghost is enabled% }\pxrr@eh@fatal } \def\pxrr@fatal@bad@no@protr{% \pxrr@fatal@error{% Protrusion must be allowed for either end% }\pxrr@eh@fatal } \def\pxrr@fatal@bad@length#1#2{% \pxrr@fatal@error{% Group count mismatch between the ruby and\MessageBreak the body (#1 <> #2)% }\pxrr@eh@fatal } \def\pxrr@fatal@bad@mono{% \pxrr@fatal@error{% Mono-ruby must have a single group% }\pxrr@eh@fatal } \def\pxrr@fatal@bad@movable{% \pxrr@fatal@error{% Novable group ruby is not allowed here% }\pxrr@eh@fatal } \def\pxrr@fatal@na@movable{% \pxrr@fatal@error{% Feature of movable group ruby is disabled% }\pxrr@eh@fatal } \def\pxrr@interror#1{% \pxrr@fatal@error{INTERNAL ERROR (#1)}% \pxrr@eh@fatal } \newif\ifpxrrDebug \let\pxrr@ruby@font\@empty \def\pxrr@big@intr{1} \def\pxrr@small@intr{0.5} \def\pxrr@size@ratio{0.5} \def\pxrr@sprop@x{1} \def\pxrr@sprop@y{2} \def\pxrr@sprop@z{1} \def\pxrr@sprop@hy{1} \def\pxrr@sprop@hz{1} \def\pxrr@sprop@ex{1} \def\pxrr@sprop@ey{1} \def\pxrr@maxmargin{0.75} \def\pxrr@yhtratio{0.88} \def\pxrr@thtratio{0.5} \chardef\pxrr@extra=0 \newif\ifpxrr@jghost \pxrr@jghostfalse \newif\ifpxrr@aghost \pxrr@aghostfalse \def\pxrr@inter@gap{0} \newif\ifpxrr@edge@adjust \pxrr@edge@adjustfalse \newif\ifpxrr@break@jukugo \pxrr@edge@adjustfalse \newif\ifpxrr@d@bprotr \pxrr@d@bprotrtrue \newif\ifpxrr@d@aprotr \pxrr@d@aprotrtrue \def\pxrr@d@bintr{} \def\pxrr@d@aintr{} \chardef\pxrr@d@athead=0 \let\pxrr@d@mode=j \chardef\pxrr@d@side=0 \chardef\pxrr@d@evensp=1 \chardef\pxrr@d@fullsize=0 \newif\ifpxrr@bprotr \pxrr@bprotrfalse \newif\ifpxrr@aprotr \pxrr@aprotrfalse \def\pxrr@bintr{} \def\pxrr@aintr{} \let\pxrr@bscomp\relax \let\pxrr@ascomp\relax \newif\ifpxrr@bnobr \pxrr@bnobrfalse \newif\ifpxrr@anobr \pxrr@anobrfalse \newif\ifpxrr@bfintr \pxrr@bfintrfalse \newif\ifpxrr@afintr \pxrr@afintrfalse \chardef\pxrr@athead=0 \let\pxrr@mode=\@undefined \newif\ifpxrr@abody \chardef\pxrr@side=0 \chardef\pxrr@evensp=1 \chardef\pxrr@fullsize=1 \newif\ifpxrr@ok \newcount\pxrr@cnta \newcount\pxrr@cntr \newdimen\pxrr@dima \newbox\pxrr@boxa \newbox\pxrr@boxb \newbox\pxrr@boxr \chardef\pxrr@zero=0 \def\pxrr@zeropt{0pt} \def\pxrr@hfilx#1{% \hskip\z@\@plus #1fil\relax } \let\pxrr@res\@empty \def\pxrr@ifx#1{% \ifx#1\expandafter\@firstoftwo \else\expandafter\@secondoftwo \fi } \def\pxrr@ifnum#1{% \ifnum#1\expandafter\@firstoftwo \else\expandafter\@secondoftwo \fi } \def\pxrr@cslet#1{% \expandafter\let\csname#1\endcsname } \def\pxrr@letcs#1#2{% \expandafter\let\expandafter#1\csname#2\endcsname } \def\pxrr@csletcs#1#2{% \expandafter\let\csname#1\expandafter\endcsname \csname#2\endcsname } \def\pxrr@setok#1{% #1{\pxrr@oktrue}{\pxrr@okfalse}% } \def\pxrr@appto#1#2{% \expandafter\def\expandafter#1\expandafter{#1#2}% } \def\pxrr@nil{\noexpand\pxrr@nil} \def\pxrr@end{\noexpand\pxrr@end} \def\pxrr@without@macro@trace#1{% \chardef\pxrr@tracingmacros=\tracingmacros \tracingmacros\z@ #1% \tracingmacros\pxrr@tracingmacros } \def\pxrr@hbox#1{% \hbox{% \color@begingroup #1% \color@endgroup }% } \def\pxrr@hbox@to#1#{% \pxrr@hbox@to@a{#1}% } \def\pxrr@hbox@to@a#1#2{% \hbox to#1{% \color@begingroup #2% \color@endgroup }% } \AtBeginDocument{% \ifx\color@begingroup\relax \ifx\color@endgroup\relax \let\pxrr@hbox\hbox \let\pxrr@hbox@to\hb@xt@ \let\pxrr@takeout@any@protr\pxrr@takeout@any@protr@nocolor \fi \fi } \mathchardef\pxrr@invscale@ca=259 \def\pxrr@invscale#1#2{% \begingroup \@tempdima=#1\relax \@tempdimb#2\p@\relax \@tempcnta\@tempdima \multiply\@tempcnta\@cclvi \divide\@tempcnta\@tempdimb \multiply\@tempcnta\@cclvi \@tempcntb\p@ \divide\@tempcntb\@tempdimb \advance\@tempcnta-\@tempcntb \advance\@tempcnta-\tw@ \@tempdimb\@tempcnta\@ne \advance\@tempcnta\@tempcntb \advance\@tempcnta\@tempcntb \advance\@tempcnta\pxrr@invscale@ca \@tempdimc\@tempcnta\@ne \@whiledim\@tempdimb<\@tempdimc\do{% \@tempcntb\@tempdimb \advance\@tempcntb\@tempdimc \advance\@tempcntb\@ne \divide\@tempcntb\tw@ \ifdim #2\@tempcntb>\@tempdima \advance\@tempcntb\m@ne \@tempdimc=\@tempcntb\@ne \else \@tempdimb=\@tempcntb\@ne \fi}% \xdef\pxrr@gtmpa{\the\@tempdimb}% \endgroup #1=\pxrr@gtmpa\relax } \def\pxrr@interpolate#1#2#3#4#5{% \edef\pxrr@tempa{#1}% \edef\pxrr@tempb{#2}% \def\pxrr@tempd{#3}% \setlength{\@tempdima}{#4}% \edef\pxrr@tempc{(0,0)#5(*,*)}% \expandafter\pxrr@interpolate@a\pxrr@tempc\@nil } \def\pxrr@interpolate@a(#1,#2)(#3,#4)(#5,#6){% \if*#5% \def\pxrr@tempc{\pxrr@interpolate@b{#1}{#2}{#3}{#4}}% \else\ifdim\@tempdima<#3\pxrr@tempa \def\pxrr@tempc{\pxrr@interpolate@b{#1}{#2}{#3}{#4}}% \else \def\pxrr@tempc{\pxrr@interpolate@a(#3,#4)(#5,#6)}% \fi\fi \pxrr@tempc } \def\pxrr@interpolate@b#1#2#3#4#5\@nil{% \@tempdimb=-#1\pxrr@tempa \advance\@tempdima\@tempdimb \advance\@tempdimb#3\pxrr@tempa \edef\pxrr@tempc{\strip@pt\@tempdimb}% \pxrr@invscale\@tempdima\pxrr@tempc \edef\pxrr@tempc{\strip@pt\@tempdima}% \@tempdima=#4\pxrr@tempb \@tempdimb=#2\pxrr@tempb \advance\@tempdima-\@tempdimb \@tempdima=\pxrr@tempc\@tempdima \advance\@tempdima\@tempdimb \pxrr@tempd=\@tempdima } \def\pxrr@decompose#1{% \let\pxrr@res\@empty \pxrr@cntr=\z@ \pxrr@decompose@loopa#1\pxrr@end } \def\pxrr@decompose@loopa{% \futurelet\pxrr@tempa\pxrr@decompose@loopb } \def\pxrr@decompose@loopb{% \pxrr@ifx{\pxrr@tempa\pxrr@end}{% \pxrr@appto\pxrr@res{\pxrr@post}% }{% \pxrr@setok{\pxrr@ifx{\pxrr@tempa\bgroup}}% \pxrr@decompose@loopc }% } \def\pxrr@decompose@loopc#1{% \ifx\pxrr@res\@empty \def\pxrr@res{\pxrr@pre}% \else \pxrr@appto\pxrr@res{\pxrr@inter}% \fi \ifpxrr@ok \pxrr@appto\pxrr@res{{{#1}}}% \else \pxrr@appto\pxrr@res{{#1}}% \fi \advance\pxrr@cntr\@ne \pxrr@decompose@loopa } \def\pxrr@decompbar#1{% \let\pxrr@res\@empty \pxrr@cntr=\z@ \pxrr@decompbar@loopa\pxrr@nil#1|\pxrr@end|% } \def\pxrr@decompbar@loopa#1|{% \expandafter\pxrr@decompbar@loopb\expandafter{\@gobble#1}% } \def\pxrr@decompbar@loopb#1{% \pxrr@decompbar@loopc#1\relax\pxrr@nil{#1}% } \def\pxrr@decompbar@loopc#1#2\pxrr@nil#3{% \pxrr@ifx{#1\pxrr@end}{% \pxrr@appto\pxrr@res{\pxrr@post}% }{% \ifx\pxrr@res\@empty \def\pxrr@res{\pxrr@pre}% \else \pxrr@appto\pxrr@res{\pxrr@inter}% \fi \pxrr@appto\pxrr@res{{#3}}% \advance\pxrr@cntr\@ne \pxrr@decompbar@loopa\pxrr@nil }% } \def\pxrr@zip@list#1#2{% \let\pxrr@res\@empty \let\pxrr@post\relax \let\pxrr@tempa#1\pxrr@appto\pxrr@tempa{{}}% \let\pxrr@tempb#2\pxrr@appto\pxrr@tempb{{}}% \pxrr@zip@list@loopa } \def\pxrr@zip@list@loopa{% \expandafter\pxrr@zip@list@loopb\pxrr@tempa\pxrr@end } \def\pxrr@zip@list@loopb#1#2#3\pxrr@end{% \pxrr@ifx{#1\relax}{% \pxrr@zip@list@exit }{% \pxrr@appto\pxrr@res{#1{#2}}% \def\pxrr@tempa{#3}% \expandafter\pxrr@zip@list@loopc\pxrr@tempb\pxrr@end }% } \def\pxrr@zip@list@loopc#1#2#3\pxrr@end{% \pxrr@ifx{#1\relax}{% \pxrr@interror{zip}% \pxrr@appto\pxrr@res{{}}% \pxrr@zip@list@exit }{% \pxrr@appto\pxrr@res{{#2}}% \def\pxrr@tempb{#3}% \pxrr@zip@list@loopa }% } \def\pxrr@zip@list@exit{% \pxrr@appto\pxrr@res{\pxrr@post}% } \def\pxrr@concat@list#1{% \let\pxrr@res\@empty \def\pxrr@pre##1{% \pxrr@appto\pxrr@res{##1}% }% \let\pxrr@inter\pxrr@pre \let\pxrr@post\relax #1% } \def\pxrr@zip@single#1#2{% \expandafter\pxrr@zip@single@a\expandafter#1#2\pxrr@end } \def\pxrr@zip@single@a#1{% \expandafter\pxrr@zip@single@b#1\pxrr@end } \def\pxrr@zip@single@b#1\pxrr@end#2\pxrr@end{% \def\pxrr@res{\pxrr@pre{#1}{#2}\pxrr@post}% } \def\pxrr@tzip@single#1#2#3{% \expandafter\pxrr@tzip@single@a\expandafter#1\expandafter#2#3\pxrr@end } \def\pxrr@tzip@single@a#1#2{% \expandafter\pxrr@tzip@single@b\expandafter#1#2\pxrr@end } \def\pxrr@tzip@single@b#1{% \expandafter\pxrr@tzip@single@c#1\pxrr@end } \def\pxrr@tzip@single@c#1\pxrr@end#2\pxrr@end#3\pxrr@end{% \def\pxrr@res{\pxrr@pre{#1}{#2}{#3}\pxrr@post}% } \let\pxrr@x@gtempa\@empty \newif\ifpxrr@x@swa \def\pxrr@ifprimitive#1{% \edef\pxrr@x@tempa{\string#1}% \edef\pxrr@x@tempb{\meaning#1}% \ifx\pxrr@x@tempa\pxrr@x@tempb \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi } \pxrr@ifprimitive\kansuji{% \pxrr@csletcs{ifpxrr@in@ptex}{iftrue}% }{% \pxrr@csletcs{ifpxrr@in@ptex}{iffalse}% } \pxrr@ifprimitive\enablecjktoken{% \pxrr@csletcs{ifpxrr@in@uptex}{iftrue}% }{% \pxrr@csletcs{ifpxrr@in@uptex}{iffalse}% } \pxrr@ifprimitive\XeTeXrevision{% \pxrr@csletcs{ifpxrr@in@xetex}{iftrue}% }{% \pxrr@csletcs{ifpxrr@in@xetex}{iffalse}% } \ifpxrr@in@xetex \pxrr@csletcs{ifpxrr@in@unicode}{iftrue}% \else\ifpxrr@in@uptex \pxrr@csletcs{ifpxrr@in@unicode}{iftrue}% \else \pxrr@csletcs{ifpxrr@in@unicode}{iffalse}% \fi\fi \def\pxrr@jc#1{% \pxrr@jc@a#1\pxrr@nil } \ifpxrr@in@unicode \def\pxrr@jc@a#1:#2\pxrr@nil{% "#2\space } \else\ifpxrr@in@ptex \def\pxrr@jc@a#1:#2\pxrr@nil{% \jis"#1\space\space } \else \def\pxrr@jc@a#1:#2\pxrr@nil{% `?\space } \fi\fi \ifpxrr@in@uptex \let\pxrr@jchardef\kchardef \else \let\pxrr@jchardef\chardef \fi \ifpxrr@in@ptex \pxrr@csletcs{ifpxrr@in@tate}{iftdir} \else \pxrr@csletcs{ifpxrr@in@tate}{iffalse} \fi \def\pxrr@get@jchar@token#1#2{% \begingroup \kansujichar\@ne=#2\relax \xdef\pxrr@x@gtempa{\kansuji\@ne}% \endgroup \let#1\pxrr@x@gtempa } \ifpxrr@in@unicode\else \ifpxrr@in@ptex\else \def\pxrr@get@jchar@token#1#2{% \def#1{?}% } \fi \fi \pxrr@jchardef\pxrr@x@K=\pxrr@jc{306C:4E00} \ifpxrr@in@ptex \def\pxrr@get@iiskip#1{% \pxrr@x@swafalse \begingroup \inhibitxspcode\pxrr@x@K\thr@@ \kanjiskip\p@ \setbox\z@\hbox{\noautospacing\pxrr@x@K\pxrr@x@K}% \setbox\tw@\hbox{\pxrr@x@K\pxrr@x@K}% \ifdim\wd\tw@>\wd\z@ \aftergroup\pxrr@x@swatrue \fi \endgroup \edef#1{% \ifpxrr@x@swa \the\kanjiskip \else \pxrr@zeropt \fi }% } \else \def\pxrr@get@iiskip#1{% \let#1\pxrr@zeropt } \fi \ifpxrr@in@ptex \def\pxrr@get@iaiskip#1{% \pxrr@x@swafalse \begingroup \inhibitxspcode\pxrr@x@K\thr@@ \xspcode`X=\thr@@ \xkanjiskip\p@ \setbox\z@\hbox{\noautoxspacing\pxrr@x@K X}% \setbox\tw@\hbox{\pxrr@x@K X}% \ifdim\wd\tw@>\wd\z@ \aftergroup\pxrr@x@swatrue \fi \endgroup \edef#1{% \ifpxrr@x@swa \the\xkanjiskip \else \pxrr@zeropt \fi }% } \else \def\pxrr@get@iaiskip#1{% \let#1\pxrr@zeropt } \fi \ifpxrr@in@ptex \def\pxrr@get@zwidth#1{% \@tempdima=1zw\relax \edef#1{\the\@tempdima}% } \else \def\pxrr@get@zwidth#1{% \@tempdima=1em\relax \edef#1{\the\@tempdima}% } \fi \newif\ifpxrr@in@setup \pxrr@in@setupfalse \newcommand*\rubysetup[1]{% \pxrr@in@setuptrue \pxrr@fatal@errorfalse \pxrr@parse@option{#1}% \ifpxrr@fatal@error\else \pxrr@csletcs{ifpxrr@d@bprotr}{ifpxrr@bprotr}% \pxrr@csletcs{ifpxrr@d@aprotr}{ifpxrr@aprotr}% \let\pxrr@d@bintr\pxrr@bintr@ \let\pxrr@d@aintr\pxrr@aintr@ \let\pxrr@d@athead\pxrr@athead \let\pxrr@d@mode\pxrr@mode \let\pxrr@d@side\pxrr@side \let\pxrr@d@evensp\pxrr@evensp \let\pxrr@d@fullsize\pxrr@fullsize \fi \pxrr@in@setupfalse } \newcommand*\rubyfontsetup{} \def\rubyfontsetup#{% \def\pxrr@ruby@font } \newcommand*\rubybigintrusion[1]{% \edef\pxrr@big@intr{#1}% } \newcommand*\rubysmallintrusion[1]{% \edef\pxrr@small@intr{#1}% } \newcommand*\rubymaxmargin[1]{% \edef\pxrr@maxmargin{#1}% } \newcommand*\rubyintergap[1]{% \edef\pxrr@inter@gap{#1}% } \newcommand*\rubysizeratio[1]{% \edef\pxrr@size@ratio{#1}% } \newcommand*\rubyusejghost{% \pxrr@jghosttrue } \newcommand*\rubynousejghost{% \pxrr@jghostfalse } \newcommand*\rubyuseaghost{% \pxrr@aghosttrue } \newcommand*\rubynouseaghost{% \pxrr@aghostfalse } \newcommand*\rubyadjustatlineedge{% \pxrr@edge@adjusttrue } \newcommand*\rubynoadjustatlineedge{% \pxrr@edge@adjustfalse } \newcommand*\rubybreakjukugo{% \pxrr@break@jukugotrue } \newcommand*\rubynobreakjukugo{% \pxrr@break@jukugofalse } \newcommand*\rubystretchprop[3]{% \edef\pxrr@sprop@x{#1}% \edef\pxrr@sprop@y{#2}% \edef\pxrr@sprop@z{#3}% } \newcommand*\rubystretchprophead[2]{% \edef\pxrr@sprop@hy{#1}% \edef\pxrr@sprop@hz{#2}% } \newcommand*\rubystretchpropend[2]{% \edef\pxrr@sprop@ex{#1}% \edef\pxrr@sprop@ey{#2}% } \newcommand*\rubyuseextra[1]{% \pxrr@cnta=#1\relax \ifnum\pxrr@cnta=\z@ \chardef\pxrr@extra\pxrr@cnta \else \pxrr@err@inv@value{\the\pxrr@cnta}% \fi } \let\pxrr@bintr@\@empty \let\pxrr@aintr@\@empty \def\pxrr@doublebar{||} \def\pxrr@parse@option#1{% \edef\pxrr@tempa{#1}% \ifx\pxrr@tempa\pxrr@doublebar \def\pxrr@tempa{|-|}% \fi \pxrr@csletcs{ifpxrr@bprotr}{ifpxrr@d@bprotr}% \pxrr@csletcs{ifpxrr@aprotr}{ifpxrr@d@aprotr}% \let\pxrr@bintr@\pxrr@d@bintr \let\pxrr@aintr@\pxrr@d@aintr \let\pxrr@athead@\pxrr@d@athead \let\pxrr@mode\pxrr@d@mode \let\pxrr@side\pxrr@d@side \let\pxrr@evensp\pxrr@d@evensp \let\pxrr@fullsize\pxrr@d@fullsize \let\pxrr@bscomp\relax \let\pxrr@ascomp\relax \pxrr@bnobrfalse \pxrr@anobrfalse \pxrr@bfintrfalse \pxrr@afintrfalse \def\pxrr@po@FS{bi}% \expandafter\pxrr@parse@option@loop\pxrr@tempa @\pxrr@end } \def\pxrr@parse@option@loop#1{% \ifpxrrDebug \typeout{\pxrr@po@FS/#1[\@nameuse{pxrr@po@C@#1}]}% \fi \csname pxrr@po@PR@#1\endcsname \expandafter\ifx\csname pxrr@po@C@#1\endcsname\relax \let\pxrr@po@FS\relax \else \pxrr@letcs\pxrr@po@FS {pxrr@po@TR@\pxrr@po@FS @\@nameuse{pxrr@po@C@#1}}% \fi \ifpxrrDebug \typeout{->\pxrr@po@FS}% \fi \pxrr@ifx{\pxrr@po@FS\relax}{% \pxrr@fatal@unx@letter{#1}% \pxrr@parse@option@exit }{% \pxrr@parse@option@loop }% } \def\pxrr@parse@option@exit#1\pxrr@end{% \ifpxrr@in@setup\else \ifpxrr@truby \chardef\pxrr@side\tw@ \fi \pxrr@check@option \@tempdima=\pxrr@ruby@zw\relax \@tempdimb=\pxrr@or@zero\pxrr@bintr@\@tempdima \edef\pxrr@bintr{\the\@tempdimb}% \@tempdimb=\pxrr@or@zero\pxrr@aintr@\@tempdima \edef\pxrr@aintr{\the\@tempdimb}% \fi } \def\pxrr@or@zero#1{% \ifx#1\@empty \pxrr@zero \else #1% \fi } \def\pxrr@po@C@@{F} \@namedef{pxrr@po@C@|}{V} \@namedef{pxrr@po@C@:}{S} \@namedef{pxrr@po@C@.}{S} \@namedef{pxrr@po@C@*}{S} \@namedef{pxrr@po@C@!}{S} \@namedef{pxrr@po@C@<}{B} \@namedef{pxrr@po@C@(}{B} \@namedef{pxrr@po@C@>}{A} \@namedef{pxrr@po@C@)}{A} \@namedef{pxrr@po@C@-}{M} \def\pxrr@po@C@c{M} \def\pxrr@po@C@h{M} \def\pxrr@po@C@H{M} \def\pxrr@po@C@m{M} \def\pxrr@po@C@g{M} \def\pxrr@po@C@j{M} \def\pxrr@po@C@P{M} \def\pxrr@po@C@S{M} \def\pxrr@po@C@e{M} \def\pxrr@po@C@E{M} \def\pxrr@po@C@f{M} \def\pxrr@po@C@F{M} \def\pxrr@po@PR@@{% \pxrr@parse@option@exit } \@namedef{pxrr@po@PR@|}{% \csname pxrr@po@PRbar@\pxrr@po@FS\endcsname } \def\pxrr@po@PRbar@bi{% \def\pxrr@bintr@{}\pxrr@bprotrtrue } \def\pxrr@po@PRbar@bb{% \pxrr@bprotrfalse } \def\pxrr@po@PRbar@bs{% \def\pxrr@aintr@{}\pxrr@aprotrtrue } \let\pxrr@po@PRbar@mi\pxrr@po@PRbar@bs \let\pxrr@po@PRbar@as\pxrr@po@PRbar@bs \let\pxrr@po@PRbar@ai\pxrr@po@PRbar@bs \def\pxrr@po@PRbar@ab{% \pxrr@aprotrfalse } \@namedef{pxrr@po@PR@:}{% \csname pxrr@po@PRcolon@\pxrr@po@FS\endcsname } \def\pxrr@po@PRcolon@bi{% \let\pxrr@bscomp=:\relax } \let\pxrr@po@PRcolon@bb\pxrr@po@PRcolon@bi \let\pxrr@po@PRcolon@bs\pxrr@po@PRcolon@bi \def\pxrr@po@PRcolon@mi{% \let\pxrr@ascomp=:\relax } \let\pxrr@po@PRcolon@as\pxrr@po@PRcolon@mi \@namedef{pxrr@po@PR@.}{% \csname pxrr@po@PRdot@\pxrr@po@FS\endcsname } \def\pxrr@po@PRdot@bi{% \let\pxrr@bscomp=.\relax } \let\pxrr@po@PRdot@bb\pxrr@po@PRdot@bi \let\pxrr@po@PRdot@bs\pxrr@po@PRdot@bi \def\pxrr@po@PRdot@mi{% \let\pxrr@ascomp=.\relax } \let\pxrr@po@PRdot@as\pxrr@po@PRdot@mi \@namedef{pxrr@po@PR@*}{% \csname pxrr@po@PRstar@\pxrr@po@FS\endcsname } \def\pxrr@po@PRstar@bi{% \pxrr@bnobrtrue } \let\pxrr@po@PRstar@bb\pxrr@po@PRstar@bi \let\pxrr@po@PRstar@bs\pxrr@po@PRstar@bi \def\pxrr@po@PRstar@mi{% \pxrr@anobrtrue } \let\pxrr@po@PRstar@as\pxrr@po@PRstar@mi \@namedef{pxrr@po@PR@!}{% \csname pxrr@po@PRbang@\pxrr@po@FS\endcsname } \def\pxrr@po@PRbang@bi{% \pxrr@bfintrtrue } \let\pxrr@po@PRbang@bb\pxrr@po@PRbang@bi \let\pxrr@po@PRbang@bs\pxrr@po@PRbang@bi \def\pxrr@po@PRbang@mi{% \pxrr@afintrtrue } \let\pxrr@po@PRbang@as\pxrr@po@PRbang@mi \@namedef{pxrr@po@PR@<}{% \def\pxrr@bintr@{\pxrr@big@intr}\pxrr@bprotrtrue } \@namedef{pxrr@po@PR@(}{% \def\pxrr@bintr@{\pxrr@small@intr}\pxrr@bprotrtrue } \@namedef{pxrr@po@PR@>}{% \def\pxrr@aintr@{\pxrr@big@intr}\pxrr@aprotrtrue } \@namedef{pxrr@po@PR@)}{% \def\pxrr@aintr@{\pxrr@small@intr}\pxrr@aprotrtrue } \def\pxrr@po@PR@c{% \chardef\pxrr@athead\z@ } \def\pxrr@po@PR@h{% \chardef\pxrr@athead\@ne } \def\pxrr@po@PR@H{% \chardef\pxrr@athead\tw@ } \def\pxrr@po@PR@m{% \let\pxrr@mode=m% } \def\pxrr@po@PR@g{% \let\pxrr@mode=g% } \def\pxrr@po@PR@j{% \let\pxrr@mode=j% } \def\pxrr@po@PR@P{% \chardef\pxrr@side\z@ } \def\pxrr@po@PR@S{% \chardef\pxrr@side\@ne } \def\pxrr@po@PR@E{% \chardef\pxrr@evensp\z@ } \def\pxrr@po@PR@e{% \chardef\pxrr@evensp\@ne } \def\pxrr@po@PR@F{% \chardef\pxrr@fullsize\z@ } \def\pxrr@po@PR@f{% \chardef\pxrr@fullsize\@ne } \def\pxrr@po@TR@bi@F{fi} \def\pxrr@po@TR@bb@F{fi} \def\pxrr@po@TR@bs@F{fi} \def\pxrr@po@TR@mi@F{fi} \def\pxrr@po@TR@as@F{fi} \def\pxrr@po@TR@ai@F{fi} \def\pxrr@po@TR@ab@F{fi} \def\pxrr@po@TR@fi@F{fi} \def\pxrr@po@TR@bi@V{bb} \def\pxrr@po@TR@bb@V{bs} \def\pxrr@po@TR@bs@V{ab} \def\pxrr@po@TR@mi@V{ab} \def\pxrr@po@TR@as@V{ab} \def\pxrr@po@TR@ai@V{ab} \def\pxrr@po@TR@ab@V{fi} \def\pxrr@po@TR@bi@S{bs} \def\pxrr@po@TR@bb@S{bs} \def\pxrr@po@TR@bs@S{bs} \def\pxrr@po@TR@mi@S{as} \def\pxrr@po@TR@as@S{as} \def\pxrr@po@TR@bi@B{bs} \def\pxrr@po@TR@bi@M{mi} \def\pxrr@po@TR@bb@M{mi} \def\pxrr@po@TR@bs@M{mi} \def\pxrr@po@TR@mi@M{mi} \def\pxrr@po@TR@bi@A{fi} \def\pxrr@po@TR@bb@A{fi} \def\pxrr@po@TR@bs@A{fi} \def\pxrr@po@TR@mi@A{fi} \def\pxrr@po@TR@as@A{fi} \def\pxrr@po@TR@ai@A{fi} \def\pxrr@check@option{% \ifpxrr@bprotr\else \ifpxrr@aprotr\else \pxrr@fatal@bad@no@protr \fi \fi \pxrr@oktrue \ifx\pxrr@bintr@\@empty\else \pxrr@okfalse \fi \ifx\pxrr@aintr@\@empty\else \pxrr@okfalse \fi \ifpxrr@ghost\else \pxrr@oktrue \fi \ifpxrr@ok\else \pxrr@fatal@bad@intr \fi \if g\pxrr@mode\else \ifpxrr@abody \let\pxrr@mode=g\relax \fi \ifnum\pxrr@side=\tw@ \let\pxrr@mode=g\relax \fi \if g\pxrr@mode \if g\pxrr@d@mode \pxrr@warn@must@group \fi \fi \fi \ifnum\pxrr@athead>\z@ \ifpxrr@in@tate\else \pxrr@athead\z@ \fi \if g\pxrr@mode \pxrr@athead\z@ \fi \ifnum\pxrr@athead=\z@ \ifnum\pxrr@d@athead>\z@ \pxrr@warn@bad@athead \fi \fi \fi \ifpxrr@abody \chardef\pxrr@evensp\z@ \fi \if g\pxrr@mode\else \chardef\pxrr@evensp\@ne \fi } \let\pxrr@ruby@fsize\pxrr@zeropt \let\pxrr@body@zw\pxrr@zeropt \let\pxrr@ruby@zw\pxrr@zeropt \let\pxrr@ruby@raise\pxrr@zeropt \let\pxrr@ruby@lower\pxrr@zeropt \def\pxrr@htratio{0} \let\pxrr@iiskip\pxrr@zeropt \let\pxrr@iaiskip\pxrr@zeropt \def\pxrr@assign@fsize{% \@tempdima=\f@size\p@ \@tempdima\pxrr@size@ratio\@tempdima \edef\pxrr@ruby@fsize{\the\@tempdima}% \pxrr@get@zwidth\pxrr@body@zw \begingroup \pxrr@use@ruby@font \pxrr@get@zwidth\pxrr@gtempa \global\let\pxrr@gtempa\pxrr@gtempa \endgroup \let\pxrr@ruby@zw\pxrr@gtempa \pxrr@get@iiskip\pxrr@iiskip \pxrr@get@iaiskip\pxrr@iaiskip \ifpxrr@in@tate \let\pxrr@htratio\pxrr@thtratio \else \let\pxrr@htratio\pxrr@yhtratio \fi \@tempdima\pxrr@body@zw\relax \@tempdima\pxrr@htratio\@tempdima \@tempdimb\pxrr@ruby@zw\relax \advance\@tempdimb-\pxrr@htratio\@tempdimb \advance\@tempdima\@tempdimb \@tempdimb\pxrr@body@zw\relax \advance\@tempdima\pxrr@inter@gap\@tempdimb \edef\pxrr@ruby@raise{\the\@tempdima}% \@tempdima\pxrr@body@zw\relax \advance\@tempdima-\pxrr@htratio\@tempdima \@tempdimb\pxrr@ruby@zw\relax \@tempdimb\pxrr@htratio\@tempdimb \advance\@tempdima\@tempdimb \@tempdimb\pxrr@body@zw\relax \advance\@tempdima\pxrr@inter@gap\@tempdimb \edef\pxrr@ruby@lower{\the\@tempdima}% } \def\pxrr@use@ruby@font{% \pxrr@without@macro@trace{% \let\rubyfontsize\pxrr@ruby@fsize \fontsize{\pxrr@ruby@fsize}{\z@}\selectfont \pxrr@ruby@font }% } \chardef\pxrr@locate@inner=1 \chardef\pxrr@locate@head=0 \chardef\pxrr@locate@end=2 \def\pxrr@evenspace#1#2#3#4#5{% \setbox#2\pxrr@hbox{#5}\@tempdima\wd#2% \edef\pxrr@natwd{\the\@tempdima}% \pxrr@decompose{#5}% \pxrr@evenspace@int{#1}{#2}{#3}{#4}% } \def\pxrr@evenspace@int#1#2#3#4{% \pxrr@save@listproc \ifcase#1% \pxrr@evenspace@param\pxrr@zero\pxrr@sprop@hy\pxrr@sprop@hz \or \pxrr@evenspace@param\pxrr@sprop@x\pxrr@sprop@y\pxrr@sprop@z \or \pxrr@evenspace@param\pxrr@sprop@ex\pxrr@sprop@ey\pxrr@zero \fi \pxrr@dima=\pxrr@cntr\p@ \advance\pxrr@dima-\p@ \pxrr@dima=\pxrr@sprop@y@\pxrr@dima \advance\pxrr@dima\pxrr@sprop@x@\p@ \advance\pxrr@dima\pxrr@sprop@z@\p@ \ifdim\pxrr@dima>\z@\else \ifnum#1>\z@ \let\pxrr@sprop@x@\@ne \advance\pxrr@dima\p@ \fi \ifnum#1<\tw@ \let\pxrr@sprop@z@\@ne \advance\pxrr@dima\p@ \fi \fi \edef\pxrr@tempa{\strip@pt\pxrr@dima}% \ifpxrrDebug \typeout{\number\pxrr@sprop@x@:\number\pxrr@sprop@z@:\pxrr@tempa}% \fi \def\pxrr@pre##1{\pxrr@hfilx\pxrr@sprop@x@ ##1}% \def\pxrr@inter##1{\pxrr@hfilx\pxrr@sprop@y@ ##1}% \def\pxrr@post{\pxrr@hfilx\pxrr@sprop@z@}% \def\pxrr@makebox@res{% \setbox#2=\pxrr@hbox@to#4{#3\pxrr@res}% }% \pxrr@makebox@res \pxrr@dima\wd#2% \advance\pxrr@dima-\pxrr@natwd\relax \pxrr@invscale\pxrr@dima\pxrr@tempa \@tempdima\pxrr@sprop@x@\pxrr@dima \edef\pxrr@bspace{\the\@tempdima}% \@tempdima\pxrr@sprop@z@\pxrr@dima \edef\pxrr@aspace{\the\@tempdima}% \pxrr@restore@listproc \ifpxrrDebug \typeout{\pxrr@bspace:\pxrr@aspace}% \fi } \def\pxrr@evenspace@param#1#2#3{% \let\pxrr@sprop@x@#1% \let\pxrr@sprop@y@#2% \let\pxrr@sprop@z@#3% } \def\pxrr@adjust@margin{% \pxrr@save@listproc \@tempdima\pxrr@body@zw\relax \@tempdima\pxrr@maxmargin\@tempdima \@tempswafalse \def\pxrr@pre##1{\pxrr@hfilx\pxrr@sprop@x@ ##1}% \def\pxrr@inter##1{\pxrr@hfilx\pxrr@sprop@y@ ##1}% \def\pxrr@post{\pxrr@hfilx\pxrr@sprop@z@}% \ifnum\pxrr@cntr>\@ne \ifdim\pxrr@bspace>\@tempdima \edef\pxrr@bspace{\the\@tempdima}% \def\pxrr@pre##1{\hskip\pxrr@bspace\relax ##1}% \@tempswatrue \fi \ifdim\pxrr@aspace>\@tempdima \edef\pxrr@aspace{\the\@tempdima}% \def\pxrr@post{\hskip\pxrr@aspace\relax}% \@tempswatrue \fi \fi \if@tempswa \pxrr@makebox@res \fi \pxrr@restore@listproc \ifpxrrDebug \typeout{\pxrr@bspace:\pxrr@aspace}% \fi } \def\pxrr@save@listproc{% \let\pxrr@pre@save\pxrr@pre \let\pxrr@inter@save\pxrr@inter \let\pxrr@post@save\pxrr@post } \def\pxrr@restore@listproc{% \let\pxrr@pre\pxrr@pre@save \let\pxrr@inter\pxrr@inter@save \let\pxrr@post\pxrr@post@save } \let\pxrr@trans@res\@empty \def\pxrr@transform@kana#1{% \let\pxrr@trans@res\@empty \def\pxrr@transform@kana@end\pxrr@end{% \let#1\pxrr@trans@res }% \expandafter\pxrr@transform@kana@loop@a#1\pxrr@end } \def\pxrr@transform@kana@loop@a{% \futurelet\pxrr@tempa\pxrr@transform@kana@loop@b } \def\pxrr@transform@kana@loop@b{% \ifx\pxrr@tempa\pxrr@end \let\pxrr@tempb\pxrr@transform@kana@end \else\ifx\pxrr@tempa\bgroup \let\pxrr@tempb\pxrr@transform@kana@loop@c \else\ifx\pxrr@tempa\@sptoken \let\pxrr@tempb\pxrr@transform@kana@loop@d \else \let\pxrr@tempb\pxrr@transform@kana@loop@e \fi\fi\fi \pxrr@tempb } \def\pxrr@transform@kana@loop@c#1{% \pxrr@appto\pxrr@trans@res{{#1}}% \pxrr@transform@kana@loop@a } \expandafter\def\expandafter\pxrr@transform@kana@loop@d\space{% \pxrr@appto\pxrr@trans@res{ }% \pxrr@transform@kana@loop@a } \def\pxrr@transform@kana@loop@e#1{% \expandafter\pxrr@transform@kana@loop@f\string#1\pxrr@nil#1% } \def\pxrr@transform@kana@loop@f#1#2\pxrr@nil#3{% \@tempswafalse \ifnum`#1>\@cclv \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname pxrr@nonsmall/#3\endcsname\relax\else \@tempswatrue \fi \fi \if@tempswa \edef\pxrr@tempa{% \noexpand\pxrr@appto\noexpand\pxrr@trans@res {\csname pxrr@nonsmall/#3\endcsname}% }% \pxrr@tempa \else \pxrr@appto\pxrr@trans@res{#3}% \fi \pxrr@transform@kana@loop@a } \def\pxrr@assign@nonsmall#1/#2\pxrr@nil{% \pxrr@get@jchar@token\pxrr@tempa{\pxrr@jc{#1}}% \pxrr@get@jchar@token\pxrr@tempb{\pxrr@jc{#2}}% \expandafter\edef\csname pxrr@nonsmall/\pxrr@tempa\endcsname {\pxrr@tempb}% } \@tfor\pxrr@tempc:=% {2421:3041/2422:3042}{2423:3043/2424:3044}% {2425:3045/2426:3046}{2427:3047/2428:3048}% {2429:3049/242A:304A}{2443:3063/2444:3064}% {2463:3083/2464:3084}{2465:3085/2466:3086}% {2467:3087/2468:3088}{246E:308E/246F:308F}% {2521:30A1/2522:30A2}{2523:30A3/2524:30A4}% {2525:30A5/2526:30A6}{2527:30A7/2528:30A8}% {2529:30A9/252A:30AA}{2543:30C3/2544:30C4}% {2563:30E3/2564:30E4}{2565:30E5/2566:30E6}% {2567:30E7/2568:30E8}{256E:30EE/256F:30EF}% \do{% \expandafter\pxrr@assign@nonsmall\pxrr@tempc\pxrr@nil } \newif\ifpxrr@protr \newif\ifpxrr@any@protr \def\pxrr@epsilon{0.01pt} \def\pxrr@compose@block{% \let\pxrr@compose@block@do\pxrr@compose@oneside@block@do \pxrr@compose@block@pre } \def\pxrr@compose@oneside@block@do#1#2#3{% \setbox\pxrr@boxa\pxrr@hbox{#2}% \setbox\pxrr@boxr\pxrr@hbox{% \pxrr@use@ruby@font #3% }% \@tempdima\wd\pxrr@boxr \advance\@tempdima-\wd\pxrr@boxa \ifdim\pxrr@epsilon<\@tempdima \pxrr@protrtrue \let\pxrr@locate@temp#1% \ifnum\pxrr@athead>\@ne \ifnum\pxrr@locate@temp=\pxrr@locate@inner \let\pxrr@locate@temp\pxrr@locate@head \fi \fi \pxrr@decompose{#2}% \edef\pxrr@natwd{\the\wd\pxrr@boxa}% \pxrr@evenspace@int\pxrr@locate@temp\pxrr@boxa\relax {\wd\pxrr@boxr}% \else\ifdim-\pxrr@epsilon>\@tempdima \pxrr@protrfalse \ifnum\pxrr@athead=\z@ \pxrr@decompose{#3}% \edef\pxrr@natwd{\the\wd\pxrr@boxr}% \pxrr@evenspace@int{#1}\pxrr@boxr \pxrr@use@ruby@font{\wd\pxrr@boxa}% \pxrr@adjust@margin \fi \let\pxrr@bspace\pxrr@zeropt \let\pxrr@aspace\pxrr@zeropt \else \pxrr@protrfalse \let\pxrr@bspace\pxrr@zeropt \let\pxrr@aspace\pxrr@zeropt \fi\fi \setbox\z@\hbox{% \ifnum\pxrr@side=\z@ \raise\pxrr@ruby@raise\box\pxrr@boxr \else \lower\pxrr@ruby@lower\box\pxrr@boxr \fi }% \ht\z@\z@ \dp\z@\z@ \@tempdima\wd\z@ \setbox\pxrr@boxr\hbox{% \box\z@ \kern-\@tempdima \box\pxrr@boxa }% \ifpxrr@protr \pxrr@any@protrtrue \fi } \def\pxrr@compose@twoside@block{% \let\pxrr@compose@block@do\pxrr@compose@twoside@block@do \pxrr@compose@block@pre } \def\pxrr@compose@twoside@block@do#1#2#3#4{% \setbox\pxrr@boxa\pxrr@hbox{#2}% \setbox\pxrr@boxr\pxrr@hbox{% \pxrr@use@ruby@font #3% }% \setbox\pxrr@boxb\pxrr@hbox{% \pxrr@use@ruby@font #4% }% \@tempdima\wd\pxrr@boxa \ifdim\@tempdima<\wd\pxrr@boxr \@tempdima\wd\pxrr@boxr \fi \ifdim\@tempdima<\wd\pxrr@boxb \@tempdima\wd\pxrr@boxb \fi \edef\pxrr@maxwd{\the\@tempdima}% \advance\@tempdima-\pxrr@epsilon\relax \edef\pxrr@maxwdx{\the\@tempdima}% \ifdim\pxrr@maxwdx>\wd\pxrr@boxr \pxrr@decompose{#3}% \edef\pxrr@natwd{\the\wd\pxrr@boxr}% \pxrr@evenspace@int{#1}\pxrr@boxr \pxrr@use@ruby@font{\pxrr@maxwd}% \pxrr@adjust@margin \fi \ifdim\pxrr@maxwdx>\wd\pxrr@boxb \pxrr@decompose{#4}% \edef\pxrr@natwd{\the\wd\pxrr@boxb}% \pxrr@evenspace@int{#1}\pxrr@boxb \pxrr@use@ruby@font{\pxrr@maxwd}% \pxrr@adjust@margin \fi \ifdim\pxrr@maxwdx>\wd\pxrr@boxa \pxrr@decompose{#2}% \edef\pxrr@natwd{\the\wd\pxrr@boxa}% \pxrr@evenspace@int{#1}\pxrr@boxa\relax{\pxrr@maxwd}% \else \let\pxrr@bspace\pxrr@zeropt \let\pxrr@aspace\pxrr@zeropt \fi \setbox\z@\hbox{% \@tempdima\wd\pxrr@boxr \raise\pxrr@ruby@raise\box\pxrr@boxr \kern-\@tempdima \lower\pxrr@ruby@lower\box\pxrr@boxb }% \ht\z@\z@ \dp\z@\z@ \@tempdima\wd\z@ \setbox\pxrr@boxr\hbox{% \box\z@ \kern-\@tempdima \box\pxrr@boxa }% } \def\pxrr@compose@block@pre{% \pxrr@ifnum{\pxrr@fullsize>\z@}{% \pxrr@compose@block@pre@a }{% \pxrr@compose@block@pre@c }% } \def\pxrr@compose@block@pre@a#1#2#3{% \def\pxrr@compose@block@tempa{#3}% \pxrr@transform@kana\pxrr@compose@block@tempa \expandafter\pxrr@compose@block@pre@b \expandafter{\pxrr@compose@block@tempa}{#1}{#2}% } \def\pxrr@compose@block@pre@b#1#2#3{% \pxrr@compose@block@pre@c{#2}{#3}{#1}% } \def\pxrr@compose@block@pre@c{% \pxrr@ifnum{\pxrr@evensp=\z@}{% \pxrr@compose@block@pre@d }{% \pxrr@compose@block@do }% } \def\pxrr@compose@block@pre@d#1#2{% \pxrr@compose@block@do{#1}{{#2}}% } \def\pxrr@add@protect#1{% \expandafter\pxrr@add@protect@a \csname\expandafter\@gobble\string#1\space\endcsname#1% } \def\pxrr@add@protect@a#1#2{% \let#1=#2% \def#2{\pxrr@check@protect\protect#1}% } \def\pxrr@check@protect{% \ifx\protect\@typeset@protect \expandafter\@gobble \fi } \let\pxrr@body@input\@empty \def\pxrr@prepare@fallback#1{% \pxrr@fatal@errorfalse \def\pxrr@body@input{#1}% } \def\pxrr@fallback{% \pxrr@body@input } \def\pxrr@if@alive{% \ifpxrr@fatal@error \expandafter\@gobble \else \expandafter\@firstofone \fi } \def\pxrr@end@kinsoku{0} \def\pxrr@ruby@scan#1#2{% \def\pxrr@tempc{% \edef\pxrr@end@kinsoku{\the\pxrr@cntr}% \pxrr@do@proc{#1}{#2}% }% \pxrr@check@kinsoku\pxrr@tempc } \def\pxrr@truby@scan#1#2#3{% \def\pxrr@tempc{% \edef\pxrr@end@kinsoku{\the\pxrr@cntr}% \pxrr@do@proc{#1}{#2}{#3}% }% \pxrr@check@kinsoku\pxrr@tempc } \def\pxrr@check@kinsoku#1{% \let\pxrr@tempb#1% \futurelet\pxrr@tempa\pxrr@check@kinsoku@a } \def\pxrr@check@kinsoku@a{% \pxrr@check@char\pxrr@tempa \ifpxrr@abody\else \ifnum\pxrr@cntr=\@ne \pxrr@cntr\tw@ \fi \fi \ifcase\pxrr@cntr \pxrr@cntr\z@ \expandafter\pxrr@tempb \or \pxrr@cntr\@MM \expandafter\pxrr@tempb \else \expandafter\pxrr@check@kinsoku@b \fi } \def\pxrr@check@kinsoku@b#1{% \pxrr@check@kinsoku@c#1#1% } \def\pxrr@check@kinsoku@c#1{% \pxrr@cntr\prebreakpenalty`#1\relax \pxrr@tempb } \def\pxrr@tempa#1#2\pxrr@nil{% \def\pxrr@check@char##1{% \ifcat\noexpand##1\relax \pxrr@cntr\z@ \else\ifcat\noexpand##1\noexpand~% \pxrr@cntr\z@ \else\ifcat\noexpand##1A% \pxrr@cntr\@ne \else\ifcat\noexpand##10% \pxrr@cntr\@ne \else \pxrr@cntr\z@ \expandafter\pxrr@check@char@a\meaning##1#2\pxrr@nil \fi\fi\fi\fi }% \def\pxrr@check@char@a##1#2##2\pxrr@nil{% \ifcat @##1@% \pxrr@cntr\tw@ \fi }% } \expandafter\pxrr@tempa\string\kanji\pxrr@nil \let\pxrr@auto@penalty\z@ \let\pxrr@auto@icspace\pxrr@zeropt \let\pxrr@intr@amount\pxrr@zeropt \def\pxrr@intrude@setauto@j{% \ifpxrr@bnobr \let\pxrr@auto@penalty\@MM \let\pxrr@auto@icspace\pxrr@zeropt \else \let\pxrr@auto@penalty\z@ \if :\pxrr@bscomp \let\pxrr@auto@icspace\pxrr@iaiskip \else\if .\pxrr@bscomp \let\pxrr@auto@icspace\pxrr@zeropt \else \let\pxrr@auto@icspace\pxrr@iiskip \fi\fi \fi } \def\pxrr@intrude@setauto@a{% \if :\pxrr@bscomp\else \pxrr@bnobrtrue \fi \ifpxrr@bnobr \let\pxrr@auto@penalty\@MM \let\pxrr@auto@icspace\pxrr@zeropt \else \let\pxrr@auto@penalty\z@ \let\pxrr@auto@icspace\pxrr@iaiskip \fi } \def\pxrr@intrude@head{% \ifpxrr@ghost\else \let\pxrr@intr@amount\pxrr@bspace \ifdim\pxrr@bintr<\pxrr@intr@amount\relax \let\pxrr@intr@amount\pxrr@bintr \fi \ifpxrr@abody \pxrr@intrude@setauto@a \else \pxrr@intrude@setauto@j \fi \ifpxrr@par@head \ifpxrr@bfintr \hskip-\pxrr@intr@amount\relax \fi \else \penalty\pxrr@auto@penalty\relax \hskip-\pxrr@intr@amount\relax \hskip\pxrr@auto@icspace\relax \fi \fi } \def\pxrr@intrude@end{% \ifpxrr@ghost\else \let\pxrr@intr@amount\pxrr@aspace \ifdim\pxrr@aintr<\pxrr@intr@amount\relax \let\pxrr@intr@amount\pxrr@aintr \fi \pxrr@csletcs{ifpxrr@bnobr}{ifpxrr@anobr}% \let\pxrr@bscomp\pxrr@ascomp \ifpxrr@abody \pxrr@intrude@setauto@a \else \pxrr@intrude@setauto@j \fi \ifnum\pxrr@auto@penalty=\z@ \let\pxrr@auto@penalty\pxrr@end@kinsoku \fi \ifpxrr@afintr \ifnum\pxrr@auto@penalty=\z@\else \penalty\pxrr@auto@penalty\relax \fi \kern-\pxrr@intr@amount\relax \hskip\pxrr@auto@icspace\relax \ifnum\pxrr@auto@penalty=\z@\else \penalty\@MM \fi \else \@tempskipa-\pxrr@intr@amount\relax \advance\@tempskipa\pxrr@auto@icspace\relax \ifnum\pxrr@auto@penalty=\z@\else \penalty\pxrr@auto@penalty\relax \fi \hskip\@tempskipa \ifnum\pxrr@auto@penalty=\z@\else \penalty\@MM \fi \fi \fi } \AtBeginDocument{% \providecommand*{\ruby}{\jruby}% } \newcommand*{\jruby}{% \pxrr@jprologue \pxrr@trubyfalse \pxrr@ruby } \pxrr@add@protect\jruby \newcommand*{\aruby}{% \pxrr@aprologue \pxrr@trubyfalse \pxrr@ruby } \pxrr@add@protect\aruby \newcommand*{\truby}{% \pxrr@jprologue \pxrr@trubytrue \pxrr@ruby } \pxrr@add@protect\truby \newcommand*{\atruby}{% \pxrr@aprologue \pxrr@trubytrue \pxrr@ruby } \pxrr@add@protect\atruby \newif\ifpxrr@truby \let\pxrr@option\@empty \let\pxrr@exoption\@empty \let\pxrr@do@proc\@empty \let\pxrr@do@scan\@empty \def\pxrr@ruby{% \@testopt\pxrr@ruby@a{}% } \def\pxrr@ruby@a[#1]{% \def\pxrr@option{#1}% \@testopt\pxrr@ruby@b{}% } \def\pxrr@ruby@b[#1]{% \def\pxrr@exoption{#1}% \ifpxrr@truby \let\pxrr@do@proc\pxrr@truby@proc \let\pxrr@do@scan\pxrr@truby@scan \else \let\pxrr@do@proc\pxrr@ruby@proc \let\pxrr@do@scan\pxrr@ruby@scan \fi \pxrr@ruby@c } \def\pxrr@ruby@c{% \ifpxrr@ghost \expandafter\pxrr@do@proc \else \expandafter\pxrr@do@scan \fi } \def\pxrr@ruby@proc#1#2{% \pxrr@prepare@fallback{#1}% \pxrr@assign@fsize \pxrr@parse@option\pxrr@option \pxrr@decompbar{#2}% \let\pxrr@ruby@list\pxrr@res \edef\pxrr@ruby@count{\the\pxrr@cntr}% \pxrr@decompbar{#1}% \let\pxrr@body@list\pxrr@res \edef\pxrr@body@count{\the\pxrr@cntr}% \ifpxrrDebug \pxrr@debug@show@input \fi \pxrr@if@alive{% \if g\pxrr@mode \pxrr@ruby@check@g \pxrr@if@alive{% \ifnum\pxrr@body@count>\@ne \pxrr@ruby@main@mg \else \pxrr@ruby@main@g \fi }% \else \pxrr@ruby@check@m \pxrr@if@alive{\pxrr@ruby@main@m}% \fi }% \pxrr@ruby@exit } \def\pxrr@truby@proc#1#2#3{% \pxrr@prepare@fallback{#1}% \pxrr@assign@fsize \pxrr@parse@option\pxrr@option \def\pxrr@all@input{{#1}{#2}{#3}}% \ifpxrrDebug \pxrr@debug@show@input \fi \pxrr@if@alive{% \pxrr@ruby@check@tg \pxrr@if@alive{\pxrr@ruby@main@tg}% }% \pxrr@ruby@exit } \def\pxrr@ruby@check@g{% \ifnum\pxrr@body@count=\pxrr@ruby@count\relax \ifnum\pxrr@body@count=\@ne\else \ifpxrr@abody \pxrr@fatal@bad@movable \else\ifnum\pxrr@extra=\z@ \pxrr@fatal@na@movable \fi\fi \fi \else \pxrr@fatal@bad@length\pxrr@body@count\pxrr@ruby@count \fi } \def\pxrr@ruby@check@m{% \ifnum\pxrr@body@count=\@ne \let\pxrr@pre\pxrr@decompose \let\pxrr@post\relax \pxrr@body@list \let\pxrr@body@list\pxrr@res \edef\pxrr@body@count{\the\pxrr@cntr}% \ifnum\pxrr@body@count=\pxrr@ruby@count\relax\else \pxrr@fatal@bad@length\pxrr@body@count\pxrr@ruby@count \fi \else \pxrr@fatal@bad@mono \fi } \def\pxrr@ruby@check@tg{% } \newif\ifpxrr@par@head \def\pxrr@check@par@head{% \ifvmode \pxrr@par@headtrue \else \pxrr@par@headfalse \fi } \def\pxrr@if@last#1#2#3{% \ifx#3\pxrr@post #1% \else #2% \fi #3% } \def\pxrr@inter@mono{% \hskip\pxrr@iiskip\relax } \def\pxrr@takeout@any@protr@nocolor{% \ifpxrr@any@protr \aftergroup\pxrr@any@protrtrue \fi } \def\pxrr@takeout@any@protr{% \ifpxrr@any@protr \aftergroup\pxrr@takeout@any@protr@a \fi } \def\pxrr@takeout@any@protr@a{% \aftergroup\pxrr@any@protrtrue } \def\pxrr@ruby@main@m{% \pxrr@zip@list\pxrr@body@list\pxrr@ruby@list \let\pxrr@whole@list\pxrr@res \pxrr@check@par@head \pxrr@any@protrfalse \ifpxrrDebug \pxrr@debug@show@recomp \fi \let\pxrr@locate@head@\pxrr@locate@inner \let\pxrr@locate@end@\pxrr@locate@inner \let\pxrr@locate@sing@\pxrr@locate@inner \ifpxrr@aprotr\else \let\pxrr@locate@end@\pxrr@locate@end \let\pxrr@locate@sing@\pxrr@locate@end \fi \ifpxrr@bprotr\else \let\pxrr@locate@head@\pxrr@locate@head \let\pxrr@locate@sing@\pxrr@locate@head \fi \def\pxrr@pre##1##2{% \pxrr@if@last{% \pxrr@compose@block\pxrr@locate@sing@{##1}{##2}% \pxrr@intrude@head \unhbox\pxrr@boxr \pxrr@intrude@end \pxrr@takeout@any@protr }{% \pxrr@compose@block\pxrr@locate@head@{##1}{##2}% \pxrr@intrude@head \unhbox\pxrr@boxr }% }% \def\pxrr@inter##1##2{% \pxrr@if@last{% \pxrr@compose@block\pxrr@locate@end@{##1}{##2}% \pxrr@inter@mono \unhbox\pxrr@boxr \pxrr@intrude@end \pxrr@takeout@any@protr }{% \pxrr@compose@block\pxrr@locate@inner{##1}{##2}% \pxrr@inter@mono \unhbox\pxrr@boxr }% }% \let\pxrr@post\@empty \setbox\pxrr@boxr\pxrr@hbox{\pxrr@whole@list}% \if j\pxrr@mode \ifpxrr@any@protr \pxrr@ruby@redo@j \fi \fi \unhbox\pxrr@boxr } \def\pxrr@ruby@redo@j{% \pxrr@concat@list\pxrr@body@list \let\pxrr@body@list\pxrr@res \pxrr@concat@list\pxrr@ruby@list \let\pxrr@ruby@list\pxrr@res \pxrr@zip@single\pxrr@body@list\pxrr@ruby@list \let\pxrr@whole@list\pxrr@res \ifpxrrDebug \pxrr@debug@show@concat \fi \let\pxrr@locate@sing@\pxrr@locate@inner \ifpxrr@aprotr\else \let\pxrr@locate@sing@\pxrr@locate@end \fi \ifpxrr@bprotr\else \let\pxrr@locate@sing@\pxrr@locate@head \fi \def\pxrr@pre##1##2{% \pxrr@compose@block\pxrr@locate@sing@{##1}{##2}% \pxrr@intrude@head \unhbox\pxrr@boxr \pxrr@intrude@end }% \let\pxrr@inter\@undefined \let\pxrr@post\@empty \setbox\pxrr@boxr\pxrr@hbox{\pxrr@whole@list}% } \def\pxrr@ruby@main@g{% \pxrr@zip@list\pxrr@body@list\pxrr@ruby@list \let\pxrr@whole@list\pxrr@res \pxrr@check@par@head \ifpxrrDebug \pxrr@debug@show@recomp \fi \let\pxrr@locate@sing@\pxrr@locate@inner \ifpxrr@aprotr\else \let\pxrr@locate@sing@\pxrr@locate@end \fi \ifpxrr@bprotr\else \let\pxrr@locate@sing@\pxrr@locate@head \fi \def\pxrr@pre##1##2{% \pxrr@compose@block\pxrr@locate@sing@{##1}{##2}% \pxrr@intrude@head \unhbox\pxrr@boxr \pxrr@intrude@end }% \let\pxrr@inter\@undefined \let\pxrr@post\@empty \pxrr@whole@list } \def\pxrr@ruby@main@tg{% \pxrr@check@par@head \let\pxrr@locate@sing@\pxrr@locate@inner \ifpxrr@aprotr\else \let\pxrr@locate@sing@\pxrr@locate@end \fi \ifpxrr@bprotr\else \let\pxrr@locate@sing@\pxrr@locate@head \fi \expandafter\pxrr@compose@twoside@block\expandafter\pxrr@locate@sing@ \pxrr@all@input \pxrr@intrude@head \unhbox\pxrr@boxr \pxrr@intrude@end } \newif\ifpxrr@ghost \pxrr@jchardef\pxrr@zspace=\pxrr@jc{2121:3000} \def\pxrr@jprologue{% \ifpxrr@jghost \pxrr@zspace \fi \begingroup \pxrr@abodyfalse \pxrr@csletcs{ifpxrr@ghost}{ifpxrr@jghost}% \ifpxrr@jghost \setbox\pxrr@boxa\hbox{\pxrr@zspace}% \kern-\wd\pxrr@boxa \fi } \ifpxrr@aghost \IfFileExists{t1lmr.fd}{% \begingroup \fontsize{2.5}{0}\usefont{T1}{lmr}{m}{n} \endgroup \pxrr@letcs\pxrr@aghostfont{T1/lmr/m/n/2.5}% \chardef\pxrr@aghostchar=23 % compwordmark \def\pxrr@aghost{{\pxrr@aghostfont\pxrr@aghostchar}}% \xspcode\pxrr@aghostchar=3 % }{%else \oxrr@warn{Ghost embedding for \string\aruby\space is disabled,\MessageBreak since package lmodern is missing}% \pxrr@aghostfalse \let\pxrr@aghosttrue\relax }% \fi \def\pxrr@aprologue{% \ifpxrr@aghost \pxrr@aghost \fi \begingroup \pxrr@abodytrue \pxrr@csletcs{ifpxrr@ghost}{ifpxrr@aghost}% } \def\pxrr@ruby@exit{% \ifpxrr@fatal@error \pxrr@fallback \fi \ifpxrr@abody \expandafter\pxrr@aepilogue \else \expandafter\pxrr@jepilogue \fi } \def\pxrr@jepilogue{% \ifpxrr@jghost \setbox\pxrr@boxa\hbox{\pxrr@zspace}% \kern-\wd\pxrr@boxa \fi \endgroup \ifpxrr@jghost \pxrr@zspace \fi } \def\pxrr@aepilogue{% \endgroup \ifpxrr@aghost \pxrr@aghost \fi } \def\pxrr@debug@show@input{% \typeout{----\pxrr@pkgname\space input:^^J% ifpxrr@abody = \meaning\ifpxrr@abody^^J% ifpxrr@truby = \meaning\ifpxrr@truby^^J% pxrr@ruby@fsize = \pxrr@ruby@fsize^^J% pxrr@body@zw = \pxrr@body@zw^^J% pxrr@ruby@zw = \pxrr@ruby@zw^^J% pxrr@iiskip = \pxrr@iiskip^^J% pxrr@iaiskip = \pxrr@iaiskip^^J% pxrr@htratio = \pxrr@htratio^^J% pxrr@ruby@raise = \pxrr@ruby@raise^^J% pxrr@ruby@lower = \pxrr@ruby@lower^^J% ifpxrr@bprotr = \meaning\ifpxrr@bprotr^^J% ifpxrr@aprotr = \meaning\ifpxrr@aprotr^^J% pxrr@side = \the\pxrr@side^^J% pxrr@evensp = \the\pxrr@evensp^^J% pxrr@fullsize = \the\pxrr@fullsize^^J% pxrr@bscomp = \meaning\pxrr@bscomp^^J% pxrr@ascomp = \meaning\pxrr@ascomp^^J% ifpxrr@bnobr = \meaning\ifpxrr@bnobr^^J% ifpxrr@anobr = \meaning\ifpxrr@anobr^^J% ifpxrr@bfintr = \meaning\ifpxrr@bfintr^^J% ifpxrr@afintr = \meaning\ifpxrr@afintr^^J% pxrr@bintr = \pxrr@bintr^^J% pxrr@aintr = \pxrr@aintr^^J% pxrr@athead = \the\pxrr@athead^^J% pxrr@mode = \meaning\pxrr@mode^^J% pxrr@body@list = \meaning\pxrr@body@list^^J% pxrr@body@count = \@nameuse{pxrr@body@count}^^J% pxrr@ruby@list = \meaning\pxrr@ruby@list^^J% pxrr@ruby@count = \@nameuse{pxrr@ruby@count}^^J% pxrr@end@kinsoku = \pxrr@end@kinsoku^^J% ---- }% } \def\pxrr@debug@show@recomp{% \typeout{----\pxrr@pkgname\space recomp:^^J% pxrr@body@list = \meaning\pxrr@body@list^^J% pxrr@body@count = \pxrr@body@count^^J% pxrr@ruby@list = \meaning\pxrr@ruby@list^^J% pxrr@ruby@count = \pxrr@ruby@count^^J% pxrr@res = \meaning\pxrr@res^^J% ---- }% } \def\pxrr@debug@show@concat{% \typeout{----\pxrr@pkgname\space concat:^^J% pxrr@body@list = \meaning\pxrr@body@list^^J% pxrr@ruby@list = \meaning\pxrr@ruby@list^^J% pxrr@whole@list = \meaning\pxrr@whole@list^^J% ---- }% } \endinput %% %% End of file `pxrubrica.sty'.