-% コミュニティ版では、アスキー版で不自然だった表組(array環境およびtabular環境)と
-% 周囲の本文との揃え位置を修正し、以下のように設計しました。
-% \begin{itemize}
-% \item 周囲の組方向が横組かつ組方向が|<y>|, |<z>|指定の場合
-% \begin{itemize}
-% \item |[t]|指定のとき、\\一行目のベースラインが周囲のそれと一致(罫線の場合は和文ベースラインの位置)
-% \item |[c]|指定のとき、\\表組の中心が周囲の数式軸を通る(欧文ベースラインシフトの影響下)
-% \item |[b]|指定のとき、\\最終行のベースラインが周囲のそれと一致(罫線の場合は和文ベースラインの位置)
-% \end{itemize}
-% \item 周囲の組方向が横組かつ組方向が|<t>|指定の場合
-% \begin{itemize}
-% \item |[t]|指定のとき、\\表組の上端が周囲の和文ベースラインと一致
-% \item |[c]|指定のとき、\\表組の中心が周囲の数式軸を通る(欧文ベースラインシフトの影響下)
-% \item |[b]|指定のとき、\\表組の下端が周囲の和文ベースラインと一致
-% \end{itemize}
-% \item 周囲の組方向が縦組かつ組方向が|<y>|指定の場合
-% \begin{itemize}
-% \item |[t]|指定のとき、\\表組の上端が周囲の和文ベースラインと一致
-% \item |[c]|指定のとき、\\表組の中心が周囲の数式軸を通る(欧文ベースラインシフトの影響下)
-% \item |[b]|指定のとき、\\表組の下端が周囲の和文ベースラインと一致
-% \end{itemize}
-% \item 周囲の組方向が縦組かつ組方向が|<t>|指定の場合
-% \begin{itemize}
-% \item |[t]|指定のとき、\\一行目のベースラインが周囲のそれと一致(罫線の場合は和文ベースラインの位置)
-% \item |[c]|指定のとき、\\表組の中心が周囲の数式軸を通る(欧文ベースラインシフトの影響下)
-% \item |[b]|指定のとき、\\最終行のベースラインが周囲のそれと一致(罫線の場合は和文ベースラインの位置)
-% \end{itemize}
-% \item 周囲の組方向が縦組かつ組方向が|<z>|指定の場合
-% [TODO] 未定!
-%^^A \begin{itemize}
-%^^A \item |[t]|指定のとき、\\表組の上端が周囲の和文ベースラインと一致
-%^^A \item |[c]|指定のとき、\\表組の中心が周囲の数式軸を通る(欧文ベースラインシフトの影響下)
-%^^A \item |[b]|指定のとき、\\表組の下端が周囲の和文ベースラインと一致
-%^^A \end{itemize}
-% \end{itemize}
-\def\fork@array@option<#1>[#2]{%
-\ifnum\ltjgetparameter{direction}=4 % yoko
- \ifx\box@dir\yoko
- \if #2t\relax
- \let\@begin@alignbox\vtop
- \let\@end@alignbox\relax
- \else\if #2b\relax
- \let\@begin@alignbox\vbox
- \let\@end@alignbox\relax
- \else
- \let\@begin@alignbox\vcenter
- \let\@end@alignbox\relax
- \fi\fi
+% ↓中身\周囲→ yoko tate utod dtou
+% yoko A* B* B B
+% tate B* A* D C
+% utod B D* A C
+% dtou B C C A
+% A: 周囲と中身の組方向が一致.そのまま \vtop/\vcenter/\vbox
+% B: 周囲と中身が90度ずれ.上端/下端がベースラインに揃うように
+% C: 周囲と中身が180度ずれ.\vtop, \vbox 入れ替え
+% D: 欧文ベースライン同士を揃えるようにする
+
+\def\fork@array@option@@A#1{%
+ \let\@end@alignbox\relax
+ \if #1t\relax \let\@begin@alignbox\vtop
+ \else\if #1b\relax\let\@begin@alignbox\vbox
+ \else \let\@begin@alignbox\vcenter
+ \fi\fi}
+\def\fork@array@option@@B#1{%
+ \if #1t\relax
+ \def\@begin@alignbox{\vtop\bgroup\kern\z@\vbox}%
+ \let\@end@alignbox\egroup
+ \else\if #1b\relax
+ \def\@begin@alignbox{\vbox\bgroup\vbox}%
+ \def\@end@alignbox{\kern\z@\egroup}%