我想将少量信息放在列中。问题是这些信息包含段落。基本上这就是我想要的:
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
问题是所有三列都使用不同的字体大小,因此仅将每行作为一行放在典型行中\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
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