% % $Header: dquote.tex,v 1.2 86/09/14 00:18:19 sven Exp $ % % $Log: dquote.tex,v $ % Revision 1.2 86/09/14 00:18:19 sven % Initial revision, LaTeX 2.09 % % Revision 1.1 86/01/15 22:35:33 sven % Initial revision, LaTeX 2.08 % % % Change '(' and ')' in coordinates to '"' to avoid collision with the % new optional argument delimiters '(' and ')'. This assumes that '[' and % ']' already have been substituted for '(' and ')' respectively. \typeout{Change coordinate delimiters from '()' to '""'.} \def\makebox{\@ifnextchar "{\@makepicbox}{\@ifnextchar ({\@makebox}{\mbox}}} \def\@makepicbox"#1,#2"{\leavevmode\@ifnextchar ({\@imakepicbox"#1,#2"}{\@imakepicbox"#1,#2"()}} \long\def\@imakepicbox"#1,#2"(#3)#4{\vbox to#2\unitlength {\let\mb@b\vss \let\mb@l\hss\let\mb@r\hss \let\mb@t\vss \@tfor\@tempa :=#3\do{\expandafter\let \csname mb@\@tempa\endcsname\relax}% \mb@t\hbox to #1\unitlength{\mb@l #4\mb@r}\mb@b}} \def\savebox#1{\@ifnextchar "{\@savepicbox#1}{\@ifnextchar ({\@savebox#1}{\sbox#1}}} \def\@savepicbox#1"#2,#3"{\@ifnextchar ({\@isavepicbox#1"#2,#3"}{\@isavepicbox#1"#2,#3"()}} \long\def\@isavepicbox#1"#2,#3"(#4)#5{\setbox#1 \hbox{\@imakepicbox "#2,#3"(#4){#5}}} \def\framebox{\@ifnextchar "{\@framepicbox}{\@ifnextchar ({\@framebox}{\fbox}}} \def\@framepicbox"#1,#2"{\@ifnextchar ({\@iframepicbox"#1,#2"}{\@iframepicbox"#1,#2"()}} \long\def\@iframepicbox"#1,#2"(#3)#4{\frame{\@imakepicbox"#1,#2"(#3){#4}}} \def\picture"#1,#2"{\@ifnextchar"{\@picture"#1,#2"}{\@picture"#1,#2""0,0"}} \def\@picture"#1,#2""#3,#4"{\@picht #2\unitlength \setbox\@picbox\hbox to #1\unitlength\bgroup \hskip -#3\unitlength \lower #4\unitlength \hbox\bgroup} \long\def\put"#1,#2"#3{\@killglue\raise#2\unitlength\hbox to \z@{\hskip #1\unitlength #3\hss}\ignorespaces} \long\def\multiput"#1,#2""#3,#4"#5#6{\@killglue\@multicnt=#5\relax \@xdim=#1\unitlength \@ydim=#2\unitlength \@whilenum \@multicnt > 0\do {\raise\@ydim\hbox to \z@{\hskip \@xdim #6\hss}\advance\@multicnt \m@ne\advance\@xdim #3\unitlength\advance\@ydim #4\unitlength}\ignorespaces} \def\line"#1,#2"#3{\@xarg #1\relax \@yarg #2\relax \@linelen=#3\unitlength \ifnum\@xarg =0 \@vline \else \ifnum\@yarg =0 \@hline \else \@sline\fi \fi} \def\@sline{\ifnum\@xarg< 0 \@negargtrue \@xarg -\@xarg \@yyarg -\@yarg \else \@negargfalse \@yyarg \@yarg \fi \ifnum \@yyarg >0 \@tempcnta\@yyarg \else \@tempcnta -\@yyarg \fi \ifnum\@tempcnta>6 \@badlinearg\@tempcnta0 \fi \ifnum\@xarg>6 \@badlinearg\@xarg 1 \fi \setbox\@linechar\hbox{\@linefnt\@getlinechar"\@xarg,\@yyarg"}% \ifnum \@yarg >0 \let\@upordown\raise \@clnht\z@ \else\let\@upordown\lower \@clnht \ht\@linechar\fi \@clnwd=\wd\@linechar \if@negarg \hskip -\wd\@linechar \def\@tempa{\hskip -2\wd\@linechar}\else \let\@tempa\relax \fi \@whiledim \@clnwd <\@linelen \do {\@upordown\@clnht\copy\@linechar \@tempa \advance\@clnht \ht\@linechar \advance\@clnwd \wd\@linechar}% \advance\@clnht -\ht\@linechar \advance\@clnwd -\wd\@linechar \@tempdima\@linelen\advance\@tempdima -\@clnwd \@tempdimb\@tempdima\advance\@tempdimb -\wd\@linechar \if@negarg \hskip -\@tempdimb \else \hskip \@tempdimb \fi \multiply\@tempdima \@m \@tempcnta \@tempdima \@tempdima \wd\@linechar \divide\@tempcnta \@tempdima \@tempdima \ht\@linechar \multiply\@tempdima \@tempcnta \divide\@tempdima \@m \advance\@clnht \@tempdima \ifdim \@linelen <\wd\@linechar \hskip \wd\@linechar \else\@upordown\@clnht\copy\@linechar\fi} \def\@sline{\ifnum\@xarg< 0 \@negargtrue \@xarg -\@xarg \@yyarg -\@yarg \else \@negargfalse \@yyarg \@yarg \fi \ifnum \@yyarg >0 \@tempcnta\@yyarg \else \@tempcnta -\@yyarg \fi \ifnum\@tempcnta>6 \@badlinearg\@tempcnta0 \fi \setbox\@linechar\hbox{\@linefnt\@getlinechar"\@xarg,\@yyarg"}% \ifnum \@yarg >0 \let\@upordown\raise \@clnht\z@ \else\let\@upordown\lower \@clnht \ht\@linechar\fi \@clnwd=\wd\@linechar \if@negarg \hskip -\wd\@linechar \def\@tempa{\hskip -2\wd\@linechar}\else \let\@tempa\relax \fi \@whiledim \@clnwd <\@linelen \do {\@upordown\@clnht\copy\@linechar \@tempa \advance\@clnht \ht\@linechar \advance\@clnwd \wd\@linechar}% \advance\@clnht -\ht\@linechar \advance\@clnwd -\wd\@linechar \@tempdima\@linelen\advance\@tempdima -\@clnwd \@tempdimb\@tempdima\advance\@tempdimb -\wd\@linechar \if@negarg \hskip -\@tempdimb \else \hskip \@tempdimb \fi \multiply\@tempdima \@m \@tempcnta \@tempdima \@tempdima \wd\@linechar \divide\@tempcnta \@tempdima \@tempdima \ht\@linechar \multiply\@tempdima \@tempcnta \divide\@tempdima \@m \advance\@clnht \@tempdima \ifdim \@linelen <\wd\@linechar \hskip \wd\@linechar \else\@upordown\@clnht\copy\@linechar\fi} \def\@getlinechar"#1,#2"{\@tempcnta#1\relax\multiply\@tempcnta 8 \advance\@tempcnta -9 \ifnum #2>0 \advance\@tempcnta #2\relax\else \advance\@tempcnta -#2\relax\advance\@tempcnta 64 \fi \char\@tempcnta} \def\vector"#1,#2"#3{\@xarg #1\relax \@yarg #2\relax \@tempcnta \ifnum\@xarg<0 -\@xarg\else\@xarg\fi \ifnum\@tempcnta<5\relax \@linelen=#3\unitlength \ifnum\@xarg =0 \@vvector \else \ifnum\@yarg =0 \@hvector \else \@svector\fi \fi \else\@badlinearg\fi} \def\@hvector{\@hline\hbox to 0pt{\@linefnt \ifnum \@xarg <0 \@getlarrow"1,0"\hss\else \hss\@getrarrow"1,0"\fi}} \def\@svector{\@sline \@tempcnta\@yarg \ifnum\@tempcnta <0 \@tempcnta=-\@tempcnta\fi \ifnum\@tempcnta <5 \hskip -\wd\@linechar \@upordown\@clnht \hbox{\@linefnt \if@negarg \@getlarrow"\@xarg,\@yyarg" \else \@getrarrow"\@xarg,\@yyarg" \fi}% \else\@badlinearg\fi} \def\@getlarrow"#1,#2"{\ifnum #2 =\z@ \@tempcnta='33\else \@tempcnta=#1\relax\multiply\@tempcnta \sixt@@n \advance\@tempcnta -9 \@tempcntb=#2\relax\multiply\@tempcntb \tw@ \ifnum \@tempcntb >0 \advance\@tempcnta \@tempcntb\relax \else\advance\@tempcnta -\@tempcntb\advance\@tempcnta 64 \fi\fi\char\@tempcnta} \def\@getrarrow"#1,#2"{\@tempcntb=#2\relax \ifnum\@tempcntb < 0 \@tempcntb=-\@tempcntb\relax\fi \ifcase \@tempcntb\relax \@tempcnta='55 \or \ifnum #1<3 \@tempcnta=#1\relax\multiply\@tempcnta 24 \advance\@tempcnta -6 \else \ifnum #1=3 \@tempcnta=49 \else\@tempcnta=58 \fi\fi\or \ifnum #1<3 \@tempcnta=#1\relax\multiply\@tempcnta 24 \advance\@tempcnta -3 \else \@tempcnta=51\fi\or \@tempcnta=#1\relax\multiply\@tempcnta \sixt@@n \advance\@tempcnta -\tw@ \else \@tempcnta=#1\relax\multiply\@tempcnta \sixt@@n \advance\@tempcnta 7 \fi\ifnum #2<0 \advance\@tempcnta 64 \fi \char\@tempcnta} \def\dashbox#1"#2,#3"{\leavevmode\hbox to \z@{\baselineskip \z@% \lineskip \z@% \@dashdim=#2\unitlength% \@dashcnt=\@dashdim \advance\@dashcnt 200 \@dashdim=#1\unitlength\divide\@dashcnt \@dashdim \ifodd\@dashcnt\@dashdim=\z@% \advance\@dashcnt \@ne \divide\@dashcnt \tw@ \else \divide\@dashdim \tw@ \divide\@dashcnt \tw@ \advance\@dashcnt \m@ne \setbox\@dashbox=\hbox{\vrule \@height \@halfwidth \@depth \@halfwidth \@width \@dashdim}\put"0,0"{\copy\@dashbox}% \put"0,#3"{\copy\@dashbox}% \put"#2,0"{\hskip-\@dashdim\copy\@dashbox}% \put"#2,#3"{\hskip-\@dashdim\box\@dashbox}% \multiply\@dashdim 3 \fi \setbox\@dashbox=\hbox{\vrule \@height \@halfwidth \@depth \@halfwidth \@width #1\unitlength\hskip #1\unitlength}\@tempcnta=0 \put"0,0"{\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt \do{\copy\@dashbox\advance\@tempcnta \@ne }}\@tempcnta=0 \put"0,#3"{\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt \do{\copy\@dashbox\advance\@tempcnta \@ne }}% \@dashdim=#3\unitlength% \@dashcnt=\@dashdim \advance\@dashcnt 200 \@dashdim=#1\unitlength\divide\@dashcnt \@dashdim \ifodd\@dashcnt \@dashdim=\z@% \advance\@dashcnt \@ne \divide\@dashcnt \tw@ \else \divide\@dashdim \tw@ \divide\@dashcnt \tw@ \advance\@dashcnt \m@ne \setbox\@dashbox\hbox{\hskip -\@halfwidth \vrule \@width \@wholewidth \@height \@dashdim}\put"0,0"{\copy\@dashbox}% \put"#2,0"{\copy\@dashbox}% \put"0,#3"{\lower\@dashdim\copy\@dashbox}% \put"#2,#3"{\lower\@dashdim\copy\@dashbox}% \multiply\@dashdim 3 \fi \setbox\@dashbox\hbox{\vrule \@width \@wholewidth \@height #1\unitlength}\@tempcnta0 \put"0,0"{\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta < \@dashcnt \do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }% \vskip\@dashdim}}\@tempcnta0 \put"#2,0"{\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta< \@dashcnt \relax\do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }% \vskip\@dashdim}}}\@makepicbox"#2,#3"} \def\oval"#1,#2"{\@ifnextchar({\@oval"#1,#2"}{\@oval"#1,#2"()}} \def\@oval"#1,#2"(#3){\begingroup\boxmaxdepth \maxdimen \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue \@tfor\@tempa :=#3\do{\csname @ov\@tempa false\endcsname}\@ovxx #1\unitlength \@ovyy #2\unitlength \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi \@getcirc \@tempdimb \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@ \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@ \@circlefnt \setbox\@tempboxa \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi \if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi \if@ovt \@ovhorz \kern -\@ovxx \fi \if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@ \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}% \endgroup}