latex 中段落的默认格式是两端对齐,即行的第一个单词与左边距相接,行的最后一个单词与右边距齐平。
这对于长度与文本区域宽度相同的行来说很好,但如果单词很少,LaTeX 将在单词之间创建大量空白,使它们接触两侧。
在 Word 或 Writer 等文档编辑器中,当我将格式设置为完全对齐时,这仅适用于边缘一定范围内的行,因为几乎每一行都是完全对齐的,除非某一行特别短并且在这种情况下显示为左对齐。
以下是对两者进行比较的示例图像:
有没有办法在 LaTeX 中进行等效对齐?
答案1
您很可能正在加载包或手动设置 的值\parfillskip
。 的定义\parfillskip
来自缺乏耐心的 TeX(节塑造段落,第 111 页):
此参数指定 TEX 在段落末尾插入的水平粘连。 的默认值为
\parfillskip
,0pt 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
只需进行这一小改动,所有不需要的空格都会被删除。
希望这对一些仍然遇到这个问题的人有所帮助!