# How to make the vertices not connect to arrows?

I draw the following graph in Metapost. How to make the vertices of the subgraph with red edges not connect to arrows. The graph I obtained is I want the vertices looks like the following picture (there is small space between a vertex and the arrows connnected to it). Thank you very much. ``````beginfig(1) ;
pair A[],L[],R[],N[],q[];
path p[];

A := (0,2cm);

for i=2 upto 5:
A[i] := A[i-1] rotated -360/5;
endfor;

label.top(btex 1  etex, A);
label.rt(btex 2  etex, A);
label.bot(btex 3  etex, A);
label.bot(btex 4  etex, A);
label.lft(btex 5  etex, A);

for i=1 upto 5:
q[i]:=A[i] rotated -36;
endfor;

q:=0.5[A, A];

for i=1 upto 6:
draw q[i] withpen pencircle scaled 2bp;
endfor;

for i=1 upto 5:
draw A[i] withpen pencircle scaled 2bp;
endfor;

N:=0.5[A,A];
N:=1.5[A,N];
N:=0.5[A,N];

p:=A..N..A;
p:=A..N..A;

draw p;
draw p;

drawarrow subpath(0,1) of p;
drawarrow subpath(0,0.2) of p;
drawarrow subpath(0,1.8) of p;

drawarrow subpath(0,1) of p;
drawarrow subpath(0,0.2) of p;
drawarrow subpath(0,1.8) of p;

N:=0.5[A,A];
N:=0.5[A,N];

p:=A..N..A;

draw p;

drawarrow subpath(0,1.3) of p;
drawarrow subpath(0,0.5) of p;
drawarrow subpath(0,1.8) of p;

N:=0.5[A,A];
N:=0.5[A,N];

p:=A..N..A;

draw p;

drawarrow subpath(0,0.8) of p;
drawarrow subpath(0,0.3) of p;
drawarrow subpath(0,1.8) of p;

p:=A..A;

draw p;
drawarrow subpath(0,0.5) of p;

drawarrow q..A..q withcolor red;
drawarrow q..A..q withcolor red;
drawarrow q..A..q withcolor red;
drawarrow q..A..q withcolor red;
drawarrow q..A..q withcolor red;

drawarrow q.. p intersectionpoint p ..q withcolor red;
drawarrow q.. p intersectionpoint p ..q withcolor red;
drawarrow q.. p intersectionpoint p ..q withcolor red;
drawarrow q.. p intersectionpoint p ..q withcolor red;

endfig;

end
``````
• Just an honest question to the upvoters? Is this latex related (in order of this site) or there is a better forum to ask this question? – koleygr Nov 12 '18 at 12:34
• @koleygr METAPOST is part of TeX systems, shipped with texlive and friends. Btw this is TeX S.E., not LaTeX S.E. There also plain TeX users, ConTeXt users and more here. – sztruks Nov 12 '18 at 12:39
• @sztruks... My question was honest, and haven't herd about metapost... Thanks for the info... (ConTeXt is also something I have no idea about and will check it soon). Thanks – koleygr Nov 12 '18 at 12:43
• @koleygr. No problem, those great tools are not as known as they could be. And my first comment was definatly too rude, apologize. – sztruks Nov 12 '18 at 12:46
• @sztruks.. Just show the edit in your comment... I didn't found rude your first comment... Really.. Not at all.. It was a useful comment for me, and just noticed there that I had asked about "LaTeX related" and not "TeX related" as had too by mistake. But your comment was not rude at all, but a nice comment with enough information I needed to know about. – koleygr Nov 12 '18 at 15:42

Here is an answer : I designed circles around your vertices and used `cutbefore` and `cutafter` primitives

``````beginfig(1) ;
pair A[],L[],R[],N[],q[];
path p[];

A := (0,2cm);

for i=2 upto 5:
A[i] := A[i-1] rotated -360/5;
endfor;

label.top(btex 1  etex, A);
label.rt(btex 2  etex, A);
label.bot(btex 3  etex, A);
label.bot(btex 4  etex, A);
label.lft(btex 5  etex, A);

for i=1 upto 5:
q[i]:=A[i] rotated -36;
endfor;

q:=0.5[A, A];

for i=1 upto 6:
draw q[i] withpen pencircle scaled 2bp;
endfor;

for i=1 upto 5:
draw A[i] withpen pencircle scaled 2bp;
endfor;

N:=0.5[A,A];
N:=1.5[A,N];
N:=0.5[A,N];

p:=A..N..A;
p:=A..N..A;

draw p;
draw p;

drawarrow subpath(0,1) of p;
drawarrow subpath(0,0.2) of p;
drawarrow subpath(0,1.8) of p;

drawarrow subpath(0,1) of p;
drawarrow subpath(0,0.2) of p;
drawarrow subpath(0,1.8) of p;

N:=0.5[A,A];
N:=0.5[A,N];

p:=A..N..A;

draw p;

drawarrow subpath(0,1.3) of p;
drawarrow subpath(0,0.5) of p;
drawarrow subpath(0,1.8) of p;

N:=0.5[A,A];
N:=0.5[A,N];

p:=A..N..A;

draw p;

drawarrow subpath(0,0.8) of p;
drawarrow subpath(0,0.3) of p;
drawarrow subpath(0,1.8) of p;

p:=A..A;

draw p;
drawarrow subpath(0,0.5) of p;

%circles that will create buffers around your vertice
path c[];
for i=1 upto 6 :
c[i]:= fullcircle scaled 4bp shifted q[i] ;
endfor

path r[];
r:= q..A..q ;
r:= q..A..q ;
r:= q..A..q ;
r:= q..A..q ;
r:= q..A..q ;
r:= q.. p intersectionpoint p ..q ;
r:= q.. p intersectionpoint p ..q ;
r:= q.. p intersectionpoint p ..q ;
r:= q.. p intersectionpoint p ..q ;

%cutafter and cutbefore cut path before and after a pair
drawarrow (r cutbefore c cutafter c) withcolor red;
drawarrow (r cutbefore c cutafter c) withcolor red;
drawarrow (r cutbefore c cutafter c) withcolor red;
drawarrow (r cutbefore c cutafter c) withcolor red;
drawarrow (r cutbefore c cutafter c) withcolor red;
drawarrow (r cutbefore c cutafter c) withcolor red;
drawarrow (r cutbefore c cutafter c) withcolor red;
drawarrow (r cutbefore c cutafter c) withcolor red;
drawarrow (r cutbefore c cutafter c) withcolor red;

endfig ;

end
`````` 