更智能的乳胶对齐方式可避免出现过大空格

更智能的乳胶对齐方式可避免出现过大空格

latex 中段落的默认格式是两端对齐,即行的第一个单词与左边距相接,行的最后一个单词与右边距齐平。

这对于长度与文本区域宽度相同的行来说很好,但如果单词很少,LaTeX 将在单词之间创建大量空白,使它们接触两侧。

在 Word 或 Writer 等文档编辑器中,当我将格式设置为完全对齐时,这仅适用于边缘一定范围内的行,因为几乎每一行都是完全对齐的,除非某一行特别短并且在这种情况下显示为左对齐。

以下是对两者进行比较的示例图像:

在此处输入图片描述

有没有办法在 LaTeX 中进行等效对齐?

答案1

您很可能正在加载包或手动设置 的值\parfillskip。 的定义\parfillskip来自缺乏耐心的 TeX(节塑造段落,第 111 页):

此参数指定 TEX 在段落末尾插入的水平粘连。 的默认值为\parfillskip0pt plus 1fil这会导致段落的最后一行被空白填充。 值0pt 强制 TEX 在右边距结束段落的最后一行。

举个例子,效果如下:

在此处输入图片描述

\documentclass{article}
\newcommand{\fourscore}{\noindent Four score and seven years ago our fathers 
  brought forth on this continent a new nation, conceived in liberty, 
  and dedicated to the proposition that all men are created equal.\par}
\begin{document}
\fourscore
\setlength{\parfillskip}{0pt}
\fourscore
\end{document}

因此,可以通过找到“有问题的”包或添加

\setlength{\parfillskip}{0pt plus 1fil}

回到你的序言。如果没有更多信息,很难评估如何以其他方式修复该问题。

答案2

我遇到了同样的问题,但提出的解决方案对我没有用。我花了几个小时试图消除文本中这些不必要的空白。我想与那些仍然遇到此问题的人分享我如何解决问题。

我使用 latex 写论文,当我结束一个段落时,我使用了\linebreak命令,但这是一个巨大的错误,花了几个小时才弄清楚。如果您使用\justify命令在文档中完全对齐文本,那么使用\\命令结束段落不是 \linebreak只需进行这一小改动,所有不需要的空格都会被删除。

希望这对一些仍然遇到这个问题的人有所帮助!

相关内容