如何在纯 TeX 的边距中放置连字符?

如何在纯 TeX 的边距中放置连字符?

我想使用纯 TeX 排版边距中的连字符(如果这对您很重要,我正在使用 XeTeX 引擎)。例如:

Lorem ipsum dolor sit amet, consecte-
tuer adipiscing elit. Aenean commodo
ligula eget dolor. Aenean massa. Cum
sociis natoque penatibus  et  magnis
dis parturient montes, nascetur ridi-
culus mus. Donec quam felis, ultrici-
es  nec,  pellentesque  eu,  pretium
quis,  sem.  Nulla  consequat  massa
quis enim. Donec pede justo, fringil-
la vel, aliquet nec, vulputate eget,
arcu.

这个网站上有一个类似的问题将连字符放在边距上,而不是文本中,但仅涵盖 LaTeX 和 ConTeXt。

我认为要走的路是重新定义\hypenchar以便产生\discretionary{\rlap-}{}{}

答案1

就像在 latex 或 context 中一样,你可以启用内置的突起

在此处输入图片描述

\XeTeXprotrudechars=2
\font\rm=[lmroman10-regular.otf] \rm
\rpcode\font\XeTeXcharglyph\hyphenchar\font=350
\hsize=6.5cm
\parindent=0pt

Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Aenean commodo
ligula eget dolor. Aenean massa. Cum
sociis natoque penatibus  et  magnis
dis parturient montes, nascetur rididculus mus.
Donec quam felis, ultricies  nec,  pellentesque  eu,  pretium
quis,  sem.  Nulla  consequat  massa
quis enim. Donec pede justo, fringilla vel,
aliquet nec, vulputate eget,
arcu.

\bye

答案2

来自XeTeX 手册 §7

\XeTeXprotrudechars ⟨integer⟩

相当于\pdfprotrudecharspdfTeX 中用于控制字符突出或“边距字距调整”的选项。设置为零(默认)时,字符突出关闭。设置为一时,字符突出被激活但不会影响换行。设置为二时,换行决策将因字符突出而改变。

例子:

\XeTeXprotrudechars=2
\font\rm="[texgyrepagella-regular.otf]"\relax
\rm
\rpcode\font\XeTeXcharglyph\hyphenchar\font=250
\hsize=20mm
a a a a a a a a a a abbabbabb aabbabbabb abbabb

在此处输入图片描述

有关更多详细信息,请参阅 pdfTeX 文档。

\rpcode ⟨font⟩ ⟨char slot⟩ (integer,

相关内容