
Como faço para corrigir a coloração na ponta da seta? Ele não preenche como a largura da linha. Além disso, você notará que a seta toca D
. Como faço para empurrar D para baixo? (Ou é melhor ajustá-lo 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}
Responder1
Se você substituir a opção draw
in preaction
pelo mesmo estilo usado para as linhas ( fill=black!60
), você obterá setas cinza (a draw
da ação principal é herdada de qualquer maneira).
Você também encurta a parte da seta (para que ela se estenda além da linha real). Eu reverteria isso (como é feito pela PGF normalmente quando você coloca setasumcaminho), ou seja, a linha real é encurtada, a seta não.
Também defini um estilo thicker line small arrows
que leva seu argumento na forma <line width> in <color>
, que pode ser usado repetidamente para estilizar várias linhas da mesma maneira.
Também forneço outra forma (o thicker line small arrows m
estilo) que usa a markings
biblioteca para posicionar a seta. Isso não é tão estável quanto o método preaction
/ normal postaction
, mas você pode colocar a seta de qualquer maneira no caminho pelo 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}