Text rechts neben einer Abschnittsüberschrift

Text rechts neben einer Abschnittsüberschrift

Dies ist ein Makro, das eine Überschrift für ein Projekt definiert

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

Dies ist der Befehl und die Ausgabe:

\project{My Project}{25}

Bildbeschreibung hier eingeben

Ich möchte, dass der Prozentsatz in derselben Zeile wie der Projektname angezeigt wird. Wie kann ich dies formatieren?

Antwort1

Wie @Johannes_B vorgeschlagen hat, habe ich meinen Kommentar in eine Antwort umgewandelt.

Um das gewünschte Aussehen zu erreichen, entfernen Sie die flushrightUmgebung und verwenden Sie \hfillstattdessen:

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

Tatsächlich wird als erstes flushrightaufgerufen \parsep\parskip, wodurch grundsätzlich eine neue Zeile gestartet wird.

Der vollständige Code:

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

Bildbeschreibung hier eingeben

Notiz

Wenn Sie \projecteinen Eintrag zum Inhaltsverzeichnis hinzufügen möchten und dies durch die Änderung \subsection*von in \subsectionin der Definition von tun würden \project, wäre das Ergebnis hässlich.

verwandte Informationen