# 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? 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. 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 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. 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. 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
`````` 