有没有更好的方法强制在段落的最后一行留出一些空白?

有没有更好的方法强制在段落的最后一行留出一些空白?

我是 Latex (XeTeX) 的新手。我的对齐、5 毫米缩进的文本很长;在几个地方,段落的最后一行完全向右对齐——这可能会让读者感到不快。为了解决这个问题,我插入了

\def\RemoveSpaces#1{%
  \begingroup
  \spaceskip100000sp
  \xspaceskip100000sp
  #1%
  \endgroup}

在序言中,在正文中,只选择移除有问题的最后几行(单词之间)的空格。这似乎有效。(测试阅读者无法看出有问题的行被稍微弄脏了。)

但是,从印刷术上讲,有没有更好的方法在段落最后一行的末尾创建这样的空格?我尝试过\hspace使用自定义值、\hspace*使用自定义值和\parfillskip,但这些似乎都不起作用,尽管的文档似乎有关于如何使用来解决这个问题的\parskip说明:\parfillskip

“使用包选项parfill,包还会进行调整\parfillskip以在段落最后一行的末尾施加最小空间。如果未指定值,则假定为 30pt,如果给出的值构成最小值。”

我还看到过一条与我的问题完全相关的评论:

在此处输入图片描述

但该代码似乎不起作用。

最小示例(使用 David Carlisle 的):

\documentclass[twocolumn]{article}

\begin{document}

one two three four five six seven
one two three four five six seven
one two three four five six seven
one two threee four five six seven
one two three four five. <- is the offending flush line I need pushed back.]

one two three four five six seven
one two three four five six seven
one two three four five six seven
one two threee four five six seven
one two three four five.

\end{document}

我的解决方案如下:

\documentclass[twocolumn]{article}

\def\RemoveSpaces#1{%
  \begingroup
  \spaceskip100000sp
  \xspaceskip100000sp
  #1%
  \endgroup}

\begin{document}

one two three four five six seven
one two three four five six seven
one two three four five six seven
one two threee four five six seven
\RemoveSpaces{one two three four five.}

one two three four five six seven
one two three four five six seven
one two three four five six seven
one two threee four five six seven
one two three four five.

\end{document}

我的解决方案有效:它只从特定的违规行中删除单词间距,从而在其后(而不是下方)直接创建一些空白。但是,从印刷上来说,有没有更好的方法来实现类似的效果?

答案1

如果您将段落末尾的空格\parfillskip长度设置为(比如说)最小 10 毫米,但尽可能地拉伸,那么最后一行将保留至少 10 毫米,方法是缩小该行的空格,或者将一些文本移到下一行。

在此处输入图片描述

\documentclass[twocolumn]{article}

\begin{document}

one two three four five six seven
one two three four five six seven
one two three four five six seven
one two threee four five six seven
one two three four five.


\setlength\parfillskip{10mm plus 1fill}

one two three four five six seven
one two three four five six seven
one two three four five six seven
one two threee four five six seven
one two three four five.

\end{document}

相关内容