+この文章中では\textit{dir\_box}と呼称する.
+
+\subsubsection{異方向のボックスの整合}
+\textit{dir\_box}の第一の使用目的は,異方向のボックスの大きさを整合させることである.
+例えば,
+\begin{lstlisting}
+ % yoko direction
+平成\hbox{\tate 26}年
+\end{lstlisting}
+は段落中で
+\[
+ \xymatrix{
+ {}\Node{glyph}{`平'}\ar[r]&{}\Node{glyph}{`成'}\ar[r]&
+ {}\HNode{hbox}{10.00003}{3.02779}{0.0}\ar[r]\ar[d]^{\text{中身}}&{}\Node{glyph}{`年'}\\
+ &&{}\Node{whatsit}{\cs{tate}}\ar[r]&{}\Node{glyph}{`2'}\ar[r]&{}\Node{glyph}{`6'}
+ }
+\]
+というリストを作る.その後,この段落が終了したときに,
+\LuaTeX-jaの\textbf{JAglue}挿入処理が行われ
+\[
+ \xymatrix{
+ {}\Node{glyph}{`平'}\ar[r]
+ &{}\textcolor{blue}{\Node{glue}{\Param{xkanjiskip}}}\ar[r]
+ &{}\Node{glyph}{`成'}\ar[r]
+ &{}\textcolor{blue}{\Node{penalty}{0}}
+ \ar`r[d] `[l] `[ddll] `[dl] [dl]
+ \\
+ &&{}\textcolor{red}{\HNode{\textit{dir\_box} (\cs{yoko})}{3.02779}{10.00003}{0.0}}\ar[r]\ar[d]^{\text{中身}}
+ &{}\textcolor{blue}{\Node{penalty}{0}}\ar[r]
+ &{}\Node{glyph}{`年'}\\
+ &&{}\HNode{hbox}{10.00003}{3.02779}{0.0}\ar[d]^{\text{中身}}\\
+ &&{}\Node{whatsit}{\cs{tate}}\ar[r]&{}\Node{glyph}{`2'}\ar[r]&{}\Node{glyph}{`6'}
+ }
+\]
+のようになる(青字は\textbf{JAglue},赤字が整合処理のための\textit{dir\_box}である).
+\TeX の \cs{showbox} 形式で書けば
+
+\medskip{\narrowbaselines\ttfamily\obeylines\parindent0pt
+\catcode`\@=0 @catcode`@\=12
+.\tenmin 平
+@textcolor{blue}{.\glue 0.0 plus 0.4 minus 0.4}
+.\tenmin 成
+@textcolor{blue}{.\penalty 0}
+@textcolor{red}{.\hbox(10.00003+0.0)x3.02779, direction TLT}
+..\hbox(3.02779+0.0)x10.00003, direction TLT
+...\whatsit4=[]
+...\tenrm 2
+...\tenrm 6
+@textcolor{blue}{.\penalty 0}
+.\tenmin 年
+}\medskip
+
+\noindent である.
+
+なお,\cs{raise},~\cs{lower}, \cs{moveleft},~\cs{moveright} といったボックス移動命令では.
+移動を正しく表現するために段落やボックスの途中でも異方向のボックスは\textit{dir\_box}にカ
+プセル化している.
+例えば
+\begin{lstlisting}
+ % yoko direction
+平成\raise1pt\hbox{\tate 26}年\showlists
+\end{lstlisting}
+は以下のような結果を得る.
+
+\medskip{\narrowbaselines\ttfamily\obeylines\parindent0pt
+\catcode`\@=0 @catcode`@\=12
+(前略)
+\tenrm 平
+\tenrm 成
+@textcolor{red}{\hbox(10.00003+0.0)x3.02779, shifted -1.0, direction TLT}
+.\hbox(3.02779+0.0)x10.00003, direction TLT
+..\whatsit4=[]
+..\tenrm 2
+..\tenrm 6
+\tenrm 年
+}\medskip
+
+また,メインの垂直リストに異方向のボックスが追加される場合にも同様に即座に
+\textit{dir\_box}にカプセル化している.ページ分割のタイミングを正
+しく\TeX が判断するためである.
+\cs{lastbox} によるボックスの取得では,\textit{dir\_box}は削除される.
+
+\subsubsection{異方向のボックス寸法の格納}
+第二の使用目的は,現在の組方向がボックス本来の組方向とは異なる状況で,
+\cs{ltjsetwd} によってボックス寸法を設定されたことを記録することである.
+
+例えば
+\begin{lstlisting}[numbers=left]
+\setbox0=\hbox{\vrule width 10pt height 5pt depth 2pt}
+\setbox1=\hbox{\tate\ltjsetwd0=20pt}
+\wd0=9pt
+\setbox1=\hbox{\dtou\ltjsetwd0=20pt}
+\setbox0=\hbox{\dtou a\box0}
+\end{lstlisting}
+というコードを考える.1行目で \cs{box0} には横組の
+幅10\,pt,高さ5\,pt,深さ2\,ptのボックスが代入される.
+よって,
+\begin{itemize}
+ \item 縦組下では \cs{box0} は幅7\,pt,高さ・深さ5\,ptのボックスとして扱われる.
+ \item \cs{dtou} 下では \cs{box0} は幅7\,pt,高さ10\,pt,深さ0\,ptのボックスとして扱われる.
+\end{itemize}
+このとき,\cs{box0} の\emph{中身}は
+\[
+ \xymatrix{
+ {}\Node{whatsit}{\cs{yoko}}\ar[r]&{}\Node{rule}{}
+ }
+\]
+である.
+
+さて,2行目で縦組時の \cs{box0} の幅が20\,ptに設定される.この情報が
+direction~whatsit内部のノードリストに,\textit{dir\_box}として格納される:
+\[
+ \xymatrix{
+ {}\Node{whatsit}{\cs{yoko}}\ar[r]\ar[d]_{\text{中身}}&{}\Node{rule}{}\\
+ {}\textcolor{red}{\HNode{\textit{dir\_box} (\cs{tate})}{20.0}{5.0}{5.0}}
+ }
+\]
+
+次に,3行目では横組時の,つまり \cs{box0} 本来の組方向での深さが9\,ptに変更される.
+このとき,\cs{box0} は
+\begin{itemize}
+ \item 縦組下では寸法代入が既に行われているので,2行目で作成された\textit{dir\_box}の通り
+ に幅20\,pt,高さ・深さ5\,ptのボックスとして扱われる.
+ \item \cs{dtou} 下ではまだ寸法代入が行われていないので,
+\cs{box0} の寸法変更に追従し,幅7\,pt,高さ9\,pt,深さ0\,ptのボックスとして扱われる.
+\end{itemize}