\documentclass[12pt]{article}
\usepackage[LY1]{fontenc}\usepackage[]{step}
\usepackage{lipsum}
\begin{document}
\lipsum
\end{document}
由于某种原因我无法弄清楚,这会导致根据引擎的不同而产生不同的位置(无论如何它都使用相同的 Type 1 字体)。不同的引擎似乎不想在同一个地方中断,因此,页面之间存在一行差异(在 Lua/Xe 中,以“port-”结尾的最后一行被推到下一页)。其他字体似乎不会发生这种情况(我尝试过和,times
并stix
在不同引擎中得到了相同的中断)。这是怎么回事?
带有 pdfLaTeX 的第 1 页(在 DVI 和 PDF 模式下相同):
使用 LuaLaTeX 和 XeLaTeX 的第 1 页:
答案1
虽然已知 luatex 在换行方面可能与 pdftex 不兼容,但实际上情况并非如此。 (此外,据我所知,xetex
应该会产生相同的换行符。)
相反,差异在于 的值\parindent
。当文档类加载时,当设置为 1.5em(在 中size12.clo
)时,这个问题会得到修复。现在,1em 在 pdftex 和 xetex/luatex 中转换为不同的长度,因为默认字体不同:OT1/cmr,其中 1.5em=17.62482pt,以及 TU/lmr,其中 1.5em=18pt。
这个微小的差异足以使第三段的第一行采用不同的连字符。
\parindent
修复方法是在定义新的默认字体后重置(即之后\usepackage{step}
):
\normalfont
\parindent=1.5em