使用 ragged2e 设置单词间距

使用 ragged2e 设置单词间距

我正在使用 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}

相关内容