
少量の情報を列に配置したいのですが、問題は情報に段落が含まれていることです。基本的に、私が望んでいるのは次のようなものです。
Column 1 Line 1 Column 2 Line 1 Column 3 Line 1
Column 1 Line 2 Column 2 Line 2 Column 3 Line 2
Column 2 Line 3
問題は、3 つの列すべてが異なるフォント サイズを使用しているため、各行を単に行として配置するだけでは\halign
うまくいかないことです。これが私の現在の試みです。
\def\Center#1{\hfil #1 \hfil}
\def\UseFont#1#2{\global\font\currentFont=#1 at #2 \currentFont}
\halign{
# & # & # \cr
\Center{Column 1 Line 1}\break\par %neither works
\Center{Column 1 Line 2}
&
\UseFont{cmb10}{18pt}
\Center{Column 2 Line 1}\break\par
\Center{Column 2 Line 2}\break\par
\Center{Column 2 Line 3}\break\par
&
\Center{Column 3 Line 1}\break\par
\Center{Column 3 Line 2}
\cr
}
このコードの問題は、改行が転送されないことです。問題は、 の\halign
せいで制限された水平モードのままになっていることだと思いますが、各列を に投げ込むと、\vbox
vbox の幅が広すぎて、他の列が表示されなくなります。
これを実装するにはどうすればいいでしょうか?
答え1
\long\def\Center#1{\rightskip0pt plus 1fill \leftskip\rightskip \parindent0pt \parfillskip0pt\relax
#1\par}
\def\UseFont#1#2{\global\font\currentFont=#1 at #2 \currentFont}
\halign{
\vbox{\hsize3cm#\par} & \vbox{\hsize3cm#\par} & \vbox{\hsize3cm#\par} \cr
\Center{Column 1 Line 1\par %neither works
Column 1 Line 2}
&
\UseFont{cmb10}{18pt}
\Center{Column 2 Line 1\par
Column 2 Line 2\par
Column 2 Line 3}
&
\Center{Column 3 Line 1\par
Column 3 Line 2}
\cr
}
\end