我有一段简单的文本。在文本结束后,我使用 \hfill 使一些单词右对齐。
\documentclass[11pt]{article}
\begin{document}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est
\hfill
\textbf{some words}
\end{document}
现在的问题是,当文本在行末结束时, \hfill 后面的单词将不再右对齐。
\documentclass[11pt]{article}
\begin{document}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
\hfill
\textbf{some words}
\end{document}
即使文本适合该行,我怎样才能使单词右对齐?
答案1
这是 TeXbook 中的一项练习。
\documentclass[11pt]{article}
\newcommand\quelle[1]{{%
\unskip\nobreak\hfil\penalty50
\hskip2em\hbox{}\nobreak\hfil\textbf{#1}%
\parfillskip=0pt \finalhyphendemerits=0 \par}}
\begin{document}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
\hfill
\textbf{some words}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
\quelle{some words}
\end{document}
答案2
这看起来有点太老套了。你可以使用类似
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.
At vero eos et accusam et justo duo dolores et ea rebum. \mbox{}~\hfill \textbf{some~words}
或者也许只使用 rightflush?