aoharu と hannari フォントは test3.tex では使用していないのでコメントアウトして検証しました。
いくつか方法はあると思いますが、サブタイトルを含むタイトル部分の幅
を
\settowidth
で取得して、それを \textwidth
と比較しその真偽で制御する方法はどうでしょうか?
なお、限界までテストしていないので \textwidth
との比較では若干の補正が必要になることがあります。
それから、nあぜか ptbs 環境をマクロに取り込んだら、本文の先頭のアキ
が消えてしまったり、
一行の送り込みが変わってしまいました。暇を見て追及しますが ....
検証に使用した .tex などは念の為添付しますが、 今回用のマクロです。適宜修正してください。
\newlength{\myTitleLength}
\newcommand{\myPTBS}[3]{
\settowidth{\myTitleLength}{#2 #1}
\ifthenelse{\myTitleLength < \textwidth}% .9\textwidth が必要かな
{% タイトルとサブタイトルの幅が一行に収まる時
\begin{ptbs}[#1]{#2}
\textgt{#3}
\end{ptbs}}
{% タイトルとサブタイトルの幅が一行の幅を超える時
\begin{ptbs}[\parbox{44em}{#1}]{\parbox{1cm}{#2}}
\textgt{#3}
\end{ptbs}
}
}