我遇到这样一种情况:我在章节标题(有时是普通段落)中有一些数据需要:
- 向右浮动
- 不跨越界限
在大多数情况下,我能够使用 和 来实现这一点\hfill
,\mbox{}
但如果 mbox 化的项目被发送到下一行,则 hfill 会留在上一行。以下是一些重复此问题的示例代码:
\documentclass[a6paper]{scrartcl}
\usepackage{geometry}
\newcommand*\myref[1]{\hfill\mbox{\normalfont#1}}
\newcommand*\mysection[2]{\section*{#1\myref{#2}}}
\begin{document}
\mysection{Title One}{Ref Name NNN}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\mysection{Much Longer Title Two}{Ref Name NNN}
Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis.
\end{document}
这对我来说产生了类似的东西:
我怎样才能让这样包裹的物品再次浮动呢?
或者,有没有更好的方法将内容放在那里?从语义上讲,它们不必一起出现。如果内容在部分标题之外,但浮动到任何可用的右侧自由空间(不超过前一个项目的顶部),那就太棒了。
答案1
如果在 处中断\hfill
,它将在下一行的开头消失。通过\hspace{0.5em}
我们引入一个可行的断点;\hspace*{\fill}
如果在该处中断,则不会在行首消失。
\documentclass[a6paper]{scrartcl}
\usepackage{geometry}
\newcommand*\myref[1]{\hspace{.5em}\hspace*{\fill}\mbox{\normalfont#1}}
\newcommand*\mysection[2]{\section*{#1\myref{#2}}}
\begin{document}
\mysection{Title One}{Ref Name NNN}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
\mysection{Much Longer Title Two}{Ref Name NNN}
Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis.
\end{document}