我在 OSX 中使用 TeXLive-2010-Basic 的 XeTeX 和纯格式。
我的尝试是遵循 TeXbooks 对逗号等的设置(我已经运行良好):
\defaulthyphenchar=`‐% it is Unicode 2010
\font\rm="TeX Gyre Pagella"
\newdimen\hyphang \setbox0=\hbox{‐} \hyphang=\wd0
\def\hyphen{‐\kern-\hyphang\kern\hyphang}
\catcode`‐=\active \let‐=\hyphen
但它不起作用。TeXbook 建议使用“零宽度的特殊字体\hyphenchar
”,但我不知道该怎么做。
对于如何实现这一目标您有什么建议吗?
答案1
TeXbook 中的示例已过时,因为所有当前引擎都支持边距字距调整,无需任何技巧。对于普通的 XeTeX:
\XeTeXprotrudechars=2
\font\rm="TeX Gyre Pagella"\relax
\rm
\rpcode\font\XeTeXcharglyph\hyphenchar\font=250
\hsize=20mm
a a a a a a a a a abbabbabb aabbabbabb abbabb
\bye
\XeTeXprotrudechars=2
激活突出,该\rpcode
行设置连字符映射到的字形的突出代码。
答案2
您可以尝试安装当前测试版microtype
软件包。它对 XeTeX 的支持尚不完整,但突出(以及悬挂连字符)已经可以工作,尽管它处于测试阶段,但我(到目前为止)没有遇到任何困难。