Füllen der Pfeilspitze und nicht des Pfads mit zwei verschiedenen Farben

Füllen der Pfeilspitze und nicht des Pfads mit zwei verschiedenen Farben

Ich habe ein kleines Problem mit einigen Pfeilen, aber ich kann keine Lösung finden. Bitte beachten Sie, dass diese Frage nicht mit der Frage übereinstimmt,Festlegen der Füllfarbe nur für TikZ-Pfeilspitzen (und nicht für den Pfad selbst), da der OP hier meinte, den gesamten Pfeil einfarbig zu machen.

Wenn ich möchte, dass die Pfeilspitze schwarz und der Pfeilpfad farbig ist, sage ich einfach, draw=blackaber ich brauche das Gegenteil, einen schwarzen Pfad mit einer farbigen Spitze.

Das ist also, was ich bekomme:

Bildbeschreibung hier eingeben

Und das ist mein Code:

\documentclass[10pt]{article}
\usepackage[a4paper, margin=1cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{rotating}
\usepackage{amsmath}
\usepackage{pgfplots}
\usepackage{tikz}

\usetikzlibrary{arrows,backgrounds,decorations,shapes,shapes.multipart,positioning}
\pgfplotsset{compat=1.7}

\begin{document}

    \definecolor{blue}{RGB}{0,127,255}

    \tikzset{
    opera/.style={fill=white, inner sep=0pt, right=3mm, text width= 5cm,font=\footnotesize},
    tear/.style={draw=black, fill=blue, -*},.
    }

    \begin{tikzpicture}

\draw[tear] (12, 5) -- (12,4) -- (10,3) -- (10,2) node[opera] at (10,2){Not the path!};

   \end{tikzpicture}
\end{document}

Ich habe versucht, so viel wie möglich zu entfernen, um den Code zu minimieren. Machen Sie sich also keine Sorgen, wenn Sie nicht verwendete Pakete oder Bibliotheken sehen.

Ich habe überlegt, ob es eine mögliche Lösung wäre, eine Option wie hinzuzufügen, aber zu versuchen, die Farbe mithilfe der Pfeiltasten oder >=stealtheinzustellen . Nichts hat funktioniert.o*

Antwort1

Die folgende Antwort basiert auf markingsund postaction.

\documentclass[10pt]{article}
\usepackage[a4paper, margin=1cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{rotating}
\usepackage{amsmath}
\usepackage{pgfplots}
\usepackage{tikz}

\usetikzlibrary{arrows,backgrounds,decorations.markings,shapes,shapes.multipart,positioning}
\pgfplotsset{compat=1.7}

\begin{document}

    \definecolor{blue}{RGB}{0,127,255}

    \tikzset{
    opera/.style={fill=white, inner sep=0pt, right=3mm, text width= 5cm,font=\footnotesize},
    tear/.style={draw=black,-, 
    decoration={markings,mark=at position 1 with {\arrow[draw=black,fill=blue]{*}}},
    postaction=decorate},.
    }

    \begin{tikzpicture}

\draw[tear] (12, 5) -- (12,4) -- (10,3) -- (10,2);

   \end{tikzpicture}
\end{document}

was ergibt:
Bildbeschreibung hier eingeben

Ich habe die Pfeilspitze aus deinem Stil entfernt und und tearhinzugefügt . Auf diese Weise wird die Pfeilspitze als Dekoration am Ende deines Segments gezeichnet, ohne den Pfad zu füllen. Du musst die Dekoration auch als mit laden , damit nur die Pfeilspitze überschrieben wird und nicht die ganze Linie.decoration={markings,mark=at position 1 with {\arrow[draw=black,fill=blue]{*}}}postaction=decoratepostactionpostaction=decorate


Bearbeiten:Der bisherige Ansatz ist nun (mit der Veröffentlichung von PGF 3.0.0) obsolet:

\documentclass{standalone}
\usepackage{tikz}
    \usetikzlibrary{arrows.meta}
    \definecolor{myblue}{RGB}{0,127,255}

    \tikzset{
        opera/.style={
            fill=white,
            inner sep=0pt,
            right=3mm,
            text width= 5cm,
            font=\footnotesize
        },
        tear/.style={
            -{Circle[fill=myblue]}      %new code, requires arrows.meta and at least PGF 3.0.0
        },
     }
\begin{document}
\begin{tikzpicture}
    \draw[tear] (12, 5) -- (12,4) -- (10,3) -- (10,2) node[opera] {Not the path!};
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen