奇怪的间距

奇怪的间距

此 MWE

% Typeset with pdfTeX, Version 3.141592653-2.6-1.40.25 (MiKTeX 23.4)
% (preloaded format=pdflatex 2023.4.30)  21 JUN 2023 06:48

\documentclass[a4paper,12pt]{article}

\begin{document}

\hbox to 5cm{This (what?) looks ugly}

\end{document}

输出结果如下: 在此处输入图片描述

间距应该正确吗?

答案1

您的\hbox to 5cm(应该是\makebox[5cm][s])只是加剧了的问题\nonfrenchspacing,这是 LaTeX 中的默认设置。

考虑更简单的例子

\documentclass[a4paper,12pt]{article}

\begin{document}

This. Looks ugly.

This (what?) looks ugly

\setlength{\xspaceskip}{1cm plus 0.5cm minus 0.2cm}

This. Looks ugly.

This (what?) looks ugly

\end{document}

在此处输入图片描述

如果你仔细观察,你会发现第一行中 和 之间的空格.比和 之间L的空格更宽。同样,第二行中 和 之间的空格比和 之间的正常单词间空格更宽。su)lsu

以下几行强调了这一点,其中\xspaceskip通过示例将设置为(确实太)大的值。

在“强标点”之后,TeX 会插入更宽的单词间距,以符合(并非真正标准的)美式排版习惯。我对此的看法是 Knuth 喜欢它。很多人不喜欢(包括我自己)。

就单词间空格的规则而言,括号是“透明的”,因此后面的空格)将被视为其后面的空格?

解决方案:声明\frenchspacing并忘掉此事。

\documentclass[a4paper,12pt]{article}

\frenchspacing

\begin{document}

This. Looks ugly.

This (what?) looks ugly

\setlength{\xspaceskip}{1cm plus 0.5cm minus 0.2cm}

This. Looks ugly.

This (what?) looks ugly

\end{document}

在此处输入图片描述

顺便说一句,\frenchspacing这是一个错误的说法,因为法语印刷术中的标点符号规则完全不同。

答案2

字符?的 spacefactor 为 3000。这意味着后续空格(忽略空格因子为 0 的字符,例如))的3000 / 1000 = 3拉伸倍数和1000 / 3000 = 1/3收缩倍数。如果您想要一个普通的单词空格,则需要将 spacefactor 重置回 1000。LaTeX 具有\@执行此操作的控制序列。因此,请尝试:

\documentclass[a4paper,12pt]{article}

\begin{document}

\hbox to 5cm{This (what?)\@ looks ugly}

This (what?)\@ looks ugly

\end{document}

以下是经过校正的空间因子后的输出:

在此处输入图片描述

相关内容