
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=black
aber ich brauche das Gegenteil, einen schwarzen Pfad mit einer farbigen Spitze.
Das ist also, was ich bekomme:
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 >=stealth
einzustellen . Nichts hat funktioniert.o
*
Antwort1
Die folgende Antwort basiert auf markings
und 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:
Ich habe die Pfeilspitze aus deinem Stil entfernt und und tear
hinzugefü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=decorate
postaction
postaction=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}