我正在使用 Preamble 在 Lyx 上工作,我曾经使用如下方式设置单词空间everysel
:
\usepackage{everysel}
\EverySelectfont{%
\fontdimen2\font=0.3em% interword space
}
然而,我正在设计的作品必须在非常小的格式下才能表现良好,因此我选择使用ragged2e
连字符来设置正确的排列:
\usepackage{ragged2e}
\RaggedRight
令人沮丧的是,这似乎everysel
使手动的说当ragged2e
被调用时,everysel
会自动加载,但是,我似乎无法让它工作。
总而言之,我的问题是,如何正确设置文本的连字符,并保持对单词空间的控制?
答案1
据我所见\RaggedRight
,\@raggedtwoe@everyselectfont
前你\EverySelectfont
可以行动;这个宏将空格跳过设置为\fontdimen2\font
,所以你的设置被忽略,因为 TeX 使用\spaceskip
非零值,而不是\fontdimen2\font
单词间间距。
\documentclass{article}
\usepackage{everysel,ragged2e,etoolbox}
% Let's add something before \spaceskip is set
\makeatletter
\preto{\@raggedtwoe@everyselectfont}{\fontdimen2\font=.3em }
\makeatother
\begin{document}
\RaggedRight abc def
\Large abc def
\end{document}
另一种方法是设置\EverySelectfont
前加载中ragged2e
:
\documentclass{article}
\usepackage{everysel}
\EverySelectfont{\fontdimen2\font=.3em }
\usepackage{ragged2e}
\begin{document}
\selectfont
\RaggedRight abc def
\Large abc def
\end{document}
\selectfont
之后别忘了\begin{document}
。