%qbgraphp.sty
%Copyright (C) 2005 August 31 by T. Moonlight .All right reserved
%
%
\typeout{                       sub style         +qbgraphp+}
%\typeout{Option Style‘qbgraphp’2005 August 31 by T. Moonlight}
%\NeedsTeXFormat{LaTeX2e}
%\ProvidesPackage{qbgraphp}[1995/04/02]
%
%include mainpackages
%\RequirePackage{qbgraph}
%
%
% これは不要かも
%
% \def\qbQlined#1#2{\expandafter\expandafter\expandafter\qbGlined\expandafter#1#2}
%
% 例えば 点Pの座標を(x,y)としたいときに，点の名前Pを用いたマクロ\qbPtPをP(x,y)で定義(\def)する。
% つまり自動で\def\qbPtP{P(x,y)}を実行するわけである。凄い。これなら，配列は要らないなあ。
% 結局 A(3,4)に対して、名前\def\qbPtA{A} x座標\def\qbxofPtA{3} y座標\def\qbyofPtA{4}
% の３つのマクロを自動的に作成する仕様に。
%
\def\qbPointDef#1(#2,#3){%
   \def\tmpDummyname{qbPt#1}\@namedef\tmpDummyname{#1}
   \def\tmpDummyname{qbxofPt#1}\@expandtwoargs\@namedef\tmpDummyname{#2}
%   \def\tmpDummyname{qbxofPt#1}\@namedef\tmpDummyname{#2}
%   \def\tmpDummyname{qbyofPt#1}\@namedef\tmpDummyname{#3}
   \def\tmpDummyname{qbyofPt#1}\@expandtwoargs\@namedef\tmpDummyname{#3}
}
  % で、逆に点の名前を引数に\qbxofpoint(A)=3となるようにしようとしたが、
  % この関数タイプのマクロ定義は、座標などで使うために呼び出すと、上手く動かないので、
\def\qbxofPoint(#1){\def\tmpDummyname{qbxofPt#1}\@nameuse\tmpDummyname}
\def\qbyofPoint(#1){\def\tmpDummyname{qbyofPt#1}\@nameuse\tmpDummyname}
  % \qbシリーズ同様に \qbxofPointDef(A,\tmpx) で、Aのx座標を\tmpxに定義するという
  % サブルーティンタイプのマクロにすることにしました。
\def\qbxofPointDef(#1,#2){\def\tmpDummyname{qbxofPt#1}\qbdef{\@nameuse\tmpDummyname}{#2}}
\def\qbyofPointDef(#1,#2){\def\tmpDummyname{qbyofPt#1}\qbdef{\@nameuse\tmpDummyname}{#2}}
\def\qbxyofPointDef(#1,#2,#3){\qbxofPointDef({#1},{#2})\qbyofPointDef({#1},{#3})}
\def\qbxyofTwoPointDef(#1,#2,#3,#4,#5,#6){\qbxyofPointDef({#1},#3,#4)\qbxyofPointDef({#2},#5,#6)}
  % 次の二つは実験？
\def\qbPointView(#1){#1$\,(\qbxofPoint(#1),\,\qbyofPoint(#1)$)}
\def\qbPointXY(#1){(\qbxofPoint(#1),\qbyofPoint(#1))}
%
% \qbP????　シリーズ
% (#1,#2)の位置にテキスト#3を表示
\def\qbPputtxt(#1,#2)(#3){
  \qbputtxt{#1}{#2}{#3}
}
% (#1,#2)の位置にテキスト#3を表示のスペシャル。#4は点の周囲12分割で指示
\def\qbPputtxtsp(#1,#2)(#3)(#4){
  \qbputtxtsp{#1}{#2}{#3}{#4}
}
% 点を描く
\def\qbPpoint(#1,#2){\qbpoint{#1}{#2}}
\def\qbPpointd(#1,#2){\qbpointd{#1}{#2}}
\def\qbPpointb(#1,#2){\qbpointb{#1}{#2}}
\def\qbPpointB(#1,#2){\qbpointB{#1}{#2}}
\def\qbPpointo(#1,#2){\qbpointo{#1}{#2}}
\def\qbPpointO(#1,#2){\qbpointO{#1}{#2}}
\def\qbPpointx(#1,#2){\qbpointx{#1}{#2}}
\def\qbPpointX(#1,#2){\qbpointX{#1}{#2}}
% 線を描く
\def\qbPline(#1,#2)(#3,#4){\qbline{#1}{#2}{#3}{#4}}
\def\qbPlined(#1,#2)(#3,#4){\qblined{#1}{#2}{#3}{#4}}
% 円と円弧を描く
\def\qbPcirc(#1,#2)#3{\qbcirc{#1}{#2}{#3}}
\def\qbPcircc(#1,#2)(#3){\qbcirc{#1}{#2}{#3}}
\def\qbPcircl(#1,#2)(#3,#4){\qbcircl{#1}{#2}{#3}{#4}}
\def\qbPcircd(#1,#2)#3{\qbcircd{#1}{#2}{#3}}
\def\qbPcircdc(#1,#2)(#3){\qbcircd{#1}{#2}{#3}}
\def\qbPcircld(#1,#2)(#3,#4){\qbcircld{#1}{#2}{#3}{#4}}
\def\qbPcircle(#1,#2)(#3,#4){\qbcircle{#1}{#2}{#3}{#4}}
\def\qbPcircled(#1,#2)(#3,#4){\qbcircled{#1}{#2}{#3}{#4}}
\def\qbPcircarc(#1,#2)#3(#4,#5){\qbcircarc{#1}{#2}{#3}{#4}{#5}}
\def\qbPcircarcd(#1,#2)#3(#4,#5){\qbcircarcd{#1}{#2}{#3}{#4}{#5}}
\def\qbParc(#1,#2)(#3,#4)(#5,#6){\qbarc{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbParcd(#1,#2)(#3,#4)(#5,#6){\qbarcd{#1}{#2}{#3}{#4}{#5}{#6}}
% 楕円？かな？
\def\qbPoval(#1,#2)(#3,#4){\qboval{#1}{#2}{#3}{#4}}
\def\qbPovald(#1,#2)(#3,#4){\qbovald{#1}{#2}{#3}{#4}}
\def\qbPovalhd(#1,#2)(#3,#4){\qbovalhd{#1}{#2}{#3}{#4}}
% 矢印（矢線）を描く
\def\qbParrow(#1,#2)(#3,#4)#5{\qbarrow{#1}{#2}{#3}{#4}{#5}}
\def\qbParrowx(#1,#2)(#3,#4)(#5){\qbarrow{#1}{#2}{#3}{#4}{#5}}
\def\qbParrowd(#1,#2)(#3,#4)#5{\qbarrowd{#1}{#2}{#3}{#4}{#5}}
\def\qbParrowdx(#1,#2)(#3,#4)(#5){\qbarrowd{#1}{#2}{#3}{#4}{#5}}
% 点を廻す
\def\qbProtPoint(#1,#2)(#3,#4)(#5){%
  \qbrotpoint{#1}{#2}{#3}{#4}{#5}
}
% 中点
\def\qbPmidPoint(#1,#2)(#3,#4)(#5,#6){%
  \qbgetmidpoint{#1}{#2}{#3}{#4}{#5}{#6}
}
% 角の二等分線
\def\qbPhalfanglePoint(#1,#2)(#3,#4)(#5,#6)(#7,#8){%
  \qbgetangldivlinep{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}
}
% 交点
\def\qbPcrossPoint(#1,#2)(#3,#4)(#5,#6)(#7,#8){%
  \qbcrosspoint{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}
}
% 分点
\def\qbPdivPoint(#1,#2)(#3,#4)#5:#6(#7,#8){%
   \qbgetdivpoint{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}
}
% 垂線の足
\def\qbPverticalPoint(#1,#2)(#3,#4)(#5,#6)(#7,#8){%
   \qbgetverticallinep{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}
%
\def\qbPparallelMark(#1,#2)(#3,#4){\qbparallelmark{#1}{#2}{#3}{#4}}
\def\qbPparallelMarkk(#1,#2)(#3,#4){\qbparallelmarkk{#1}{#2}{#3}{#4}}
\def\qbPparallelMarkkk(#1,#2)(#3,#4){\qbparallelmarkkk{#1}{#2}{#3}{#4}}
%
\def\qbPlineMark(#1,#2)(#3,#4){\qblinemark{#1}{#2}{#3}{#4}}
\def\qbPlineMarkk(#1,#2)(#3,#4){\qblinemarkk{#1}{#2}{#3}{#4}}
\def\qbPlineMarkkk(#1,#2)(#3,#4){\qblinemarkkk{#1}{#2}{#3}{#4}}
\def\qbPlineMarkb(#1,#2)(#3,#4){\qblinemarkb{#1}{#2}{#3}{#4}}
\def\qbPlineMarkB(#1,#2)(#3,#4){\qblinemarkB{#1}{#2}{#3}{#4}}
\def\qbPlineMarko(#1,#2)(#3,#4){\qblinemarko{#1}{#2}{#3}{#4}}
\def\qbPlineMarkO(#1,#2)(#3,#4){\qblinemarkO{#1}{#2}{#3}{#4}}
\def\qbPlineMarkOo(#1,#2)(#3,#4){\qblinemarkOo{#1}{#2}{#3}{#4}}
\def\qbPlineMarkx(#1,#2)(#3,#4){\qblinemarkx{#1}{#2}{#3}{#4}}
\def\qbPlineMarkX(#1,#2)(#3,#4){\qblinemarkX{#1}{#2}{#3}{#4}}
%
\def\qbPangleLabel(#1,#2)(#3,#4)(#5,#6)(#7){\qbangllabel{#1}{#2}{#3}{#4}{#5}{#6}{#7}}
\def\qbPangleLabelx(#1,#2)(#3,#4)(#5,#6)(#7){\qbangllabelx{#1}{#2}{#3}{#4}{#5}{#6}{#7}}
\def\qbPangleLabelxx(#1,#2)(#3,#4)(#5,#6)(#7){\qbangllabelxx{#1}{#2}{#3}{#4}{#5}{#6}{#7}}
\def\qbPangleMarks(#1,#2)(#3,#4)(#5,#6){\qbanglmarks{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbPangleMarksp(#1,#2)(#3,#4)(#5,#6)(#7){\qbanglmarksp{#1}{#2}{#3}{#4}{#5}{#6}{#7}}%
\def\qbPangleMark(#1,#2)(#3,#4)(#5,#6){\qbanglmark{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbPangleMarkk(#1,#2)(#3,#4)(#5,#6){\qbanglmarkk{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbPangleMarkkk(#1,#2)(#3,#4)(#5,#6){\qbanglmarkkk{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbPangleMarkb(#1,#2)(#3,#4)(#5,#6){\qbanglmarkb{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbPangleMarkB(#1,#2)(#3,#4)(#5,#6){\qbanglmarkB{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbPangleMarko(#1,#2)(#3,#4)(#5,#6){\qbanglmarko{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbPangleMarkO(#1,#2)(#3,#4)(#5,#6){\qbanglmarkO{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbPangleMarkOo(#1,#2)(#3,#4)(#5,#6){\qbanglmarkOo{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbPangleMarkx(#1,#2)(#3,#4)(#5,#6){\qbanglmarkx{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbPangleMarkX(#1,#2)(#3,#4)(#5,#6){\qbanglmarkX{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbPangleMarkt(#1,#2)(#3,#4)(#5,#6)(#7){\qbanglmarkt{#1}{#2}{#3}{#4}{#5}{#6}{#7}}
\def\qbPangleMarkbt(#1,#2)(#3,#4)(#5,#6)(#7){\qbanglmarkbt{#1}{#2}{#3}{#4}{#5}{#6}{#7}}
\def\qbPangleMarkBt(#1,#2)(#3,#4)(#5,#6)(#7){\qbanglmarkBt{#1}{#2}{#3}{#4}{#5}{#6}{#7}}
\def\qbPangleMarkot(#1,#2)(#3,#4)(#5,#6)(#7){\qbanglmarkot{#1}{#2}{#3}{#4}{#5}{#6}{#7}}
\def\qbPangleMarkOt(#1,#2)(#3,#4)(#5,#6)(#7){\qbanglmarkOt{#1}{#2}{#3}{#4}{#5}{#6}{#7}}
\def\qbPangleMarkOot(#1,#2)(#3,#4)(#5,#6)(#7){\qbanglmarkOot{#1}{#2}{#3}{#4}{#5}{#6}{#7}}
\def\qbPangleMarkxt(#1,#2)(#3,#4)(#5,#6)(#7){\qbanglmarkxt{#1}{#2}{#3}{#4}{#5}{#6}{#7}}
\def\qbPangleMarkXt(#1,#2)(#3,#4)(#5,#6)(#7){\qbanglmarkXt{#1}{#2}{#3}{#4}{#5}{#6}{#7}}
%
\def\qbParcMark(#1,#2)(#3,#4)(#5,#6){\qbarcmark{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbParcMarkk(#1,#2)(#3,#4)(#5,#6){\qbarcmarkk{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbParcMarkkk(#1,#2)(#3,#4)(#5,#6){\qbarcmarkkk{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbParcMarkb(#1,#2)(#3,#4)(#5,#6){\qbarcmarkb{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbParcMarkB(#1,#2)(#3,#4)(#5,#6){\qbarcmarkB{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbParcMarko(#1,#2)(#3,#4)(#5,#6){\qbarcmarko{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbParcMarkO(#1,#2)(#3,#4)(#5,#6){\qbarcmarkO{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbParcMarkx(#1,#2)(#3,#4)(#5,#6){\qbarcmarkx{#1}{#2}{#3}{#4}{#5}{#6}}
\def\qbParcMarkX(#1,#2)(#3,#4)(#5,#6){\qbarcmarkX{#1}{#2}{#3}{#4}{#5}{#6}}
%
\def\qbPverticalMark(#1,#2)(#3,#4)(#5,#6){\qbverticalmark{#1}{#2}{#3}{#4}{#5}{#6}}
%
\def\qbPtriarea(#1,#2)(#3,#4)(#5,#6)(#7,#8){\qbtriarea{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}
%
% \qbG????  シリーズ
%
\def\qbGputtxt#1(#2){%
  \qbxyofPointDef(#1,\tmpSx,\tmpSy)
  \qbPputtxt(\tmpSx,\tmpSy)(#2)
}%
% #1 点の #2(0-11)の位置に，#3を表示
\def\qbGputtxtsp#1(#2)(#3){%
  \qbGpttxt#1(#2,#3,1)
}%
%
% \qbGpoint (点の名前)　点の描画
\def\qbGpoint#1{\qbxyofPointDef(#1,\tmpSx,\tmpSy) \qbPpoint(\tmpSx,\tmpSy)}
\def\qbGpointd#1{\qbxyofPointDef(#1,\tmpSx,\tmpSy) \qbPpointd(\tmpSx,\tmpSy)}
\def\qbGpointb#1{\qbxyofPointDef(#1,\tmpSx,\tmpSy) \qbPpointb(\tmpSx,\tmpSy)}
\def\qbGpointB#1{\qbxyofPointDef(#1,\tmpSx,\tmpSy) \qbPpointB(\tmpSx,\tmpSy)}
\def\qbGpointo#1{\qbxyofPointDef(#1,\tmpSx,\tmpSy) \qbPpointo(\tmpSx,\tmpSy)}
\def\qbGpointO#1{\qbxyofPointDef(#1,\tmpSx,\tmpSy) \qbPpointO(\tmpSx,\tmpSy)}
\def\qbGpointx#1{\qbxyofPointDef(#1,\tmpSx,\tmpSy) \qbPpointx(\tmpSx,\tmpSy)}
\def\qbGpointX#1{\qbxyofPointDef(#1,\tmpSx,\tmpSy) \qbPpointX(\tmpSx,\tmpSy)}
% \qbGlined (線分)　線分の点線描画 \qbGline (線分)　線分の描画
\def\qbGline#1#2{\qbxyofTwoPointDef(#1,#2,\tmpSx,\tmpSy,\tmpTx,\tmpTy) \qbPline(\tmpSx,\tmpSy)(\tmpTx,\tmpTy)}
\def\qbGlined#1#2{\qbxyofTwoPointDef(#1,#2,\tmpSx,\tmpSy,\tmpTx,\tmpTy) \qbPlined(\tmpSx,\tmpSy)(\tmpTx,\tmpTy)}
\def\qbGarrow#1#2(#3){\qbxyofTwoPointDef(#1,#2,\tmpSx,\tmpSy,\tmpTx,\tmpTy) \qbParrowx(\tmpSx,\tmpSy)(\tmpTx,\tmpTy)(#3)}
\def\qbGarrowd#1#2(#3){%
\qbxyofTwoPointDef(#1,#2,\tmpSx,\tmpSy,\tmpTx,\tmpTy)
\qbParrowdx(\tmpSx,\tmpSy)(\tmpTx,\tmpTy)(#3)}%
% \qbGlinetri (三角形)　三角形の描画
\def\qbGlinetri#1#2#3{
\qbxyofTwoPointDef(#1,#2,\tmpSx,\tmpSy,\tmpTx,\tmpTy) \qbPline(\tmpSx,\tmpSy)(\tmpTx,\tmpTy)
\qbxyofTwoPointDef(#2,#3,\tmpSx,\tmpSy,\tmpTx,\tmpTy) \qbPline(\tmpSx,\tmpSy)(\tmpTx,\tmpTy)
\qbxyofTwoPointDef(#3,#1,\tmpSx,\tmpSy,\tmpTx,\tmpTy) \qbPline(\tmpSx,\tmpSy)(\tmpTx,\tmpTy)
}
%
\def\qbGcirc#1(#2){\qbxyofPointDef(#1,\tmpSx,\tmpSy) \qbPcircc(\tmpSx,\tmpSy)(#2)}
\def\qbGcircd#1(#2){\qbxyofPointDef(#1,\tmpSx,\tmpSy) \qbPcircdc(\tmpSx,\tmpSy)(#2)}
\def\qbGcircl#1#2{\qbxyofTwoPointDef(#1,#2,\tmpSx,\tmpSy,\tmpTx,\tmpTy) \qbPcircl(\tmpSx,\tmpSy)(\tmpTx,\tmpTy)}
\def\qbGcircld#1#2{\qbxyofTwoPointDef(#1,#2,\tmpSx,\tmpSy,\tmpTx,\tmpTy) \qbPcircld(\tmpSx,\tmpSy)(\tmpTx,\tmpTy)}
\def\qbGcircle#1#2{\qbxyofTwoPointDef(#1,#2,\tmpSx,\tmpSy,\tmpTx,\tmpTy) \qbPcircle(\tmpSx,\tmpSy)(\tmpTx,\tmpTy)}
\def\qbGcircled#1#2{\qbxyofTwoPointDef(#1,#2,\tmpSx,\tmpSy,\tmpTx,\tmpTy) \qbPcircled(\tmpSx,\tmpSy)(\tmpTx,\tmpTy)}
\def\qbGcircarc#1(#2)(#3,#4){\qbxyofPointDef(#1,\tmpSx,\tmpSy) \qbPcircarc(\tmpSx,\tmpSy)#2(#3,#4)}
\def\qbGcircarcd#1(#2)(#3,#4){\qbxyofPointDef(#1,\tmpSx,\tmpSy) \qbPcircarcd(\tmpSx,\tmpSy)#2(#3,#4)}
%
\def\qbGoval#1(#2,#3){\qbxyofPointDef(#1,\tmpSx,\tmpSy) \qbPoval(\tmpSx,\tmpSy)(#2,#3)}
\def\qbGovald#1(#2,#3){\qbxyofPointDef(#1,\tmpSx,\tmpSy) \qbPovald(\tmpSx,\tmpSy)(#2,#3)}
\def\qbGovalhd#1(#2,#3){\qbxyofPointDef(#1,\tmpSx,\tmpSy) \qbPovalhd(\tmpSx,\tmpSy)(#2,#3)}
%
\def\qbGarc#1#2#3{
  \qbxyofTwoPointDef(#1,#2,\tmpSx,\tmpSy,\tmpTx,\tmpTy)
  \qbxyofPointDef(#3,\tmpUx,\tmpUy)
  \qbParc(\tmpSx,\tmpSy)(\tmpTx,\tmpTy)(\tmpUx,\tmpUy)
}
%
\def\qbGarcd#1#2#3{
  \qbxyofTwoPointDef(#1,#2,\tmpSx,\tmpSy,\tmpTx,\tmpTy)
  \qbxyofPointDef(#3,\tmpUx,\tmpUy)
  \qbParcd(\tmpSx,\tmpSy)(\tmpTx,\tmpTy)(\tmpUx,\tmpUy)
}
%
%\def\qbGrotPoint #1#2(#3,#4){%
\def\qbGrotPoint #1#2 #3 #4{%
  \qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbProtPoint(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(#3)
  \qbdef{\tmpx}{\tmpGRx} \qbdef{\tmpy}{\tmpGRy}
   \def\tmpDummyname{qbPt#4}\@namedef\tmpDummyname{#4}
   \def\tmpDummyname{qbxofPt#4}\@expandtwoargs\@namedef\tmpDummyname{\tmpGRx}
   \def\tmpDummyname{qbyofPt#4}\@expandtwoargs\@namedef\tmpDummyname{\tmpGRy}
}
\def\qbGmidPoint #1#2 #3{%
  \qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPmidPoint(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(\tmpGMx,\tmpGMy)
  \qbPointDef #3(\tmpGMx,\tmpGMy)
}
\def\qbGhalfanglePoint #1#2#3 #4{%
  \qbxyofPointDef(#2,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#1,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPhalfanglePoint(\tmpGAx,\tmpGAy)(\tmpGPx,\tmpGPy)(\tmpGBx,\tmpGBy)(\tmpGMx,\tmpGMy)
  \qbPointDef #4(\tmpGMx,\tmpGMy)
}
\def\qbGcrossPoint #1#2 #3#4 #5{%
  \qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbxyofTwoPointDef(#3,#4,\tmpGCx,\tmpGCy,\tmpGDx,\tmpGDy)
  \qbPcrossPoint(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(\tmpGCx,\tmpGCy)(\tmpGDx,\tmpGDy)
  \qbPointDef #5(\tmpx,\tmpy)
%   \def\tmpDummyname{qbPt#5}\@namedef\tmpDummyname{#5}
%   \def\tmpDummyname{qbxofPt#5}\@expandtwoargs\@namedef\tmpDummyname{\tmpx}
%   \def\tmpDummyname{qbyofPt#5}\@expandtwoargs\@namedef\tmpDummyname{\tmpy}
}
\def\qbGdivPoint #1#2 #3:#4 #5{%
  \qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPdivPoint(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)#3:#4(\tmpx,\tmpy)
  \qbPointDef #5(\tmpx,\tmpy)
}
\def\qbGdivLine #1#2(#3){%
  \qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPdivLine(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(#3)
}
\def\qbGdivlineMark #1#2(#3){%
  \qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPdivlineMark(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(#3)
}
\def\qbGdivlineMarkk #1#2(#3){%
  \qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPdivlineMarkk(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(#3)
}
\def\qbGdivlineMarko #1#2(#3){%
  \qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPdivlineMarko(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(#3)
}
\def\qbGdivCirc #1(#2)(#3){%
  \qbxyofPointDef(#1,\tmpGAx,\tmpGAy)
  \qbPdivCirc(\tmpGAx,\tmpGAy)#2(#3)
}
\def\qbGdivCircarc #1(#2)#3,#4(#5){%
  \qbxyofPointDef(#1,\tmpGAx,\tmpGAy)
  \qbPdivCircarc(\tmpGAx,\tmpGAy)#2(#3,#4)(#5)
}
\def\qbGverticalPoint #1 #2#3 #4{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPverticalPoint(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(\tmpx,\tmpy)
  \qbPointDef #4(\tmpx,\tmpy)
}
%
\def\qbGparallelMark #1#2{\qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)%
  \qbPparallelMark(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGparallelMarkk #1#2{\qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)%
  \qbPparallelMarkk(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGparallelMarkkk #1#2{\qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)%
  \qbPparallelMarkkk(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
%
\def\qbGlineMark #1#2{\qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)%
  \qbPlineMark(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGlineMarkk #1#2{\qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)%
  \qbPlineMarkk(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGlineMarkkk #1#2{\qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)%
  \qbPlineMarkkk(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGlineMarkb #1#2{\qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)%
  \qbPlineMarkb(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGlineMarkB #1#2{\qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)%
  \qbPlineMarkB(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGlineMarko #1#2{\qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)%
  \qbPlineMarko(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGlineMarkO #1#2{\qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)%
  \qbPlineMarkO(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGlineMarkOo #1#2{\qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)%
  \qbPlineMarkOo(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGlineMarkx #1#2{\qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)%
  \qbPlineMarkx(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGlineMarkX #1#2{\qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)%
  \qbPlineMarkX(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
%
\def\qbGangleLabel #1#2#3(#4){%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleLabel(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(#4)}%
\def\qbGangleLabelx #1#2#3(#4){%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleLabelx(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(#4)}%
\def\qbGangleLabelxx #1#2#3(#4){%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleLabelxx(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(#4)}%
\def\qbGangleMarks #1#2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarks(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGangleMarksp #1#2#3(#4){%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)%
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)%
  \qbPangleMarksp(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(#4)}%
\def\qbGangleMark #1#2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMark(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGangleMarkk #1#2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarkk(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGangleMarkkk #1#2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarkkk(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGangleMarkb #1#2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarkb(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGangleMarkB #1#2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarkB(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGangleMarko #1#2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarko(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGangleMarkO #1#2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarkO(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGangleMarkOo #1#2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarkOo(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGangleMarkx #1#2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarkx(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGangleMarkX #1#2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarkX(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGangleMarkt #1#2#3(#4){%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarkt(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(#4)}%
\def\qbGangleMarkbt #1#2#3(#4){%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarkbt(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(#4)}%
\def\qbGangleMarkBt #1#2#3(#4){%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarkBt(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(#4)}%
\def\qbGangleMarkot #1#2#3(#4){%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarkot(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(#4)}%
\def\qbGangleMarkOt #1#2#3(#4){%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarkOt(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(#4)}%
\def\qbGangleMarkOot #1#2#3(#4){%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarkOot(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(#4)}%
\def\qbGangleMarkxt #1#2#3(#4){%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarkxt(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(#4)}%
\def\qbGangleMarkXt #1#2#3(#4){%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPangleMarkXt(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)(#4)}%
%
\def\qbGarcMark #1 #2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbParcMark(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGarcMarkk #1 #2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbParcMarkk(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGarcMarkkk #1 #2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbParcMarkkk(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGarcMarko #1 #2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbParcMarko(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGarcMarkO #1 #2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbParcMarkO(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGarcMarkx #1 #2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbParcMarkx(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGarcMarkX #1 #2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbParcMarkX(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGarcMarkb #1 #2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbParcMarkb(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
\def\qbGarcMarkB #1 #2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbParcMarkB(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
%
\def\qbGverticalMark #1#2#3{%
  \qbxyofPointDef(#1,\tmpGPx,\tmpGPy)
  \qbxyofTwoPointDef(#2,#3,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbPverticalMark(\tmpGPx,\tmpGPy)(\tmpGAx,\tmpGAy)(\tmpGBx,\tmpGBy)}%
%
\def\qbGregpolygon #1#2(#3){%
  \qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbregpolygon{\tmpGAx}{\tmpGAy}{\tmpGBx}{\tmpGBy}{#3}
}
\def\qbGregpolygonn #1#2(#3)#4.{%
  \qbxyofTwoPointDef(#1,#2,\tmpGAx,\tmpGAy,\tmpGBx,\tmpGBy)
  \qbregpolygonn{\tmpGAx}{\tmpGAy}{\tmpGBx}{\tmpGBy}{#3}{#4}
}%
\endinput
% ここまでがマクロ。以下例文。