%\NeedsTeXFormat{LaTeX2e}
%\typeout{Option Style‘qbgraph’2005 July 29 by T. Moonlight}
%\typeout{......................main style +qbgraph++++++++++}
\typeout{                       sub style         +qbgraphc+ algebra?? qbPMP,etc...}
%
% (#1 Mul #2) Sub (#3 Mul #4) 
\newcommand{\qbmsm}[5]{
\rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt
\Mul{#1}{#2}{\tmpma}
\Mul{#3}{#4}{\tmpmb}
\Sub{\tmpma}{\tmpmb}{#5}
}
% (#1 Mul #2) Add (#3 Mul #4) 
\newcommand{\qbmam}[5]{
\rval=#1pt\rval=#2pt\rval=#3pt\rval=#4pt
\Mul{#1}{#2}{\tmpma}
\Mul{#3}{#4}{\tmpmb}
\Add{\tmpma}{\tmpmb}{#5}
}
\newcommand{\qbdist}[5]{
\Sub{#3}{#1}{\tmpDx}
\Sub{#4}{#2}{\tmpDy}
\qbmam{\tmpDx}{\tmpDx}{\tmpDy}{\tmpDy}{\tmpD}\Sqroot{\tmpD}{\tmpDDD}%\typeout{qbdist,\tmpDx,\tmpDy,\tmpD,\tmpDDD}
\Sqroot{\tmpD}{#5}
}
\newcommand{\qbint}[2]{
\Floor{#1}{1}{#2}{\tmp}
}
%
%
%
\newenvironment{qbPictMiniPageold}[5]%
{%
\Add{#4}{#2}{\qbpictRx}%
\Add{#5}{#3}{\qbpictTy}%
\Mul{#1}{#2}{\qbminiW}%
\Div{\qbminiW}{0.35}{\qbminiW}% mm単位をpt単位に換算
\Div{\qbminiW}{\strip@pt\textwidth}{\qbtxtW}%
\begin{minipage}{\qbtxtW\textwidth}%
\unitlength=#1 truemm\hfill%
\begin{picture}(#2,#3)(#4,#5)%
%\qbPline(\qbpictLx,\qbpictTy)(\qbpictRx,\qbpictBy)%
%\qbPpointX(#4,#5)  \qbPpointX(\qbpictRx,\qbpictTy)
}%
{%
\end{picture}%
\end{minipage}%
}%
%=========================================================
\newenvironment{qbPictMiniPage}[5]%
{%
\Add{#4}{#2}{\qbpictRx}%
\Add{#5}{#3}{\qbpictTy}%
\Sub{#3}{0.1}{\qbPictDy}
\Add{\qbPictDy}{#5}{\qbPictDy}
\Mul{#1}{#2}{\qbminiW}%
\Div{\qbminiW}{0.35}{\qbminiW}% mm単位をpt単位に換算
\Div{\qbminiW}{\strip@pt\textwidth}{\qbtxtW}%
\Mul{#1}{#3}{\qbminiH}%
\Div{\qbminiH}{\strip@pt\textwidth}{\qbtxtH}%
\begin{minipage}[t]{\qbtxtW\textwidth}%
\unitlength=#1 truemm\hfill%
\begin{picture}(#2,0.1)(#4,\qbPictDy)%
%\begin{picture}(#2,1)(#4,#5)%
%\qbPline(\qbpictLx,\qbpictTy)(\qbpictRx,\qbpictBy)%
%\qbPpointX(#4,#5)  \qbPpointX(\qbpictRx,\qbpictTy)
}%
{%
\end{picture}%
\vspace{\qbminiH mm}
\end{minipage}%
}%
%=defで再定義  2006.7.07版========================================================
\def\qbPMP{\@ifnextchar[{\@qbPMP}{\@qbPMP[10]}}%
\def\@qbPMP[#1](#2,#3)(#4,#5)%
{% #1は一目盛を何ミリにとるか？，(#2,#3)が横幅縦幅(#4,$5)が左下隅の座標
\qbdefp{#4}{#5}{\qbpictLx}{\qbpictBy}% 描画領域左下端の座標
\Add{#4}{#2}{\qbpictRx}% 描画領域右端の座標
\Add{#5}{#3}{\qbpictTy}% 描画領域上端の座標
\Sub{#3}{0.1}{\qbPictDy}% 描画領域上端に多少の余裕を
\Add{\qbPictDy}{#5}{\qbPictDy}
\Mul{#1}{#2}{\qbminiW}% 
\Div{\qbminiW}{0.35}{\qbminiW}% mm単位をpt単位に換算
\Div{\qbminiW}{\strip@pt\textwidth}{\qbtxtW}%
\Mul{#1}{#3}{\qbminiH}%
\Div{2.5}{#1}{\qbminiDL}
%\Div{\qbminiH}{\strip@pt\textwidth}{\qbtxtH}%
\begin{minipage}[t]{\qbtxtW\textwidth}%
\unitlength=#1 truemm\hfill%
\begin{picture}(#2,0.1)(#4,\qbPictDy)%
%\begin{picture}(#2,1)(#4,#5)%
%\qbPline(\qbpictLx,\qbpictTy)(\qbpictRx,\qbpictBy)%
%\qbPpointX(#4,#5)  \qbPpointX(\qbpictRx,\qbpictTy)
}%
\def\endqbPMP%
{%
\end{picture}%
\vspace{\qbminiH mm}
\end{minipage}%
}%
%=defで再定義  2006.7.07版========================================================
\def\qbPMPaxis(#1)%
{%
\Add{\qbpictRx}{\qbminiDL}{\qbpictRxplus}
\Add{\qbpictTy}{\qbminiDL}{\qbpictTyplus}
\Sub{\qbpictLx}{\qbminiDL}{\qbpictLxminus}
\Sub{\qbpictBy}{\qbminiDL}{\qbpictByminus}
\qbParrow(\qbpictLxminus,0)(\qbpictRxplus,0)#1
\qbParrow(0,\qbpictByminus)(0,\qbpictTyplus)#1
}%
%=========================================================
\newenvironment{qbPictMiniPageG}[5]%
{%
\Add{#4}{#2}{\qbpictRx}%
\Add{#5}{#3}{\qbpictTy}%
\Sub{#3}{0.1}{\qbPictDy}
\Add{\qbPictDy}{#5}{\qbPictDy}
\Mul{#1}{#2}{\qbminiW}%
\Div{\qbminiW}{0.35}{\qbminiW}% mm単位をpt単位に換算
\Div{\qbminiW}{\strip@pt\textwidth}{\qbtxtW}%
\Mul{#1}{#3}{\qbminiH}%
\Div{\qbminiH}{\strip@pt\textwidth}{\qbtxtH}%
\begin{minipage}[t]{\qbtxtW\textwidth}%
\unitlength=#1 truemm\hfill%
\begin{picture}(#2,0.1)(#4,\qbPictDy)%
\qbParrow(#4,0)(\qbpictRx,0){1}
\Div{10}{#1}{\qbpictCc}\Mul{\qbpictCc}{0.1}{\qbpictCc}
\Sub{\qbpictRx}{\qbpictCc}{\qbPictXx}
\Mul{\qbpictCc}{-3}{\qbpictCx}\qbPputtxt (\qbPictXx,\qbpictCx)($x$)
\qbParrow(0,#5)(0,\qbpictTy){1}
\Sub{\qbpictTy}{\qbpictCc}{\qbPictYy}
\Mul{\qbpictCc}{2.5}{\qbpictCx}\qbPputtxt (\qbpictCx,\qbPictYy)($y$)
\qbPointDef O(0,0)\qbGptlabel O(7.5)
}%
{%
\end{picture}%
\vspace{\qbminiH mm}
\end{minipage}%
}%
%=========================================================
\newenvironment{qbPictMiniPaget}[5]%
{%
\Add{#4}{#2}{\qbpictRx}%
\Add{#5}{#3}{\qbpictTy}%
\Sub{1}{#3}{\qbPictDy}
\Add{\qbPictDy}{#5}{\qbPictDy}
\Mul{#1}{#2}{\qbminiW}%
\Div{\qbminiW}{0.35}{\qbminiW}% mm単位をpt単位に換算
\Div{\qbminiW}{\strip@pt\textwidth}{\qbtxtW}%
\begin{minipage}[t]{\qbtxtW\textwidth}%
%\begin{minipage}{\qbtxtW\textwidth}%
\unitlength=#1 truemm\hfill%
\begin{picture}(#2,#3)(#4,\qbPictDy)%
\typeout{(#2,#3)(#4,#5)}
\Add{#2}{#4}{\tmpMTx}
\Add{#3}{#5}{\tmpMTy}
\typeout{(#2,#3)(#4,#5)(\tmpMTx,\tmpMTy)}
\qbPline(#4,#5)(\tmpMTx,\tmpMTy)%
}%
{%
\end{picture}%
\end{minipage}%
}%
%
%
  \newlength{\tmpTwd}
  \newlength{\tmpTht}
  \newlength{\tmpTdp}
\newcommand{\qbtxtsize}[4]{
  \settowidth{\tmpTwd}{#1}
  \settoheight{\tmpTht}{#1}
  \settodepth{\tmpTdp}{#1}
  \Div{\strip@pt\tmpTwd}{\strip@pt\unitlength}{#2}
  \Div{\strip@pt\tmpTht}{\strip@pt\unitlength}{#3}
  \Div{\strip@pt\tmpTdp}{\strip@pt\unitlength}{#4}
%  \Div{\strip@pt\wd0{}}{\strip@pt\unitlength}{#2}
%  \Div{\strip@pt\the\ht0{}}{\strip@pt\unitlength}{#3}
%  \Div{\strip@pt\the\dp0{}}{\strip@pt\unitlength}{#4}
  
}
%
\def\qbput(#1,#2)(#3){
  \put(#1,#2){#3}
}
%
\endinput
% ここまでがマクロ。以下例文。