\hangindentと\hangafterを使って3行分のスペースを作って、そこに見出しの囲みを入れました。
囲みの中は、\hsizeを使って1行の文字数を引き数の値に設定した\vboxの中に見出しを入れています。
\newcommand{\midashio}[2]{%
\vbox to \z@{\parindent=\z@
\hsize=#1\advance\hsize0zw\baselineskip=18H
\setbox0=\vbox{\leftskip=\z@\rightskip=\z@{\bf#2}}%
\dimen0=\wd0\advance\dimen0 2zw
\dimen1=\ht0\advance\dimen1\dp0\advance\dimen1 6mm
\dimen2=\dimen0\advance\dimen2 -3mm
\begin{pspicture}(0,0)(.5\dimen0,\dimen1)
\psframe[linestyle=none,fillstyle=solid,fillcolor=cyan]
(0,0.05)(\dimen2,.99\dimen1)
\rput[lb](.5zw,0.3){\box0}
\end{pspicture}\vss}\par
\@tempdima=#1\advance\@tempdima 2zw
\vskip-.5\baselineskip
\noindent\hangindent=\@tempdima\hangafter-3\relax\noindent}
\kuro{9zw}{タウンゼント理論と\\ストリーマ理論}
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
コメント