假设我有以下来源:
\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand \Dash { } {
\leavevmode
\unskip
\nobreak
\hspace{\halfspace}
\textemdash
\hspace{\halfspace}
}
\NewDocumentCommand \halfspace { } {
.5\fontdimen2\font plus .5\fontdimen3\font minus .5\fontdimen4\font
}
\ExplSyntaxOff
\begin{document}
The quick brown fox jumped---%
and I mean \emph{bounded}---%
over that lazy dog.
The quick brown fox jumped \Dash
and I mean \emph{bounded} \Dash
over that lazy dog.
\end{document}
我怎样才能通过仅使用第一个示例中的语法来获得使用效果\Dash
(不一定只使用该控制序列,而只是适当改变间距)?
编辑
正如下面的答案所指出的,我所寻找的并不是字距调整。我不知道该怎么称呼它,所以我只好用“间距”来称呼它了。
我很抱歉。
答案1
你可以说:
\usepackage[kerning=alltext]{microtype}
\SetExtraKerning
[ unit = space ]
{ encoding = * }
{ \textemdash = {500,500} }
请注意,这只会调整字距,而不会像\Dash
命令中那样进行任何拉伸或收缩操作。(编辑:) 由于这正是您所寻找的,所以答案可以归结为:不,至少不可能microype
在字形周围添加可拉伸和可收缩的空间。