ClearAll;
$DefaultFont = {"Times-Roman",10};
Needs["Graphics`Graphics`"];Needs["Graphics`Arrow`"];
vertshift = {0,0.05};
horshift = {0.05,0};
vertshift4 = {0,0.02};
horshift4 = {0.02,0};
coordsL = {1,0};
coordsN = {Cos[1],0};
coordsQ = {Cos[1],Sin[1]};
coordsM = {Cos[0.7],0};
coordsP = {Cos[0.7],Sin[0.7]};
coordsR = {Cos[1],Sin[0.7]};
coordsU = {0,1};
rightM = Graphics[{Line[{coordsM+vertshift,
			coordsM+vertshift-horshift}],
			Line[{coordsM-horshift,
			coordsM+vertshift-horshift}]}];
rightN = Graphics[{Line[{coordsN+vertshift,
			coordsN+vertshift-horshift}],
			Line[{coordsN-horshift,
			coordsN+vertshift-horshift}]}];
rightR = Graphics[{Line[{coordsR-vertshift,
			coordsR-vertshift+horshift}],
			Line[{coordsR+horshift,
			coordsR-vertshift+horshift}]}];
rightRup = Graphics[{Line[{coordsR+vertshift,
			coordsR+vertshift+horshift}],
			Line[{coordsR+horshift,
			coordsR+vertshift+horshift}]}];
OL = Graphics[Line[{{0,0},coordsL}]];
OP = Graphics[Line[{{0,0},coordsP}]];
OQ = Graphics[Line[{{0,0},coordsQ}]];
OU = Graphics[{Dashing[{0.01,0.01}],Line[{{0,0},coordsU}]}];
QN = Graphics[Line[{coordsQ,coordsN}]];
PM = Graphics[Line[{coordsP,coordsM}]];
PR = Graphics[Line[{coordsP,coordsR}]];
QP = Graphics[Line[{coordsQ,coordsP}]];
QR = Graphics[Line[{coordsQ,coordsR}]];
diag1 = {Graphics[{Circle[{0,0},1,{-0.3,1.6}],
			   {Dashing[{0.001,0.01}],Circle[{0,0},1.2,{0,0.3}],
			   	Circle[{0,0},1.2,{0.4,0.7}]}}],
			    OL,OP,PM,OU};
diag2 = {Graphics[{Circle[{0,0},1,{-0.3,1.6}],
			   {Dashing[{0.001,0.01}],Circle[{0,0},1.2,{0,0.3}],
			   	Circle[{0,0},1.2,{0.4,0.7}],
			   	Circle[{0,0},1.2,{0.7,0.8}],
			   	Circle[{0,0},1.2,{0.9,1.0}]}}],
			    OL,OP,OQ,QN,QP};
diag3 = {Graphics[{Circle[{0,0},1,{-0.3,1.6}],
			   {Dashing[{0.001,0.01}],Circle[{0,0},1.2,{0,0.3}],
			   	Circle[{0,0},1.2,{0.4,0.7}],
			   	Circle[{0,0},1.2,{0.7,0.8}],
			   	Circle[{0,0},1.2,{0.9,1.0}]}}],
			    OL,OP,OQ,QN,PM,PR,QP,OU};
diag4 = {Graphics[{Circle[{0,0},1,{0.7,1.0}],
			   {Dashing[{0.001,0.01}],Circle[{0,0},1.05,{0.7,0.8}],
			   	Circle[{0,0},1.05,{0.9,1.0}]}}],
			    PR,QP,QR};
texth = Graphics[Text[h,{1.2Cos[0.85],1.2Sin[0.85]}]];
texth4 = Graphics[Text[h,{1.05Cos[0.85],1.05Sin[0.85]}]];
textx = Graphics[Text[x,{1.2Cos[0.35],1.2Sin[0.35]}]];
textL = Graphics[Text[L,coordsL + horshift]];
textM = Graphics[Text[M,coordsM - vertshift]];
textN = Graphics[Text[N,coordsN - vertshift]];
textO = Graphics[Text[O,{0,0} - vertshift]];
textP = Graphics[Text[P,coordsP + vertshift + horshift]];
textQ = Graphics[Text[Q,coordsQ + vertshift + horshift]];
textP4 = Graphics[Text[P,coordsP + vertshift4 + horshift4]];
textQ4 = Graphics[Text[Q,coordsQ + vertshift4 + horshift4]];
textR = Graphics[Text[R,coordsR - horshift]];
textR4 = Graphics[Text[R,coordsR - horshift4]];
textU = Graphics[Text[U,coordsU + vertshift]];
text1 = {textx,textL,textM,textO,textP,textU};
text2 = {texth,textx,textN,textO,textP,textQ};
text3 = {texth,textx,textL,textM,textN,textO,textP,textQ,textR,textU};
text4 = {texth4,textP4,textQ4,textR4};
Ltip = {1.2,0};
Ltail = {1.2,0.02};
Ptip = {1.2Cos[0.7],1.2Sin[0.7]};
Ptail2 = Ptip + {0.02Sin[0.7],-0.02Cos[0.7]};
Ptail3 = Ptip - {0.02Sin[0.7],-0.02Cos[0.7]};
Qtip = {1.2Cos[1],1.2Sin[1]};
Qtail = Qtip + {0.02Sin[1],-0.02Cos[1]};

Ptip4 = {1.05Cos[0.7],1.05Sin[0.7]};
Ptail4 = Ptip4 - {0.02Sin[0.7],-0.02Cos[0.7]};
Qtip4 = {1.05Cos[1],1.05Sin[1]};
Qtail4 = Qtip4 + {0.02Sin[1],-0.02Cos[1]};

arrow1 = Graphics[Arrow[Ltail,Ltip]];
arrow2 = Graphics[Arrow[Ptail2,Ptip]];
arrow3 = Graphics[Arrow[Ptail3,Ptip]];
arrow4 = Graphics[Arrow[Qtail,Qtip]];
arrow5 = Graphics[Arrow[Ptail4,Ptip4]];
arrow6 = Graphics[Arrow[Qtail4,Qtip4]];
panel1 = Show[diag1,text1,arrow1,arrow2,
		  rightM,AspectRatio->Automatic,
		  PlotLabel->"(a)",
		  PlotRange->{{-0.2,1.3},{-0.2,1.3}}];
panel2 = Show[diag2,text2,arrow1,arrow2,arrow3,arrow4,
		  rightN,AspectRatio->Automatic,
		  PlotLabel->"(b)",
		  PlotRange->{{-0.2,1.3},{-0.2,1.3}}];
panel3 = Show[diag3,text3,arrow1,arrow2,arrow3,arrow4,
		  rightM,rightN,rightR,AspectRatio->Automatic,
		  PlotLabel->"(c)",
		  PlotRange->{{-0.2,1.3},{-0.2,1.3}}];
panel4 = Show[diag4,text4,arrow5,arrow6,
		  rightRup,AspectRatio->Automatic,
		  PlotLabel->"(d)",
		  PlotRange->{{0.5,0.82},{0.5,1.01}}];
Show[GraphicsArray[{{panel1,panel2},{panel3,panel4}}],
	 PlotLabel->"Figure 30.1"]