注意:我使用 TeX 而不是 LaTeX。
因此多年来,我一直使用以下代码来创建带有线条的表格:
\def\tablerule{\noalign{\vskip1pt\hrule\vskip1pt}}
\vtop to 4truein{
\halign{
\strut\vrule#&
\hskip2pt#\hfil&
\vrule\hskip2pt\hfil#\hfil\hskip2pt&
\vrule\hskip2pt\hfil#\hfil\hskip2pt&
\vrule\hskip2pt\hfil#\hfil\hskip2pt&
#\vrule\cr
\tablerule
& first amper keeps text away from the rule & then i have boxes & of text & last amper keeps text away from the rule & \cr \tablerule
}
}
我不知道如何显示输出。抱歉。
水平线\tablerule
有\vskip1pt
,因为对我来说,带有线条的文本看起来非常拥挤,而添加空格可以使文本稍微变亮。
但是,使用 时\vskip1pt
,垂直线并不完整。垂直线与水平线相交的地方有一些微小的 1pt 白点。这不是什么大问题,但如果可以的话,我想修复它。
所以我猜应该有一种方法可以指定类似“即使我使用的是 10 点类型,也要使线的高度看起来就像是 14 点类型”或类似的东西。
我尝试玩,但它似乎对 内部或 内部\baselineskip
没有任何影响。\vbox
\halign
答案1
标准解决方案是:给出更大的\strut
。例如,\vbox to<xx>{}
创建给定高度加深度的支柱。深度由设置\lower
。更确切地说:
\def\tablerule{\noalign{\hrule}}
\vtop to 4truein{
\halign{
\lower5pt\vbox to16pt{}\vrule#&
\hskip2pt#\hfil&
\vrule\hskip2pt\hfil#\hfil\hskip2pt&
\vrule\hskip2pt\hfil#\hfil\hskip2pt&
\vrule\hskip2pt\hfil#\hfil\hskip2pt&
#\vrule\cr
\tablerule
& first amper keeps text away from the rule & then i have boxes & of text & last amper keeps text away from the rule & \cr \tablerule
}
}
答案2
为每个垂直规则分配一个单元格;\omit
您可以覆盖第一个单元格中的支柱并添加所需的高度。
\def\tablerule{%
\noalign{\hrule}
}
\vbox{
\offinterlineskip\tabskip=0pt
\halign{%
\tabskip=2pt
\strut\vrule#&
\hfil#\hfil&
\vrule#&
\hfil#\hfil&
\tabskip=0pt
\vrule#\cr
\tablerule
\omit\vrule height 6pt &&&&\cr
& hamburgefontstiv&& hamburgefontstiv&\cr
\omit\vrule height 6pt &&&&\cr
\tablerule
\omit\vrule height 6pt &&&&\cr
& hamburgefontstiv&& hamburgefontstiv&\cr
\omit\vrule height 6pt &&&&\cr
\tablerule
}
}
\bye