
可能的重複:
製作一個不可見的vbox
我想\vbox
在段落之間插入 a,但我不希望它影響行間距。我正在使用 Plain TeX。這是我的 MWE:
\input plain
asdljflasd dasjfdlf lasdfdflaslfjlsadf sajf lsdfas Lorem ipsum dolor
sit amet, consectetur adipiscing elit. Quisque sollicitudin pretium\par
\nointerlineskip\vbox to 0pt{\hbox to 0pt{\hskip -10pt *}\kern0pt}\nointerlineskip
In hac habitasse platea dictumst. Etiam rutrum blandit velit sed
rutrum. Curabitur rhoncus erat a turpis suscipit vitae rutrum turpis
\bye
下面顯示了兩個段落之間的不良間距(星號出現的地方):
註解掉以 開頭的行\nointerlineskip
可以給出兩個段落之間的正確間距:
如何獲得\vbox
正確的行間距?對巨大的圖像表示歉意。
答案1
人們必須更加努力才能將所有東西放在正確的位置:
asdljflasd dasjfdlf lasdfdflaslfjlsadf sajf lsdfas Lorem ipsum dolor
sit amet, consectetur adipiscing elit. Quisque sollicitudin pretium
\edef\tpd{\the\prevdepth}\nointerlineskip
\vbox to 0pt{\hrule height 0pt\prevdepth=\tpd\llap{\strut*\kern10pt}\vss}%
\prevdepth=\tpd
In hac habitasse platea dictumst. Etiam rutrum blandit velit sed
rutrum. Curabitur rhoncus erat a turpis suscipit vitae rutrum turpis
然而,在頁邊空白處加上星號比這容易得多:
\def\marginasterisk{\leavevmode\llap{*\kern\parindent\kern10pt}}
asdljflasd dasjfdlf lasdfdflaslfjlsadf sajf lsdfas Lorem ipsum dolor
sit amet, consectetur adipiscing elit. Quisque sollicitudin pretium
\marginasterisk In hac habitasse platea dictumst. Etiam rutrum blandit velit sed
rutrum. Curabitur rhoncus erat a turpis suscipit vitae rutrum turpis
答案2
替代方案可能是使用\vtop
代替\vbox
並省略\nointerlineskip
之前:
asdljflasd dasjfdlf lasdfdflaslfjlsadf sajf lsdfas Lorem ipsum dolor
sit amet, consectetur adipiscing elit. Quisque sollicitudin pretium\par
\vtop to 0pt{\hbox to 0pt{\hskip -10pt *}\kern 0pt}%
\nointerlineskip
In hac habitasse platea dictumst. Etiam rutrum blandit velit sed
rutrum. Curabitur rhoncus erat a turpis suscipit vitae rutrum turpis
\bye