\def\p@array<#1>[#2]#3{%
\let\box@dir\relax
\if #1z\relax
- \ifnum\ltjgetparameter{direction}=3\relax
+ \ifnum\count@=3\relax
\let\box@dir\utod\@tempcnta=\zstrutbox
\fi
\else
\color@endgroup
\egroup
\expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}\egroup}
-\def\parbox{\@ifnextchar<%>
+\DeclareRobustCommand\parbox{\@ifnextchar<%>
{\X@parbox}{\X@parbox<Z>}}
\def\X@parbox<#1>{\@ifnextchar[%]
{\@iparbox<#1>}{\@iiiparbox<#1>{c}\relax[s]}}
\def\@iiparbox<#1>#2[#3]{\@ifnextchar[%]%
{\@iiiparbox<#1>{#2}{#3}}{\@iiiparbox<#1>{#2}{#3}[#2]}}
\long\def\@iiiparbox<#1>#2#3[#4]#5#6{%
- \leavevmode\bgroup
+ \leavevmode
\setlength\@tempdima{#5}%
\fork@parbox@option<#1>[#2]%
\@begin@tempboxa\vbox{\box@dir
\hsize\@tempdima\@parboxrestore\adjustbaseline#6\@@par}%
- \ifx\relax#3\relax\else
+ \ifx\relax#3\else
\setlength\@tempdimb{#3}%
\edef\@parboxto{to\the\@tempdimb}%
\fi
\@begin@parbox\@parboxto{\box@dir\adjustbaseline
\let\hss\vss\let\unhbox\unvbox
\csname bm@#4\endcsname}\@end@parbox
- \@end@tempboxa\egroup}
+ \@end@tempboxa}
\def\fork@parbox@option<#1>[#2]{%
\let\box@dir\relax
\if #1z\relax
\let\@begin@parbox\vbox
\let\@end@parbox\relax
\else
- \def\@begin@parbox{$\vcenter}%
- \def\@end@parbox{\m@th$}%
+ \ifmmode
+ \let\@begin@parbox\vcenter\let\@end@parbox\relax
+ \else
+ \def\@begin@parbox{\null$\vcenter}%
+ \def\@end@parbox{\m@th$\null}%
+ \fi
\fi\fi
\else
\if #2t\relax
\let\@begin@parbox\vbox
\let\@end@parbox\relax
\else
- \def\@begin@parbox{$\vcenter}%
- \def\@end@parbox{\m@th$}%
+ \ifmmode
+ \let\@begin@parbox\vcenter\let\@end@parbox\relax
+ \else
+ \def\@begin@parbox{\null$\vcenter}%
+ \def\@end@parbox{\m@th$\null}%
+ \fi
\fi\fi
\fi
\else\ifnum\ltjgetparameter{direction}=1 % dtou
\let\@begin@parbox\vbox
\let\@end@parbox\relax
\else
- \def\@begin@parbox{$\vcenter}%
- \def\@end@parbox{\m@th$}%
+ \ifmmode
+ \let\@begin@parbox\vcenter\let\@end@parbox\relax
+ \else
+ \def\@begin@parbox{\null$\vcenter}%
+ \def\@end@parbox{\m@th$\null}%
+ \fi
\fi\fi
\else\ifx\box@dir\dtou
\if #2t\relax
\let\@begin@parbox\vbox
\let\@end@parbox\relax
\else
- \def\@begin@parbox{$\vcenter}%
- \def\@end@parbox{\m@th$}%
+ \ifmmode
+ \let\@begin@parbox\vcenter\let\@end@parbox\relax
+ \else
+ \def\@begin@parbox{\null$\vcenter}%
+ \def\@end@parbox{\m@th$\null}%
+ \fi
\fi\fi
\else % 180 度回転→vtop, vbox を入れ替える
\if #2t\relax
\let\@begin@parbox\vtop %%% !!!
\let\@end@parbox\relax
\else
- \def\@begin@parbox{$\vcenter}%
- \def\@end@parbox{\m@th$}%
+ \ifmmode
+ \let\@begin@parbox\vcenter\let\@end@parbox\relax
+ \else
+ \def\@begin@parbox{\null$\vcenter}%
+ \def\@end@parbox{\m@th$\null}%
+ \fi
\fi\fi
\fi\fi
\else % tate, utod
\def\@begin@parbox{\vbox\bgroup\vbox}%
\def\@end@parbox{\kern\z@\egroup}%
\else
- \def\@begin@parbox{$\vcenter}%
- \def\@end@parbox{\m@th$}%
+ \ifmmode
+ \let\@begin@parbox\vcenter\let\@end@parbox\relax
+ \else
+ \def\@begin@parbox{\null$\vcenter}%
+ \def\@end@parbox{\m@th$\null}%
+ \fi
\fi\fi
\else\ifx\box@dir\dtou % 180 度回転→vtop, vbox を入れ替える
\if #2t\relax
\let\@begin@parbox\vtop %%% !!!
\let\@end@parbox\relax
\else
- \def\@begin@parbox{$\vcenter}%
- \def\@end@parbox{\m@th$}%
+ \ifmmode
+ \let\@begin@parbox\vcenter\let\@end@parbox\relax
+ \else
+ \def\@begin@parbox{\null$\vcenter}%
+ \def\@end@parbox{\m@th$\null}%
+ \fi
\fi\fi
\else
\if #2t\relax
\let\@begin@parbox\vbox
\let\@end@parbox\relax
\else
- \def\@begin@parbox{$\vcenter}%
- \def\@end@parbox{\m@th$}%
+ \ifmmode
+ \let\@begin@parbox\vcenter\let\@end@parbox\relax
+ \else
+ \def\@begin@parbox{\null$\vcenter}%
+ \def\@end@parbox{\m@th$\null}%
+ \fi
\fi\fi
\fi\fi
\fi\fi%
%%% kanji
\def\Kanji#1{\expandafter\@Kanji\csname c@#1\endcsname}
-\def\@Kanji#1{\expandafter\kansuji\number #1\relax}
+\def\@Kanji#1{\kansuji #1}
\def\kanji{\ifnum\ltjgetparameter{direction}=3 \expandafter\kansuji\fi}
%%% bou
%%% references
\def\@eqnnum{{\reset@font\rmfamily \normalcolor
- \ifnum\ltjgetparameter{direction}=3 \raise.25\zh\hbox{\yoko(\theequation)}%
+ \ifnum\ltjgetparameter{direction}=11\raise.25\zh\hbox{\yoko(\theequation)}%
\else (\theequation)\fi}}
\def\@thecounter#1{\noexpand\rensuji{\noexpand\arabic{#1}}}
\def\@thmcounter#1{\noexpand\rensuji{\noexpand\arabic{#1}}}
%% Compatibility with array package
\def\ltj@lltjext@patch@array{%
+ \patchcmd{\@tabular}{\hbox\bgroup}{%
+ \hbox\bgroup\count@=\ltjgetparameter{direction}}{}{}
\def\@startpbox##1{\bgroup
\box@dir\adjustbaseline%%% これを追加
\hsize=##1\@arrayparboxrestore
\def\p@array<##1>[##2]##3{%
\let\box@dir\relax
\if ##1z\relax
- \ifnum\ltjgetparameter{direction}=3\relax
+ \ifnum\count@=3\relax
\let\box@dir\utod\@tempcnta=\zstrutbox
\fi
\else
\fi\fi\fi\fi
\fi
\ifx\box@dir\relax
- \ifcase\ltjgetparameter{direction}
+ \ifcase\count@
\or \let\box@dir\dtou\@tempcnta=\tabskip \z@\tabskip \z@\dstrutbox% dtou
\or\or\let\box@dir\tate\@tempcnta=\tstrutbox% tate
\or \let\box@dir\yoko\@tempcnta=\strutbox% yoko
\let\ltj@lltjext@orig@tabularS\relax
\let\ltj@lltjext@orig@tabular\relax
\let\ltj@lltjext@orig@array\relax
- \RequirePackage{filehook}
+ \RequirePackage{filehook,etoolbox}
\AtEndOfPackageFile{array}{\ltj@lltjext@patch@array}
}