使用 raggedright 防止线条收缩

使用 raggedright 防止线条收缩

有时\raggedright,如果一行太长,但只是稍微长一点,它会被缩短而不是被拆分。以下是一个例子:

\documentclass{article}
\raggedright
\begin{document}
This is a line that is shrunk to fit the page width despite the use of raggedright. 
This is a line that is shrunk to fit the page width despite the use of \ldots
\end{document}

有办法防止这种情况吗?具体来说,我希望文档中的所有文本都是右对齐的,并且我希望确保文档中所有地方的文本都不会缩小(也不会拉伸,但这对于右对齐的文本来说从来都不是问题)。

答案1

你可以使用以下方法修复单词间距固定宽度的字间空间

在此处输入图片描述

\documentclass{article}
\raggedright
\begin{document}
This is a line that is shrunk to fit the page width despite the use of raggedright.

This is a line that is shrunk to fit the page width despite the use of \ldots

\begingroup
\spaceskip=1\fontdimen2\font
\xspaceskip=0pt\relax % just to be sure
This is a line that is shrunk to fit the page width despite the use of raggedright.

This is a line that is shrunk to fit the page width despite the use of \ldots
\endgroup

\end{document}

答案2

我认为我已经找到了自己问题的可能答案。显然,TeX 使用\pretolerance\tolerance来决定是否可以接受换行。设置\pretolerance = 0似乎会产生所需的行为(设置\tolerance = 0则不会)。我不确定这是如何工作的,或者它是否仍然适用于其他更复杂的例子,但它似乎是这个简单示例的最佳解决方案。

相关内容