¿Cómo hacer flotar algo correctamente incluso si termina en una línea?

¿Cómo hacer flotar algo correctamente incluso si termina en una línea?

Tengo una situación en la que tengo algunos datos en los títulos de las secciones (y a veces en los párrafos normales) que deben ser:

  • flotó a la derecha
  • no dividido entre líneas

Pude lograr esto en la mayoría de los casos con \hfilly \mbox{}, pero en el caso de que el elemento mbox se envíe a la siguiente línea, el hfill se deja en la línea anterior. Aquí hay un código de muestra que duplica el problema:

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

Esto me está produciendo algo como esto:

producción

¿Cómo puedo hacer que los artículos que se envuelven así vuelvan a flotar correctamente?

Alternativamente, ¿existe una mejor manera de colocar el contenido allí? Semánticamente no tienen por qué ir juntos. Si el contenido estuviera fuera del encabezado de la sección pero flotara en cualquier espacio libre disponible del lado derecho (sin exceder la parte superior del elemento anterior), sería fantástico.

Respuesta1

Si se toma un descanso en \hfill, desaparecerá al principio de la siguiente línea. Con \hspace{0.5em}introducimos un punto de quiebre factible; entonces \hspace*{\fill}no desaparecerá al comienzo de la línea si el corte se realiza en ese espacio.

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

ingrese la descripción de la imagen aquí

información relacionada