我试图理解WordSpace
的因子是如何工作fontspecs
的\addfontfeatures
。当我降低它时,字空间会减少,但当我再次增加因子时,字空间不会增加:
\documentclass{article}
\usepackage{fontspec}
\setromanfont{Latin Modern Roman}
\begin{document}
Ein paar Wörter.
{\addfontfeatures{WordSpace=0.9,LetterSpace=0}Ein paar Wörter.}
{\addfontfeatures{WordSpace=0.7,LetterSpace=0}Ein paar Wörter.}
{\addfontfeatures{WordSpace=0.3,LetterSpace=0}Ein paar Wörter.}
{\addfontfeatures{WordSpace=0.7,LetterSpace=0}Ein paar Wörter.}
{\addfontfeatures{WordSpace=0.9,LetterSpace=0}Ein paar Wörter.}
Ein paar Wörter.
\end{document}
我的应用是选择性地压缩一些诗行以避免换行,或压缩一个段落以避免出现孤行和孤行,但我意识到我无法真正控制这个因素,因此单词空间不断变小。我如何再次增加单词空间因素?
编辑:正如 egreg 所建议的,\spaceskip
这看起来确实是一种很好的方法。只是我还必须注意要\textsl
调整的文本范围内包含的任何类似段落,并且在减少单词间空间时,还应调整标点符号后的额外空格,通过\xspaceskip
。
答案1
Wordspace 根据您指定的因子更改当前字体大小。您可以在日志文件中看到设置:
. \fontdimen 2\font =.2\fontdimen 2\font \fontdimen 3\font =.2\fontdimen
. 3\font \fontdimen 4\font =.2\fontdimen 4\font
因此如果您想再次增加它,您必须使用大于一的值。
正如 egreg 所写,这些设置是全局的。此效果在您的示例中部分隐藏,但LetterSpace
实际效果是加载新字体。
\documentclass{article}
\usepackage{fontspec}
\setromanfont{Latin Modern Roman}
\begin{document}
Ein paar Wörter.
{\addfontfeatures{WordSpace=.2}Ein paar Wörter.}
Ein paar Wörter.
{\addfontfeatures{WordSpace=5}Ein paar Wörter.}
\end{document}
为了展示附加选项的效果,这里有一个带颜色的示例。如您所见,黑色和红色字体的字距是独立调整的:
\documentclass{article}
\usepackage{fontspec,xcolor}
\setromanfont{Latin Modern Roman}
\begin{document}
Ein paar Wörter.
{\addfontfeatures{WordSpace=.2,Color=red}Ein paar Wörter.}
Ein paar Wörter.
{\addfontfeatures{WordSpace=5}Ein paar Wörter.}
{\addfontfeatures{WordSpace=5,Color=red}Ein paar Wörter.}
\end{document}