%%
%% 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'.
