Texto à direita do título de uma seção

Texto à direita do título de uma seção

Esta é uma macro que define um título para um projeto

   \newcommand{\project}[2]{
    %1: project name
    %2: percentage of time
    \subsection*{#1 \begin{flushright} \textcolor{darkgray}{#2\%}\end{flushright}}
    }

Este é o comando e a saída:

\project{My Project}{25}

insira a descrição da imagem aqui

Quero que a porcentagem seja exibida na mesma linha do nome do projeto. Como posso formatar isso?

Responder1

Como sugeriu @Johannes_B, transformei meu comentário em uma resposta.

Para obter a aparência desejada, remova o flushrightambiente e use \hfill:

\newcommand{\project}[2]{\subsection*{#1\hfill\textcolor{darkgray}{#2\%}}}

Na verdade, a primeira coisa flushrighta fazer é invocar \parsep\parskip, o que basicamente inicia uma nova linha.

O código completo:

\documentclass{article}
\usepackage{xcolor}
\usepackage{lipsum}
\newcommand{\project}[2]{%
  \subsection*{#1\hfill\textcolor{darkgray}{#2\%}}}
\begin{document}
\section{Test}
\subsection{Whatever}
\project{My Project}{25}
\lipsum[1]% dummy text, to show line width
\end{document}

insira a descrição da imagem aqui

Observação

Se você decidisse \projectadicionar uma entrada no Índice e o fizesse alterando \subsection*para \subsectionna definição de \project, o resultado seria feio.

informação relacionada