微类型是否支持普通 TeX?

微类型是否支持普通 TeX?

是否有代码可以使微排版基元(特别是字体扩展)与运行原生 PDF 输出引擎的纯 TeX 格式一起使用(即pdfTeXLuaTeX)?

据我所知,我认为 microtype 包无法与 plain 一起使用,因为其必然与 LaTeX 字体设置相关。

我并不是在寻找通用解决方案。我基本上只是希望 cmr 能够微类型化,以减少 TUGboat 文章的编辑,纯粹是为了处理过满的框。(更好的输出是一个令人愉快的副作用。)

特克斯缺乏对字体扩展的支持,这让我很不感兴趣。(据我所知,没有任何可行的方法可以通过 DVI 输出支持字体扩展,但如果有人愿意付出如此大的开发努力,那就太好了。:)。

也许有人已经完成了,而我不知道?也许这很简单,而我被大量必要的定义吓到了?

答案1

如果你只对扩张那么其实没必要害怕。你需要做的就是这样做:

\input iftex.sty
\ifluatex
  \adjustspacing=2
  \def\doexpand#1{%
    \expandglyphsinfont#1 20 20 1\relax}
\else
  \pdfadjustspacing=2
  \def\doexpand#1{%
    \pdffontexpand#1 20 20 1 autoexpand\relax}
\fi 
\doexpand\tenrm
\doexpand\tensl
\doexpand\tenbf
\hsize=2.2in
\input story
\bye

为了突出,以前有 Thanh 的protcode.tex,提供了一些设置。它被从 texlive 中删除了(在我看来,这是不公平的)2016年,但仍然可以找到在不相关的包中

字母间距可与letterspace软件包 ( 的一部分microtype) 一起使用,该软件包也可与纯文本一起使用。

答案2

您可以查看 OpTeX 技巧http://petr.olsak.net/optex/optex-tricks.html#fontexpand这里以示例的形式介绍了总体思路。在此示例中,必须在设置之前加载字体\_tenrm

问题是你必须单独设置许多字符的参数,而这不能简单地用几行代码来完成。这是在mte.opm提到的 OpTeX 技巧链接的包(用于 OpTeX)中完成的。

我不知道是否存在仅适用于 Plain TeX 的纯解决方案,但mte.opm如果您愿意,可以从该包中获得启发。

相关内容