该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 的开发人员这是否是有意为之。