段落中间的 \hfill 类命令

段落中间的 \hfill 类命令

我想将段落的内容对齐,但段落末尾(最后一行)的空白会移动到段落内部\hfill发出类似命令的位置。这样,段落的最后一行就会变满。

是否可以?

编辑: 我确实希望段落内有一个空白区域。这也可以出现在最后一行。主要要求是添加空白后的文本在段落最后一行尽可能地延伸。

普通款

期望结果

答案1

我不确定你想达到什么目的,但这是一个尝试。

“奇怪的段落” 在合适的环境中排版,并在您希望出现空间的地方键入\spacehere

段落排版一次,最后一行根据行宽进行测量,此时\spacehere只是一个无操作。然后我们重新定义它以发出适当的间距命令,并将段落重新排版\parfillskip为零。

\documentclass{article}
\usepackage{environ}


\makeatletter
\NewEnviron{strangepar}{%
  \def\spacehere{\@bsphack\@esphack}%
  \setbox\z@=\vbox{\BODY\par\global\setbox\@ne\lastbox}%
  \setbox\z@=\hbox{\unhbox\@ne}%
  \strangeparfill=\dimexpr\linewidth-\wd\z@\relax
  \def\spacehere{\@bsphack\hspace*{\strangeparfill}\@esphack}%
  \par\BODY\parfillskip=0pt\par
}
\newlength\strangeparfill
\makeatother

\begin{document}

Nulla malesuada porttitor diam. Donec felis erat, congue non, volutpat at, 
tincidunt tristique, libero. Vivamus viverra fermentum felis. Donec nonummy 
pellentesque ante. Phasellus adipiscing semper elit. Proin fermentum massa 
ac quam. Sed diam turpis, molestie vitae, placerat a, molestie nec, leo. 
Maecenas lacinia. Nam ipsum ligula, eleifend at, accumsan nec, suscipit a, 
ipsum. Morbi blandit ligula feugiat magna. Nunc eleifend consequat lorem. 
Sed lacinia nulla vitae enim. Pellentesque tincidunt purus vel magna. 
Integer non enim. Praesent euismod nunc eu purus. Donec bibendum quam in 
tellus. Nullam cursus pulvinar lectus. Donec et mi. Nam vulputate metus eu 
enim. Vestibulum pellentesque felis eu massa.

\begin{strangepar}
Nulla malesuada porttitor diam. Donec felis erat, congue non, volutpat at, 
tincidunt tristique, libero. Vivamus viverra fermentum felis. Donec nonummy 
pellentesque ante. Phasellus adipiscing semper elit. Proin fermentum massa 
ac quam. Sed diam turpis, molestie vitae, placerat a, molestie nec, leo. 
Maecenas lacinia. \spacehere Nam ipsum ligula, eleifend at, accumsan nec, suscipit a, 
ipsum. Morbi blandit ligula feugiat magna. Nunc eleifend consequat lorem. 
Sed lacinia nulla vitae enim. Pellentesque tincidunt purus vel magna. 
Integer non enim. Praesent euismod nunc eu purus. Donec bibendum quam in 
tellus. Nullam cursus pulvinar lectus. Donec et mi. Nam vulputate metus eu 
enim. Vestibulum pellentesque felis eu massa.
\end{strangepar}

\end{document}

在此处输入图片描述

相关内容