線に沿って折り返されている場合でも、何かを正しく浮かせるにはどうすればよいですか?

線に沿って折り返されている場合でも、何かを正しく浮かせるにはどうすればよいですか?

セクションの見出し(場合によっては通常の段落)に次のようなデータが含まれている場合があります。

  • 右に浮かぶ
  • 線をまたいで分割されない

\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}

ここに画像の説明を入力してください

関連情報