
我遇到的情況是,我在章節標題(有時是普通段落)中有一些數據,這些數據需要是:
- 向右浮動
- 不跨線分割
在大多數情況下,我可以使用 和 來完成此操作\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}