例子:
\documentclass{article}
\usepackage{microtype}
\begin{document}
fi \textls[1]{fi}
\end{document}
输出:
问题:连字符丢失。我该如何保留连字符(最好不要手动插入\lslig
,因为微型文档说连字符会自动保存)?
编译器是 PDFLaTeX。
我找到了相关问题字母间距和连字符,但它指出它将在较新版本的 microtype 中得到解决,并且我的 microtype 版本绝对足够新(该问题是 7 年前的)---我的microtype.sty
文件包含:
\ProvidesPackage
{microtype}
[2023/03/13 v3.1a
Micro-typographical refinements
(RS)]
答案1
首先,我同意这个建议@egreg 给出了他的答案。 尽管如此:
默认跟踪设置(在 中microtype.cfg
)如下:
\SetTracking
[ name = default,
no ligatures = {f} ]
{ encoding = {OT1,T1,T2A,LY1,OT4,QX,EU2,TU} }
{ }
这将仅禁用以f
: 开头的连字符,例如fl
,,,,但fi
不会ffl
禁用例如--
或!`
。您可以将其更改为:
\SetTracking
[ load = default,
no ligatures = {X} ]
{ encoding = {OT1,T1,T2A,LY1,OT4,QX,EU2,TU} }
{ }
第一行只是为了避免出现有关设置覆盖现有设置的警告。键X
中的no ligatures
是一个肮脏的黑客行为:由于空值将被解释为“禁用所有连字符”,因此我们指定一个可能永远不会开始连字符的字母,而其他所有字母保持不变。(microtype 可能应该允许诸如 和 之类的关键字,all
以none
防止空值的歧义。)