In xelatex or lualatex, how can I get pararaphs to stretch words with tiny spaces within words as the last resort of typesetting? It seems that everyone just wants tiny little hspace of fixed size between capital letters, but I want a space like 0em plus 0.05em within each word - but I still need hyphenation to work, and I want normal kerning and ligatures when the stretch within the word is zero!
In the example, you'll see that for the underfull hbox of the first line, the spaces are as large as they can get, and the words start getting spaced out. In the same paragraph, the word appears again, with regular spacing. And the ligature for "fl" in "flesh" is present.
I thought that TeX did this by default!
Here's latex failing at it:
\documentclass{article}
\begin{document}
\rightskip=0.65\linewidth
23\hspace{1ex}And Abraham took Ishmael his son, and all that
were born in his house, and all that were bought with his
money, every male among the men of Abraham's house; and
circumcised the flesh of their foreskin in the selfsame day,
as God had said unto him.
\end{document}







\documentclass{...}and ending with\end{document}. – DG' Mar 07 '24 at 09:05\sloppyor\emergencystretch, but better don't do it for a full document, only for bad paragraphs, see https://tex.stackexchange.com/a/241355/2388. microtype often improves paragraphs too. – Ulrike Fischer Mar 07 '24 at 09:34microtypeactivates font expansion by default. You can deactivate it, if you don't want it. Tracking (adding small spaces in words) can be activated with optiontracking. All features depend on the engine (and output mode). XeLaTeX support it not the best, but some features are also available usingfontspecinstead. See the user manuals for more information. – cabohah Mar 07 '24 at 09:42