微类型与 \parindent 之间意外的交互

微类型与 \parindent 之间意外的交互

microtype包(或者更可能是 pdfTeX 微排版扩展)与\parindent我有一种奇怪的互动。

\documentclass{article}
\usepackage{microtype}
\begin{document}
0:\vrule\strut\par
1:\vrule\strut\par
\parindent0pt
0:\vrule\strut\par
1:\vrule\strut\par
\microtypesetup{protrusion=false}
0:\vrule\strut\par
1:\vrule\strut\par
\end{document}

在此处输入图片描述

第二个后面的冒号1排版在 0 后面的冒号稍微左侧一点,但仅当microtype的突起为开且\parindent为 0 时才会如此。事实上,将 更改\parindent为 .00001 pt 会导致规则对齐。

对我来说这似乎是一个错误,但可能我只是不明白这里应该发生什么。

两种解决方法是要么禁用我需要对齐的突起,要么将其更改\parindent为较小的非零值。还有更好的选择吗?

答案1

protrusion软件包中此选项背后的想法microtype是允许某些字符突出到页边距,这有助于使页边距在人眼中看起来更均匀。正如 Hàn Thế Thành 在他的论文中所说:

字距调整是为了使排版文本的边距看起来更加整齐,因为机械对齐会使边距看起来比较粗糙。某些字符会使一行在人眼中看起来比其他字符更短。将此类字符适当地移入边距将大大改善排版文本的外观。

某些字体(例如 Computer Modern)的凸出设置包含在软件包mt-cmr.cfg附带的文件中microtype。如您所见,软件包作者已决定字形1应凸出到左边距,而字形则0不应凸出,这解释了您在第二个示例(激活凸出)和第三个示例(禁用凸出)之间观察到的差异。

至于缩进段落的第一个字符是否也应该向左突出,我不确定。通常,段落长度超过一行,因此缩进的行不会形成单个边距。无论如何,我认为这种行为是 pdfTeX 的固有行为,因此应该询问 pdfTeX 的开发人员这是否是有意为之。

相关内容