%%% $Id: qsymbols.sty,v 1.5 1994/10/28 18:19:36 kris Exp $ %%% %%% `Quoted math symbol abbreviations' package for LaTeX 2e: macros. %%% Copyright (c) 1994 Kristoffer H. Rose %%% %%% This package is free software; you can redistribute it and/or modify %%% it under the terms of the GNU General Public License as published by the %%% Free Software Foundation; either version 2 of the License, or (at your %%% option) any later version. %%% %%% This package is distributed in the hope that it will be useful, but %%% WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY %%% or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License %%% for more details. %%% %%% You should have received a copy of the GNU General Public License along %%% with this package; if not, write to the Free Software Foundation, Inc., %%% 675 Mass Ave, Cambridge, MA 02139, USA. %%% \NeedsTeXFormat{LaTeX2e} \def\tmp#1Revision: #2 $,#3Date: #4 #5 ${% \ProvidesPackage{qsymbols}[#4 Quoted math symbol abbreviations v.#2] \def\qsymbolsversion{#2}\def\qsymbolsdate{#4}} \tmp$Revision: 1.5 $,$Date: 1994/10/28 18:19:36 $ %%% Process Options such that \xyloaded is indicator... \DeclareOption{xy}{\edef\@tmp{\catcode64=\the\catcode64}\makeatother \input{xy}\xyoption{arrow}\xyoption{cmtip}\@tmp} \ProcessOptions %%% Import of symbols. \RequirePackage{stmaryrd} \let\blacktriangle=\undefined % Sic. \RequirePackage{amssymb,amsbsy} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% SETUP. %%% Activate ` and " in math mode. \def\tmp{\futurelet\tmp\qsym@} {\catcode`\`=\active \global\let`=\tmp} \mathcode`\`="8000 \def\tmp#1"{\Arr#1 } {\catcode`\"=\active \global\let"=\tmp} \mathcode`\"="8000 \def\qsym@#1{\ifx\bgroup\tmp \def\tmp{`{#1}}\else\def\tmp{`#1}\fi \expandafter\let\expandafter\@tmp\csname qsym@\codeof\tmp\endcsname \ifx\@tmp\relax \@warning{Unknown symbol `\codeof\tmp}% \else \expandafter\@tmp \fi} \def\newqsymbol#1{\def\tmp{#1}% \expandafter\let\expandafter\@tmp\csname qsym@\codeof\tmp\endcsname \ifx\@tmp\relax\else \@warning{Redefining symbol \codeof\tmp}\fi \expandafter\def\csname qsym@\codeof\tmp\endcsname} %%% Auxiliaries (from Xy-pic)... \ifx\xyloaded\undefined {\catcode`\:=12 \catcode`\>=12 % to ensure that all of :->< are other... \gdef\codeof#1{\expandafter\codeof@\meaning#1<-:} \gdef\codeof@#1:->#2<-:{#2}} \def\DN@{\def\next@} \def\DNii@{\def\nextii@} \fi %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% SINGLE SYMBOLS. %%% Letters: \newqsymbol{`a}{\alpha} \newqsymbol{`b}{\beta} \newqsymbol{`c}{\chi} \newqsymbol{`d}{\delta} \newqsymbol{`D}{\Delta} \newqsymbol{`e}{\epsilon} \newqsymbol{`f}{\phi} \newqsymbol{`F}{\Phi} \newqsymbol{`g}{\gamma} \newqsymbol{`G}{\Gamma} \newqsymbol{`h}{\eta} \newqsymbol{`i}{\iota} \newqsymbol{`j}{\psi} \newqsymbol{`J}{\Psi} \newqsymbol{`k}{\kappa} \newqsymbol{`l}{\lambda} \newqsymbol{`L}{\Lambda} \newqsymbol{`m}{\mu} \newqsymbol{`n}{\nu} \newqsymbol{`p}{\pi} \newqsymbol{`P}{\Pi} \newqsymbol{`q}{\theta} \newqsymbol{`Q}{\Theta} \newqsymbol{`r}{\rho} \newqsymbol{`s}{\sigma} \newqsymbol{`S}{\Sigma} \newqsymbol{`t}{\tau} \newqsymbol{`w}{\omega} \newqsymbol{`W}{\Omega} \newqsymbol{`x}{\xi} \newqsymbol{`X}{\Xi} \newqsymbol{`y}{\upsilon} \newqsymbol{`Y}{\Upsilon} \newqsymbol{`z}{\zeta} %%% Symbols: \newqsymbol{`+}{\pm} \newqsymbol{`*}{\times} \newqsymbol{`:}{\in} \newqsymbol{`;}{\notin} \newqsymbol{`/}{\setminus} \newqsymbol{`U}{\cup} \newqsymbol{`_}{\perp} \newqsymbol{`-}{\vdash} \newqsymbol{`o}{\circ} \newqsymbol{`O}{\varnothing} \newqsymbol{`.}{\cdot} \newqsymbol{`=}{\equiv} \newqsymbol{`~}{\sim} \newqsymbol{`E}{\exists} \newqsymbol{`A}{\forall} \newqsymbol{`!}{\lnot} \newqsymbol{`^}{\land} \newqsymbol{`V}{\lor} \newqsymbol{`<}{\less} \newqsymbol{`>}{\gtr} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% CIRCLED & BOXED OPERATIONS. %%% Circled: \newqsymbol{`(}{\oqsym@} \def\oqsym@#1){\def\tmp{`(#1)}% \expandafter\let\expandafter\@tmp\csname qsym@\codeof\tmp\endcsname\relax \ifx\@tmp\relax \encircle{#1}\else \@tmp \fi} \def\encircle#1{{\kern-1pt % \ooalign{\hfil\hbox{$\mathstrut\scriptstyle#1$}\hfil\crcr $\bigcirc$}\kern-1pt}} \newqsymbol{`(+)}{\varoplus} \newqsymbol{`(-)}{\varominus} \newqsymbol{`(`*)}{\varotimes} \newqsymbol{`(/)}{\varoslash} \newqsymbol{`(|)}{\varobar} \newqsymbol{`(`/)}{\varobslash} \newqsymbol{`(`.)}{\varodot} \newqsymbol{`(*)}{\varoast} \newqsymbol{`(`o)}{\varocircle} \newqsymbol{`(`^)}{\varowedge} \newqsymbol{`(`V)}{\varovee} \newqsymbol{`(<)}{\varolessthan} \newqsymbol{`(>)}{\varogreaterthan} \newqsymbol{`()}{\bigcirc} \newqsymbol{`(?)}{\circ} \newqsymbol{`(!)}{\bullet} \newqsymbol{`(:-)}{\smiley} %%% Boxed: \newqsymbol{`[}{\boxedqsym@} \def\boxedqsym@#1]{\def\tmp{`[#1]}% \expandafter\let\expandafter\@tmp\csname qsym@\codeof\tmp\endcsname\relax \ifx\@tmp\relax \enbox{#1}\else \@tmp \fi} \def\enbox#1{{\kern-1pt \raise1pt\hbox{% \ooalign{\hfil\raise.8pt\hbox{$\mathstrut\scriptstyle#1$}\hfil\crcr $\square$}\kern-1pt}}} \newqsymbol{`[+]}{\boxplus} \newqsymbol{`[-]}{\boxminus} \newqsymbol{`[`*]}{\boxtimes} \newqsymbol{`[/]}{\boxslash} \newqsymbol{`[|]}{\boxbar} \newqsymbol{`[`/]}{\boxbslash} \newqsymbol{`[`.]}{\boxdot} \newqsymbol{`[*]}{\boxast} \newqsymbol{`[`o]}{\boxcircle} \newqsymbol{`[]}{\square} \newqsymbol{`[?]}{\whitebox} \newqsymbol{`[!]}{\blackbox} \newqsymbol{`[:-]}{\frowny} %%% Auxiliaries: \def\blackbox{\vcenter{\hbox{\null% \kern.2ex \vrule height 1ex width .8ex depth -.2ex \kern.2ex\null}}} \def\whitebox{\vcenter{\hbox{\null\kern.2ex % \vrule height .8ex depth .0ex width .1ex % \rlap{\vrule height .8ex depth -.7ex width .6ex }% \vrule height .1ex depth .0ex width .6ex % \vrule height .8ex depth .0ex width .1ex \kern.2ex \null}}} \def\smiley{{\hbox{\rlap{$\varbigcirc$}\kern1.3\p@$\scriptstyle\ddot\smile$}}} \def\frowny{{\hbox{\rlap{$\varbigcirc$}\kern1.3\p@$\scriptstyle\ddot\frown$}}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% BOLD SYMBOLS \newqsymbol{`"}{\futurelet\tmp\boldqsymbol} \def\boldqsymbol{% \ifx `\tmp \DN@`{\futurelet\tmp\boldqsymbol@}% \else \let\next@=\boldsymbol \fi \next@} \def\boldqsymbol@{% \ifx [\tmp \DN@[##1]{\boldsymbol{`[##1]}}% \else\ifx (\tmp \DN@(##1){\boldsymbol{`(##1)}}% \else\ifx \bgroup\tmp \DN@##1{\boldsymbol{`{##1}}}% \else \DN@##1{\boldsymbol{`##1}}% \fi\fi\fi \next@} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% ORDERINGS. \newqsymbol{``}{\qsymord@} \def\qsymord@{\def\qsymord@@{}\def\qsymord@@n{}\def\qsymord@@eq{}% \futurelet\tmp\qsymord@i} \def\qsymord@i{% \ifx /\tmp \def\qsymord@@n{n}\def\@tmp/{\futurelet\tmp\qsymord@i}% \else\ifx `\tmp \edef\qsymord@@n{\qsymord@@n x}% \def\@tmp`{\futurelet\tmp\qsymord@i}% \else \let\@tmp=\qsymord@ii \fi\fi \@tmp} \def\qsymord@ii{\def\@tmp##1{\futurelet\tmp\qsymord@x}% \ifx <\tmp \def\qsymord@@{less}% \else\ifx >\tmp \def\qsymord@@{gtr}% \else\ifx (\tmp \def\qsymord@@{subset}% \else\ifx )\tmp \def\qsymord@@{supset}% \else\ifx [\tmp \def\qsymord@@{sqsubset}% \else\ifx ]\tmp \def\qsymord@@{sqsupset}% \else\ifx \{\tmp\def\qsymord@@{prec}% \else\ifx \}\tmp\def\qsymord@@{succ}% \else\ifx \<\tmp\def\qsymord@@{triangleleft}% \else\ifx \>\tmp\def\qsymord@@{triangleright}% \else\ifx ~\tmp\def\qsymord@@{sim}% \else\ifx \~\tmp\def\qsymord@@{backsim}% \else\ifx -\tmp\def\qsymord@@{vdash}% \else\ifx \-\tmp\def\qsymord@@{dashv}% \else \def\@tmp##1{\def\qsymord@@{##1@ord}\futurelet\tmp\qsymord@x}% \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \@tmp} \def\qsymord@x{\ifx =\tmp \def\qsymord@@eq{eq}\def\@tmp={\futurelet\tmp\qsymord@x}% \else \def\@tmp{\csname\qsymord@@n\qsymord@@\qsymord@@eq\endcsname}\fi \@tmp} \mathchardef\less="313C % < \let\lesseq=\leq \let\nlesseq=\nleq \mathchardef\gtr="313E \let\gtreq=\geq \let\ngtreq=\ngeq \def\xless{\mathrel{\wedge}} \def\xgtr{\mathrel{\vee}} \let\xxless=\bigwedge \let\xxgtr=\bigvee \def\nsubset{\not\subset} % `set inclusion' relation \def\nsubseteq{\not\subseteq} \def\nsupset{\not\supset} \def\nsupseteq{\not\supseteq} \let\xsubset=\cap \let\xsupset=\cup \let\xxsubset=\bigcap \let\xxsupset=\bigcup \def\nsqsubset{\not\sqsubset} % `open square' relations \def\nsqsubseteq{\not\sqsubseteq} \def\nsqsupset{\not\sqsupset} \def\nsqsupseteq{\not\sqsupseteq} \let\xsqsubset=\sqcap \let\xsqsupset=\sqcup \let\xxsqsubset=\bigsqcap \let\xxsqsupset=\bigsqcup \let\xprec=\curlywedge % `curly' relations \let\xsucc=\curlyvee \let\xxprec=\bigcurlywedge \let\xxsucc=\bigcurlyvee \let\triangleleft=\vartriangleleft % `triangle' relations \let\triangleright=\vartriangleright \let\xtriangleleft=\vartriangle \let\xtriangleright=\triangledown \let\xxtriangleleft=\bigtriangleup \let\xxtriangleright=\bigtriangledown \def\nsim{\not\sim} % ~ \def\nsimeq{\not\simeq} \let\xsim=\wr \def\nbacksim{\not\backsim} \def\nbacksimeq{\not\backsimeq} \def\xbacksim{\smallint} \def\xxbacksim{\int} \def\vdasheq{\models} % |- \def\nvdasheq{\mathrel\vert\joinrel\not=} \def\xvdash{\mathrel{\top}} \def\ndashv{\not\dashv} \def\dashveq{=\joinrel\mathrel\vert} \def\ndashveq{\not=\joinrel\mathrel\vert} \def\xdashv{\bot} \def\U@ord{\bigcup} % Abbreviations... ``U \expandafter\def\csname\string^@ord\endcsname{\bigwedge} % ``^ \def\V@ord{\bigvee} % ``V \def\S@ord{\sum} % ``S \def\P@ord{\prod} % ``P %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% ARROWS. \newif\ifArr@@hasconn \newif\ifArr@@hasnot \def\Arr{\def\Arr@@{}% \def\Arrv@@{}\def\Arrm@@{}\def\Arrx@@{}\def\Arrw@@{{.9em}}% \Arr@@hasconnfalse \Arr@@hasnotfalse \futurelet\tmp\Arr@} \def\addtoArr@@#1{\expandafter\def\expandafter\Arr@@\expandafter{\Arr@@#1}} \def\addtoArrm@@#1{\expandafter\def\expandafter\Arrm@@\expandafter{\Arrm@@#1}} \def\addtoArrx@@#1{\expandafter\def\expandafter\Arrx@@\expandafter{\Arrx@@#1}} \def\Arr@hasconn{\ifArr@@hasconn \Arr@expand \else \Arr@@hasconntrue \fi} \def\Arr@{\DN@##1{\addtoArr@@{##1}\addtoArrm@@{##1}\futurelet\tmp\Arr@}% \ifx 2\tmp \def\Arrv@@{2}\addtoArr@@2\DN@2{\futurelet\tmp\Arr@}% \else\ifx 3\tmp \def\Arrv@@{3}\addtoArr@@3\DN@3{\futurelet\tmp\Arr@}% \else\ifx ^\tmp \def\Arrv@@{^}\addtoArr@@^\DN@^{\futurelet\tmp\Arr@}% \else\ifx _\tmp \def\Arrv@@{_}\addtoArr@@_\DN@_{\futurelet\tmp\Arr@}% \else\ifx <\tmp \else\ifx >\tmp \else\ifx |\tmp \else\ifx -\tmp \Arr@hasconn \else\ifx =\tmp \Arr@hasconn \addtoArrm@@{-}\def\Arrv@@{2}% \addtoArr@@{=}\DN@={\futurelet\tmp\Arr@}% \else\ifx .\tmp \Arr@hasconn \else\ifx :\tmp \Arr@hasconn\addtoArrm@@{.}\def\Arrv@@{2}% \addtoArr@@{:}\DN@:{\futurelet\tmp\Arr@}% \else\ifx ~\tmp \Arr@hasconn \Arr@expand \else\ifx x\tmp \else\ifx o\tmp \else\ifx `\tmp \else\ifx '\tmp \else\ifx !\tmp \Arr@expand \addtoArr@@{!}\DN@!{\futurelet\tmp\Arr@}% \else\ifx \bgroup\tmp \DN@##1{\addtoArr@@{{##1}}\addtoArrx@@{##1}\futurelet\tmp\Arr@}% \else\ifx (\tmp \Arr@expand\Arr@expand \DN@(##1){\addtoArr@@{(##1)}\addtoArrx@@{|*=/2\Rc/\hbox{\encircle{##1}}}% \futurelet\tmp\Arr@}% \else\ifx [\tmp \Arr@expand\Arr@expand \DN@[##1]{\addtoArr@@{[##1]}\addtoArrx@@{|*\hbox{\enbox{##1}}}% \futurelet\tmp\Arr@}% \else\ifx /\tmp \addtoArr@@{/}% \ifArr@@hasnot \DN@/{\addtoArrx@@{|/.7pt/*\dir{/}}\futurelet\tmp\Arr@}% \else \DN@/{\addtoArrx@@{|/-.7pt/*\dir{/}}\futurelet\tmp\Arr@}% \Arr@@hasnottrue \fi \else\ifx ?\tmp \Arr@expand\addtoArr@@{?}\DN@?{\addtoArrx@@{^\epsilon}% \futurelet\tmp\Arr@}% \else\ifx +\tmp \Arr@expand\addtoArr@@{+}\DN@+{\addtoArrx@@{^{+}}% \futurelet\tmp\Arr@}% \else\ifx *\tmp \Arr@expand\addtoArr@@{*}\DN@*{\addtoArrx@@{^{\textstyle*}}% \futurelet\tmp\Arr@}% \else \let\next@=\Arr@i \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \next@} \def\Arr@star#1#{\Arr@star@{#1}} \def\Arr@star@#1#2{\addtoArr@@{*#1{#2}}\addtoArrm@@{*#1{#2}}% \futurelet\tmp\Arr@} \def\Arr@expand{\DNii@##1{\dimen@=##1}\expandafter\nextii@\Arrw@@\relax \ifdim\dimen@<1em \def\Arrw@@{{1.5em}}% \else\ifdim\dimen@<1.6em \def\Arrw@@{{2.1em}}% \else\ifdim\dimen@<2.2em \def\Arrw@@{{2.7em}}% \else \advance\dimen@.6em \edef\Arrw@@{{\the\dimen@}}\fi\fi\fi} \def\Arr@i{% \ifingraph@ \DN@{\ingraph@false \Arr@x\GRAPHarr@}% \else\if\inxy@ \DN@{\Arr@x\ar}% \else \expandafter\let\expandafter\tmp \csname qsym@\string"\codeof\Arr@@\string"\endcsname \ifx\tmp\relax \ifx\xyloaded\undefined \DN@{\@warning{arrow \string"\codeof\Arr@@\string" undefined}}% \else \DNii@##1{\mathrel{\UseComputerModernTips \xy<0ex,\fontdimen22\textfont2>\Arr@x\ar +/r##1/\endxy}}% \DN@{\expandafter\nextii@\Arrw@@}\fi \else \let\next@=\tmp \fi \fi\fi \next@} \def\Arr@x#1{% %% Eval #1 @\Arrv@@{\Arrm@@}\Arrx@@ ... \DN@{\addAT@#1}% \DNii@{\expandafter\expandafter\expandafter\next@ \expandafter\Arrv@@\expandafter{\Arrm@@}}% \expandafter\nextii@\Arrx@@} \newif\ifingraph@ %%% Arrows: \newqsymbol{"<-"}{\leftarrow} \newqsymbol{"<-!"}{\longleftarrow} \newqsymbol{"<="}{\Leftarrow} \newqsymbol{"<=!"}{\Longleftarrow} \newqsymbol{"<3"}{\Lleftarrow} \ifx\xyloaded\undefined \newqsymbol{""}{\rightarrow} \newqsymbol{"-!>"}{\longrightarrow} \newqsymbol{"=>"}{\Rightarrow} \newqsymbol{"=!>"}{\Longrightarrow} \newqsymbol{"3>"}{\Rrightarrow} \ifx\xyloaded\undefined \newqsymbol{"-/>"}{\nrightarrow}\fi \newqsymbol{"=/>"}{\nRightarrow} \newqsymbol{"<->"}{\leftrightarrow}\newqsymbol{"<-!>"}{\longleftrightarrow} \newqsymbol{"<=>"}{\Leftrightarrow}\newqsymbol{"<=!>"}{\Longleftrightarrow} \ifx\xyloaded\undefined \newqsymbol{""}{\nleftrightarrow}\fi \newqsymbol{""}{\nLeftrightarrow} \newqsymbol{"<-|"}{\mapsfrom} \newqsymbol{"<-!|"}{\longmapsfrom} \newqsymbol{"<=|"}{\Mapsfrom} \newqsymbol{"<=!|"}{\Longmapsfrom} \newqsymbol{"|->"}{\mapsto} \newqsymbol{"|-!>"}{\longmapsto} \newqsymbol{"|=>"}{\Mapsto} \newqsymbol{"|=!>"}{\Longmapsto} \newqsymbol{"<-'"}{\hookleftarrow} \newqsymbol{"`->"}{\hookrightarrow} \newqsymbol{"^<-"}{\leftharpoonup} \newqsymbol{"^->"}{\rightharpoonup} \newqsymbol{"_<-"}{\leftharpoondown}\newqsymbol{"_->"}{\rightharpoondown} \newqsymbol{"<--"}{\dashleftarrow} \newqsymbol{"-->"}{\dashrightarrow} \newqsymbol{"<<-"}{\leftarrow\mkern-15mu\leftarrow} \newqsymbol{"<<="}{\Leftarrow\mkern-15mu\Leftarrow} \newqsymbol{"->>"}{\rightarrow\mkern-15mu\rightarrow} \newqsymbol{"=>>"}{\Rightarrow\mkern-15mu\Rightarrow} \ifx\xyloaded\undefined \newqsymbol{"~>"}{\leadsto}\fi \ifx\xyloaded\undefined \newqsymbol{"<~>"}{\leftrightsquigarrow}\fi \ifx\xyloaded\undefined \newqsymbol{"<-<"}{\leftarrowtail}\fi \ifx\xyloaded\undefined \newqsymbol{">->"}{\rightarrowtail}\fi \newqsymbol{"-o"}{\multimap} \newqsymbol{"->o"}{\rightarrow\mkern-15mu\multimap} \newqsymbol{"->>o"}{\rightarrow\mkern-15mu\rightarrow\mkern-15mu\multimap} \newqsymbol{"-|>"}{\rightarrowtriangle} \newqsymbol{"<|-"}{\leftarrowtriangle} \newqsymbol{"<|-|>"}{\leftrightarrowtriangle} %%% Xy-pic additions... \ifx\xyloaded\undefined \def\inxy@{TF}\else \newdir{o}{=/4pt/+=/-4pt/!<-.3pt,.5pt>{\circ}} \newdir{|>}{!/+4.5pt/\dir{|}*:(1,-.2){\NoComputerModernTips\dir^{>}}% *:(1,+.2){\NoComputerModernTips\dir_{>}}} \newdir{<|}{!/-4.5pt/\dir{|}*:(1,-.2){\NoComputerModernTips\dir_{<}}% *:(1,+.2){\NoComputerModernTips\dir^{<}}} \newdir{>o} {\dir{o}*!/2pt/\dir{>} } \newdir2{>o}{\dir{o}*!/2pt/\dir2{>}} \newdir3{>o}{\dir{o}*!/2pt/\dir3{>}} \newdir{o<} {\dir{o}*!/-2pt/\dir{<} } \newdir2{o<}{\dir{o}*!/-2pt/\dir2{<}} \newdir3{o<}{\dir{o}*!/-2pt/\dir3{<}} \newdir{>>o} {\dir{o}*!/2pt/\dir{>>} } \newdir2{>>o}{\dir{o}*!/2pt/\dir2{>>}} \newdir3{>>o}{\dir{o}*!/2pt/\dir3{>>}} \newdir{o<<} {\dir{o}*!/-2pt/\dir{<<} } \newdir2{o<<}{\dir{o}*!/-2pt/\dir2{<<}} \newdir3{o<<}{\dir{o}*!/-2pt/\dir3{<<}} \newdir{`}{\dir^{(}} \newdir{'}{\dir^{)}} %%% DIAGRAMS: make ` and `` work in Xy-graphs: \let\krisGRAPH@=\GRAPH@ \def\GRAPH@{\ifx `\tmp \DN@`{\futurelet\tmp\krisGRAPH@q}% \else \let\next@=\krisGRAPH@ \fi \next@} \def\krisGRAPH@q{\ifx `\tmp \DN@`{\ingraph@true\Ord}% \else \DN@{\ingraph@true\Arr}\fi \next@} \def\xyg#1#{\xyg@{#1}} \def\xyg@#1#2{$~\vcenter{\objectmargin={1pt}\xygraph{~{(1,0),#1:}#2}}~$} \fi %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% END. \endinput %% $Log: qsymbols.sty,v $ % Revision 1.5 1994/10/28 18:19:36 kris % Added '{..} and documented "...{...}..." . % % Revision 1.4 1994/10/28 15:08:17 kris % Added boldsymbol support. % % Revision 1.3 1994/10/26 16:47:02 kris % Fixed a few things :-) % % Revision 1.2 1994/10/26 02:10:17 kris % Integrated qarrow; use Xy-pic is an option. % % Revision 1.1 1994/10/24 22:55:12 kris % Initial revision % %% Extracted from kris.sty 1.9.