
¿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 draw
opción preaction
con el mismo estilo que se usa para las líneas ( fill=black!60
), obtendrá flechas grisáceas (las draw
de 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 arrows
que 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 m
estilo) que usa la markings
biblioteca 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 1
in 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}