手动换行并进行调整,但换行后不留空行

手动换行并进行调整,但换行后不留空行

如果我的文本从左到右缺少几个字母,并且我想将最后一行稍微拉长以便末尾不留任何空白,那么我该在段落末尾写什么?

如果我做了显而易见的事情,

\documentclass{article}
\begin{document}

X Blah blah blah blah blah blah blah blah blah Blah blah blah blah blah
blah blah  blah  blah blah Blah blah blah blah blah blah blah blah. 

Y Blah blah blah blah blah blah blah blah blah Blah blah blah blah blah
blah blah blah blah blah Blah blah blah blah.

A Blah blah blah blah blah blah blah blah blah Blah blah blah blah blah
blah blah  blah  blah blah Blah blah blah blah blah blah blah blah. 
\linebreak
% Unwanted empty line appears here

B Blah blah blah blah blah blah blah blah blah Blah blah blah blah blah
blah blah blah blah blah Blah blah blah blah.
\end{document}

然后后面会出现一个额外的空行,将段落分开。如何防止出现这个空行?

澄清一下:我希望有两个段落,而不是一个。确实,使用手动换行符时,删除段落分隔符会删除段落之间的空行。但这会使 A 和 B 成为一个段落,而不是两个。

参见第 X 和 Y 段的标准格式。

有没有不需要使用括号的方法?使用括号可能会惹恼那些与我分享文章并希望恢复原始格式的人。删除一种类型的所有手动代码可以自动完成;但删除括号必须手动完成,因为它们在很多地方使用。

编辑:是否有任何尝试将命令转换为在需要格式化的段落后添加的一行,或者对整个文档自动执行此操作,其中最后一行的空格短于一定长度,如在避免几乎填满最后几行,成功了吗?

答案1

如果你的段落的最后一行确实快满了,你可以通过以下方法让它右对齐结束。

  • 用括号将段落括起来。

  • 用以下命令(在括号内)结束该段落:

    \unskip\parfillskip 0pt \par
    

更新: 一种不需要支撑的机制。

  • 在段落前插入

    \startsquarepar
    
  • 在该段末尾插入

    \stopsquarepar
    
  • 在序言中对这两个命令的定义如下:

    \newcommand{\startsquarepar}{%
        \par\begingroup \parfillskip 0pt \relax}
    \newcommand{\stopsquarepar}{%
        \par\endgroup}
    

这两个命令之前或之后都不需要有空行(分组和包含\par确保这不是问题),但可读性和“良好做法”表明,在命令之前\startsquarepar和之后都留 一个空行\stopsquarepar是个好主意。

\startsquarepar和范围内的空行\stopsquarepar将按预期开始新的段落,并且此范围内的所有段落都将右对齐结束 - 无论每个段落中是否有适量的材料以避免过多的间距。

为什么我没有使用\begin...\end...?虽然没有附加任何“条件” \begin...,但 Latex 已将的使用\end...用于定义环境。如果您真的更喜欢\begin ... \end术语和环境语法,则可以轻松地将给出的两个命令定义转换为单个环境定义。(但留给读者练习。)

编辑:来自 egreg 的评论的最后一条建议(以防止它丢失)。

{{\parfillskip0pt\par}}可以作为手动解决方案很有用,因为它不需要支撑段落。

答案2

这就像删除代码中的空行一样简单

\documentclass{article}
\begin{document}
Blah blah blah blah blah blah blah blah blah Blah blah blah blah blah blah blah  
blah  blah blah Blah blah blah blah blah blah blah blah. \linebreak
Blah blah blah blah blah blah blah blah blah Blah blah blah blah blah blah blah blah 
blah blah Blah blah blah blah.
\end{document}

产生

输出

空行结束段落,就像\par命令一样。\linebreak切换到同一段落内的下一行。

相关内容