Problem, wenn Abschnittstext dieselbe Farbe wie Haupttext annimmt

Problem, wenn Abschnittstext dieselbe Farbe wie Haupttext annimmt

Ich versuche, ein Verhalten zu verstehen, bei dem Abschnittsüberschriften die Farbe des ersten Wortes im Abschnitt annehmen.

Hier ist mein MWE:

\documentclass{minimal}    
\usepackage{xcolor}    
\makeatletter
\newcommand\section{\@startsection{section}{1}{.25in}%
                                    {1.3ex \@plus .5ex \@minus .2ex}%
                                    {-.5em \@plus -.1em}%
                  {\reset@font\normalsize\bfseries}}
\makeatother    
\begin{document}
\section{First}
{\color{red} Hello there} More text
\end{document}

Das gewünschte Ergebnis ist, dass „Hallo“ rot ist, der Rest des Textes (einschließlich „First“) jedoch schwarz. „First“ ist jedoch rot. Wenn vor „{\color“ ein Wort eingefügt wird, tritt das gewünschte Verhalten ein. Was ist hier los? Die Antwort muss eine grundlegende Tatsache über Latex sein, die ich nicht kenne.

Vielen Dank im Voraus.

Antwort1

Nehmen wir zunächst an, dass das Problem nichts mit der Definition von zu tun hat \section. Das Problem liegt also nicht hier, sondern in der Verwendung \color{red}... von anstelle von \textcolor{red}{...}.

Hier ist ein MWE, das das Problem reproduziert

\documentclass{article}    
\usepackage{color}    

\begin{document}
\paragraph{Foo}
{\color{red}Bar} bla bla
\end{document}

Warum?

Wenn das fünfte Argument \@startsectionnegativ ist, wird die Überschrift dem Absatz des folgenden Textes mit dem \everyparBefehl vorangestellt. Der Befehl \everyparwird im horizontalen Modus ausgeführt, d. h. wenn TeX das Zeichen H in Hello sieht, aber zu diesem Zeitpunkt ist es zu spät und die Farbänderung ist bereits erfolgt. Hier ist ein weiteres Beispiel

\documentclass{article}    
\usepackage{color}    

\begin{document}
\everypar{Foo \everypar{}}
{\color{red}\ifvmode\hrule\vskip1cm\fi Bar} bla bla
\end{document}

\textcolor{red}{...}Die Lösung besteht darin , oder zu verwenden \leavevmode{\color{red}...}.

verwandte Informationen