表内のプレーンTeX段落

表内のプレーンTeX段落

少量の情報を列に配置したいのですが、問題は情報に段落が含まれていることです。基本的に、私が望んでいるのは次のようなものです。

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せいで制限された水平モードのままになっていることだと思いますが、各列を に投げ込むと、\vboxvbox の幅が広すぎて、他の列が表示されなくなります。

これを実装するにはどうすればいいでしょうか?

答え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

関連情報