2015-06-13 18 views
12

C'è un modo semplice per aumentare le dimensioni di una punta della freccia con qualcosa di simile:Come cambiare punta della freccia in tikz

\tikzset{myptr/.style=->, ????} 

senza la progettazione di un nuovo stile di freccia da zero?

risposta

14

Una soluzione, molto veloce, per scalare solo la punta della freccia è il numero %2 nel seguente:

\documentclass[multi=false,tikz,border=2mm]{standalone} 
\usetikzlibrary{arrows,decorations.markings} 

\begin{document} 

\begin{tikzpicture} 
%1 
\draw [->,>=stealth] (0,.5) -- (2,.5); 
%2 
\draw [decoration={markings,mark=at position 1 with 
    {\arrow[scale=3,>=stealth]{>}}},postaction={decorate}] (0,0) -- (2,0); 
\end{tikzpicture} 

\end{document} 

Questo produce:

enter image description here

(spiacente per lo zoom eccessiva).

Molto più nelle risposte a this question e nel this answer, that I used as a source.

Addendum

\tikzset approccio. Questo codice:

\documentclass[multi=false,tikz,border=2mm]{standalone} 
\usetikzlibrary{arrows,decorations.markings} 

\begin{document} 

\begin{tikzpicture} 
\tikzset{myptr/.style={decoration={markings,mark=at position 1 with % 
    {\arrow[scale=3,>=stealth]{>}}},postaction={decorate}}} 
%1 
\draw [->,>=stealth] (0,.5) -- (2,.5); 
%2 
\draw [myptr] (0,0) -- (2,0); 
\end{tikzpicture} 

\end{document} 

produce lo stesso output come quello sopra (fonte: PGF Manual, sezione 2.8).

Ovviamente è possibile utilizzare -Latex anziché stealth.

+1

La mia definizione originale è \ tikzset {myptr/.style = -latex}. Mi piacerebbe cambiarlo in un modo semplice perché è usato in molti posti. Ho provato a cambiarlo in qualcosa come \ tikzset {myptr/.style = {- Latex [length = 3mm, width = 5mm]}} ma ha prodotto un errore: "Non conosco la chiave" length [... " . A proposito la mia conoscenza di tikz è piuttosto scarsa. – Tsf

+1

Preferisco solo quelli che usano "myptr", se possibile. – Tsf