
Tenho uma situação em que tenho alguns dados nos títulos das seções (e às vezes em parágrafos normais} que precisam ser:
- flutuou para a direita
- não dividido entre linhas
Consegui fazer isso na maioria dos casos com \hfill
and \mbox{}
, mas no caso de o item mbox ser enviado para a próxima linha, o hfill é deixado na linha anterior. Aqui está um exemplo de código que duplica o 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}
Isso está produzindo algo assim para mim:
Como posso fazer com que itens que se embrulham assim flutuem novamente?
Alternativamente, existe uma maneira melhor de colocar o conteúdo lá? Semanticamente eles não precisam andar juntos. Se o conteúdo estivesse fora do título da seção, mas flutuasse em qualquer espaço livre disponível no lado direito (não excedendo o topo do item anterior), isso seria incrível.
Responder1
Se uma pausa for feita em \hfill
, ela desaparecerá no início da linha seguinte. Com \hspace{0.5em}
introduzimos um ponto de interrupção viável; então \hspace*{\fill}
não desaparecerá no início da linha se a quebra for feita naquele espaço.
\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}