使用 ragged2e 設定單字空間

使用 ragged2e 設定單字空間

我正在 Lyx 上使用 Preamble,我曾經設定詞空間如下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 使用\spaceskipif 非零,而不是\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}

相關內容