我意识到,如果行以音节的后半部分开头,则 hfill 只会将第一个单词向右刷新。如果之后有手动换行,则不会发生问题:
\documentclass{article}
\begin{document}
This is a very long sentence such that there has to be a point where a stu\-pendous line should be cut. \hfill test 123
This is a very long sentence such that there has to be a point where a stu\-pendous line should be cut. \hfill test 123\\
This is a very long sentence such that there has to be a point where this line should be cut. \hfill test 123
\end{document}
产生这个: 这是一个问题,因为我在引号后使用 hfill 来提供作者和日期。这种行为有什么原因吗?这是一个错误吗?我用 texlive 2017 和 miktex 2.9.6300 进行了测试。
答案1
这是您输入标记中的一个错误,您应该使用它\hspace*{\fill}
来创建一个在行首不被删除的空格。与连字符无关,\hfill
在行首被删除的原因与您在行首没有单词间空格的原因相同,如果 tex 插入换行符,则所有可丢弃的空格在换行符后都会被丢弃。您可能还想test~123
防止在该空格处换行。(通常很难确定您希望发生什么)