如何在純 TeX 中控制 \settabs 下的垂直行間距?

如何在純 TeX 中控制 \settabs 下的垂直行間距?

考慮以下範例。

\settabs \+ \hskip 4.5 in & \cr
\+ Silahkan masuk & Come in, please! \cr
\+ Silahkan duduk & Sit down, please! \cr
\+ Silahkan berdiri & Stand up, please! \cr
\bye

如何增加每行之間的垂直間距?

請注意,這個問題是關於特克斯不是 乳膠

我已經嘗試過\parskip,但在這種情況下沒有效果。

答案1

如果你想打開整個表格的空間,那麼\openup在選項卡之前使用巨集:

\begingroup\openup 6pt
\settabs \+ \hskip 4.5 in & \cr
\+ Silahkan masuk & Come in, please! \cr
\+ Silahkan duduk & Sit down, please! \cr
\+ Silahkan berdiri & Stand up, please! \cr
\endgroup

您可能想要在群組內隔離此更改,因此我將其顯示在begingroupendgroup對內。

如果您只想在特定行後留出空間,只需添加合適的跳過命令即可。

\settabs \+ \hskip 4.5 in & \cr
\+ Silahkan masuk & Come in, please! \cr
\medskip
\+ Silahkan duduk & Sit down, please! \cr
\+ Silahkan berdiri & Stand up, please! \cr

答案2

一條\+線被實作為一條線\halign,但透過\ialign清除來呼叫\everycr。人們可能會定義\ialign不執行該步驟並添加或任何所需長度的不同版本\everycr{\noalign{\vskip2pt}},其效果是插入這樣的跳過兩次,因此\vskip頂部需要一個雙精度數來平衡底部的雙精度數。

如果不需要桌子周圍的垂直間距,則雙倍消極的 \vskip可以在最後添加。

\catcode`@=11
\def\ialignx{\tabskip\z@skip\halign} % initialized \halign
\catcode`@=12

\input plipsum

\lipsum{2}

\begingroup
\par\vskip4pt\relax % compensate the bottom spacing
\let\ialign\ialignx % use locally \ialignx
\everycr{\noalign{\vskip2pt}}
\settabs \+ \hskip 2in & \cr
\+ Silahkan masuk & Come in, please! \cr
\+ Silahkan duduk & Sit down, please! \cr
\+ Silahkan berdiri & Stand up, please! \cr
\endgroup

\lipsum{3}

\begingroup
\let\ialign\ialignx % use locally \ialignx
\everycr{\noalign{\vskip2pt}}
\settabs \+ \hskip 2in & \cr
\+ Silahkan masuk & Come in, please! \cr
\+ Silahkan duduk & Sit down, please! \cr
\+ Silahkan berdiri & Stand up, please! \cr
\vskip-4pt\relax % compensate the top non spacing
\endgroup

\lipsum{4}

\bye

在此輸入影像描述

無論如何,我建議在此類結構周圍添加垂直間距:第二個範例說明了原因。

相關內容