Arreglando el relleno de las flechas en "brújula"

Arreglando el relleno de las flechas en "brújula"

¿Cómo soluciono el color en la punta de la flecha? No se llena como lo hace el ancho de línea. Además, notarás que la flecha toca D. ¿Cómo empujo D hacia abajo? (¿O es mejor simplemente ajustarlo manualmente?)

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows, positioning, trees, mindmap, calc}
\begin{document}
\begin{tikzpicture} 
\node (a) at (9,7.5) {};
\node (b) at (9,4.5) {B};
\node (c) at (10.5,6) {};
\node (d) at (7.5,6) {D};

\path[draw=black!60,solid,line width=0.8mm,fill=black!60,preaction={-triangle 90,thin,draw,shorten >=-1mm}] (a) -- (b);
\path[draw=black!60,solid,line width=0.8mm,fill=black!60,preaction={-triangle 90,thin,draw,shorten >=-1mm}] (c) -- (d);
\end{tikzpicture}
\end{document}

Respuesta1

Si reemplaza la drawopción preactioncon el mismo estilo que se usa para las líneas ( fill=black!60), obtendrá flechas grisáceas (las drawde la acción principal se heredan de todos modos).

También acorta la parte de la flecha (para que se extienda más allá de la línea real). Revertiría esto (como lo hace PGF generalmente cuando colocas flechas enunocamino), es decir, la línea real se acorta, la flecha no.

También he definido un estilo thicker line small arrowsque toma su argumento en la forma <line width> in <color>, que puede usarse repetidamente para diseñar varias líneas de la misma manera.

También proporciono otra forma (el thicker line small arrows mestilo) que usa la markingsbiblioteca para colocar la flecha. Esto no es tan estable como el método preaction/ habitual postaction, pero puedes colocar la flecha de todos modos en la ruta junto a 1in at position 1.

Código 1

\documentclass[tikz]{standalone}
\usetikzlibrary{arrows}
\colorlet{mygray}{black!60}
\tikzset{thicker line small arrows/.style args={#1in#2}{
    draw=#2,
    solid,
    line width=#1,
    shorten >=1mm,
    preaction={
        fill=#2,
        thin,
        -triangle 90,
        shorten >=0mm,
    }
}}
\begin{document}
\begin{tikzpicture} 
\node (a) at (9,7.5) {};
\node (b) at (9,4.5) {B};
\node (c) at (10.5,6) {};
\node (d) at (7.5,6) {D};

\path[thicker line small arrows=.8mm in mygray] (a) -- (b);
\path[thicker line small arrows=.4mm in green] (c) -- (d);
\end{tikzpicture}
\end{document}

Código 2

\documentclass[tikz]{standalone}
\usetikzlibrary{arrows, decorations.markings}
\colorlet{mygray}{black!60}
\tikzset{thicker line small arrows m/.style args={#1in#2}{
    draw=#2,
    solid,
    line width=#1,
    shorten >=1mm,
    decoration={
        markings,
        mark=at position 1.0 with {\arrow[fill=#2,thin]{triangle 90}}
    },
    postaction={decorate}
}}
\begin{document}    
\begin{tikzpicture} 
\node (a) at (9,7.5) {};
\node (b) at (9,4.5) {B};
\node (c) at (10.5,6) {};
\node (d) at (7.5,6) {D};

\path[thicker line small arrows m=.8mm in mygray] (a) -- (b);
\path[thicker line small arrows m=.4mm in green] (c) -- (d);
\end{tikzpicture}
\end{document}

Producción

ingrese la descripción de la imagen aquí

información relacionada