Rellenar la punta de la flecha y no el camino usando dos colores diferentes

Rellenar la punta de la flecha y no el camino usando dos colores diferentes

Tengo un pequeño problema con algunas flechas pero parece que no encuentro una solución. Tenga en cuenta que esta pregunta es diferente deConfigurar el color de relleno solo para las puntas de las flechas de TikZ (y no para la ruta en sí), ya que allí el OP pretendía hacer toda la flecha de un color.

Si quisiera que la punta de la flecha fuera negra y el recorrido de la flecha fuera de color, simplemente diría draw=blackque necesito lo contrario, un recorrido negro con una punta de color.

Entonces esto es lo que obtengo:

ingrese la descripción de la imagen aquí

Y este es mi código:

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

Intenté eliminar todo lo posible para que el código sea mínimo, así que no se preocupe si ve paquetes o bibliotecas no utilizados.

He pensado como posible solución agregar una opción como >=stealthintentar establecer el color usando las puntas de las flechas oo . *Ninguno funcionó.

Respuesta1

la siguiente respuesta se basa en markingsy 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}

que produce:
ingrese la descripción de la imagen aquí

Quité la punta de flecha de tu tearestilo y agregué decoration={markings,mark=at position 1 with {\arrow[draw=black,fill=blue]{*}}}y postaction=decorate. De esta manera la punta de flecha se dibuja como decoración al final de tu segmento, sin llenar el camino. También debe cargar la decoración como postactionwith postaction=decorate, de modo que solo se sobrescriba la punta de la flecha y no toda la línea.


Editar:El enfoque anterior ahora (con el lanzamiento de PGF 3.0.0) está obsoleto:

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

ingrese la descripción de la imagen aquí

información relacionada