%%% $Id: qsymbols.tex,v 1.5 1994/10/28 18:19:28 kris Exp $
%%%
%%% `Quoted math symbol abbreviations' package for LaTeX 2e: documentation.
%%% Copyright (c) 1994   Kristoffer H. Rose   <kris@diku.dk>
%%%
%%% 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}

\documentclass[a4paper]{article}

\usepackage{shortvrb} \let\|=| \MakeShortVerb\|

\usepackage[xy]{qsymbols}

\newcommand\QSYMBOLS{\texttt{qsymbols}}
\newcommand\AMS{{\the\textfont2 A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}

\begin{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\title{ Summary of \QSYMBOLS }

\author{Kristoffer H.~Rose%
  \thanks{E-mail: \texttt{kris\@diku.dk}, 
    W3~URL: \texttt{http://www.diku.dk/users/kris/}.}}

\date{Version \qsymbolsversion\ $\langle$\qsymbolsdate$\rangle$}

\maketitle

\begin{abstract}\noindent
  \QSYMBOLS\ is a \LaTeX~\cite{L94:LaTeX} package defining systematic
  mnemonic abbreviations, starting with a single open quote, |`|, for symbols
  and arrows from the |amssymb| and |stmaryrd| packages.  Optionally a very
  large class of arrows can be typeset using \Xy-pic~\cite{R94:XY-picRM}.
\end{abstract}

\tableofcontents

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Introduction}

\QSYMBOLS\ sets up a number of mnemonic and compact abbreviations for math
symbols from \LaTeX\ and the packages \texttt{amssymb} and \texttt{stmaryrd},
which it loads.  The abbreviations all start with the backquote character
|`|.  Some are a single character, some a more complicated pattern, but
always the idea is to use abbreviations that hint at the \textit{visual}
appearance of the symbol.  Finally it is possible for the user to add more
abbreviations of the simpler categories.

You can retrieve \QSYMBOLS\ as well as the \texttt{amssymb} and
\texttt{stmaryrd} packages by anonymous ftp from all CTAN archives in
directory \texttt{/tex-archive\slash macros\slash latex\slash contrib\slash
  supported/}\footnote{The `home' of \QSYMBOLS\ is \texttt{ftp.diku.dk} in
  directory \texttt{/diku\slash users\slash kris\slash TeX/}.} (each package
has its own subdirectory).

The following sections describe the various classes of symbols that are
loaded.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Simple symbols}

\subsection{Greek letters}

All the standard greek letters used in math are available as |`| followed by
a letter: either lowercase:
\[
\begin{array}{\|r\|*{23}{@{\hspace{1ex}}c}\|}
  \hline
  x    &|a|&|b|&|c|&|d|&|e|&|f|&|g|&|h|&|i|&|j|&|k|&|l|&|m|&|n|&|p|&|q|
       &|r|&|s|&|t|&|w|&|x|&|y|&|z|\\
  \hline
  |`|x &`a &`b &`c &`d &`e &`f &`g &`h &`i &`j &`k &`l &`m &`n &`p &`q
       &`r &`s &`t &`w &`x &`y &`z \\
\hline
\end{array}
\]
or uppercase:
\[
\begin{array}{\|r\|*{11}c\|}
  \hline
  x    &|D|&|F|&|G|&|J|&|L|&|P|&|Q|&|S|&|W|&|X|&|Y|\\
  \hline                               
  |`|x &`D &`F &`G &`J &`L &`P &`Q &`S &`W &`X &`Y \\
  \hline
\end{array}
\]

\subsection{Common symbols}

Simple symbols are available using |`| followed by a symbolic representation
of the symbol.  The most common have single character representations:
\[
\begin{array}{\|r\|*{18}{@{\hspace{.5pc}}c}\|}
  \hline
  x
  &|+|&|*|&|:|&|;|&|/|&|U|&|-|&|_|&|o|&|O|&|.|&|=|&|~|&|E|&|A|&|!|&|^|&|V|\\
  \hline
  |`|x
  &`+ &`* &`: &`; &`/ &`U &`- &`_ &`o &`O &`. &`= &`~ &`E &`A &`! &`^ &`V \\
  \hline
\end{array}
\]

\subsection{Circled and Boxed Symbols}

These are represented using round and square brackets, respectively:
\[
\begin{array}{\|r\|*{18}{@{\hspace{.5pc}}c}\|}
\hline
x~&   & |+|& |-|& |`*|& |/|& \| & |`/|&|`.|& |*|& |`o|
  & |`^|& |`V|& |<|& |>|& |?|& |!|& |:-|& |a| \\
\hline               
|`(|x|)|
  &`()&`(+)&`(-)&`(`*)&`(/)&`(|)&`(`/)&`(`.)&`(*)&`(`o)
  &`(`^)&`(`V)&`(<)&`(>)&`(?)&`(!)&`(:-)&`(a) \\
\hline
|`[|x|]|
  &`[]&`[+]&`[-]&`[`*]&`[/]&`[|]&`[`/]&`[`.]&`[*]&`[`o]
  &`[`^]&`[`V]&`[<]&`[>]&`[?]&`[!]&`[:-]&`[a] \\
\hline
\end{array}
\]
As it can be seen, `undefined' codes like |`(a)| and |`[a]| result in the
contents being circled and boxed, respectively.

\subsection{Bold symbols}

The \AMS-\LaTeX\ |\boldsymbol| command is available by using the special
abbreviation |`"|$x$ for the bold version $`"x$ of $x$ as well as |`"`|$x$
where $x$ is on one of the forms described in this section, i.e., |`"`a|
gives $`"`a$.

\subsection{Adding new symbols}

Symbols of all the above forms can be added using the form
$$
|\newqsymbol|~|{`|\mbox{\it code}|}|~|{|\mbox{\it expansion}|}|
$$ which makes |`|\textit{code} behave as \textit{expansion} in math mode.
\texttt{code} should be either a single character or some characters in |()|,
|[]|, or |{}|.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Orderings}

Two to four consecutive |`|s indicate an ordering relation.
\[
\def\e{\epsilon}
\def\be{{\backepsilon}}
\begin{array}{\|c\|*6{@{\hspace{\jot}}c}\|*6{@{\hspace{\jot}}c}\|}
  \hline
  \e,\be &|``|\e  &|``/|\e  &|``|\e|=|  &|``/|\e|=|  &|```|\e  &|````|\e 
         &|``|\be &|``/|\be &|``|\be|=| &|``/|\be|=| &|```|\be &|````|\be \\
  \hline
  |<|,|>| & ``< & ``/< & ``<= & ``/<= & ```< & ````<
          & ``> & ``/> & ``>= & ``/>= & ```> & ````> \\                    
  |(|,|)| & ``( & ``/( & ``(= & ``/(= & ```( & ````(
          & ``) & ``/) & ``)= & ``/)= & ```) & ````) \\                    
  |[|,|]| & ``[ & ``/[ & ``[= & ``/[= & ```[ & ````[
          & ``] & ``/] & ``]= & ``/]= & ```] & ````] \\
  |\{|,|\}| & ``\{ & ``/\{ & ``\{= & ``/\{= & ```\{ & ````\{
            & ``\} & ``/\} & ``\}= & ``/\}= & ```\} & ````\} \\
  |\<|,|\>| & ``\< & ``/\< & ``\<= & ``/\<= & ```\< & ````\<
            & ``\> & ``/\> & ``\>= & ``/\>= & ```\> & ````\> \\
  | ~|,|\~| & ``~ & ``/~ & ``~= & ``/~= & ```~ & ````~
            & ``\~ & ``/\~ & ``\~= & ``/\~= & ```\~ & ````\~ \\
  | -|,|\-| & ``- & ``/- & ``-= & ``/-= & ```- & ````-
            & ``\- & ``/\- & ``\-= & ``/\-= & ```\- & ````\- \\
  \hline
\end{array}
\]
Some abbreviations are provided for convenience:
\[
\begin{array}{\|r\|*{5}c\|}
\hline
x     & |U|& |^|& |V|& |S|& |P|\\
\hline                                                   
|``|x &``U &``^ &``V &``S &``P \\
\hline
\end{array}
\]
There is no simple way to add more orderings.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Arrows}

Double quotes |"|\dots|"| make it possible to typeset arrows.

\subsection{Canned arrows}

The available arrows are shown in figure~\ref{f.standard-arrows}.  A notation
similar to the \Xy-pic~\cite{R94:XY-picRM} `arrow' feature notation
variant-tail-shaft-tip is used to.

\begin{figure*}[ht]
$$
\begin{array}{\|cccc\|cccc\|}
\hline
\verb;"<-";&"<-"&\verb;"<-!";&"<-!"&\verb;"->";&"->"&\verb;"-!>";&"-!>" \\
\verb;"<=";&"<="&\verb;"<=!";&"<=!"&\verb;"=>";&"=>"&\verb;"=!>";&"=!>" \\
\verb;"<3";&"<3"&&               &\verb;"3>";&"3>"&&                \\
\verb;"</-";&"</-"&&             &\verb;"-/>";&"-/>"&&              \\
\verb;"</=";&"</="&&             &\verb;"=/>";&"=/>"&&              \\
\hline
\verb;"<->";&"<->"&\verb;"<-!>";&"<-!>" &\verb;"</->";&"</->"&&     \\
\verb;"<=>";&"<=>"&\verb;"<=!>";&"<=!>" &\verb;"</=>";&"</=>"&&     \\
\hline
\verb;"<-|";&"<-|"&\verb;"<-!|";&"<-!|"&\verb;"|->";&"|->"&\verb;"|-!>";&"|-!>"\\
\verb;"<=|";&"<=|"&\verb;"<=!|";&"<=!|"&\verb;"|=>";&"|=>"&\verb;"|=!>";&"|=!>"\\
\hline
\verb;"<-'";&"<-'"&&             &\verb;"`->";&"`->"&&              \\
\verb;"^<-";&"^<-"&\verb;"_<-";&"_<-"&\verb;"^->";&"^->"&\verb;"_->";&"_->"\\
\verb;"<--";&"<--"&&             &\verb;"-->";&"-->"&&              \\
\hline
\verb;"<<-";&"<<-"&&             &\verb;"->>";&"->>"&&              \\
\verb;"<<=";&"<<="&&             &\verb;"=>>";&"=>>"&&              \\
\hline
&       &\verb;"<~>";&"<~>"      &\verb;"~>";&"~>"&&                \\
\verb;"<-<";&"<-<"&&             &\verb;">->";&">->"&&              \\
\hline
&&&                            &\verb;"-o";&"-o"&&                \\
&&&                            &\verb;"->o";&"->o"&&              \\
&&&                            &\verb;"->>o";&"->>o"&&            \\
\verb;"<|-";&"<|-"&\verb;"<|-|>";&"<|-|>" &\verb;"-|>";&"-|>"&&       \\
\hline
\end{array}
$$
\caption{Standard arrow symbols}
\label{f.standard-arrows}
\end{figure*}

\subsection{Adding new arrows:}

You can add more `canned' arrows of this kind with commands
$$
|\newqsymbol|~|{"|\mbox{\it arrow}|"}|~|{|\mbox{\it expansion}|}|
$$
which makes |"|\textit{arrow}|"| behave as \textit{expansion} in math mode.

\subsection{Using \Xy-pic for arrows:}

If the option |[xy]| is used in the |\usepackage| command, or if
\Xy-pic~\cite{R94:XY-picRM}\footnote{\Xy-pic version~2.12 or later is needed
  for this to work.} is already loaded, then the \Xy-pic arrow feature (with
the `cmtip' extension) is used to allow a much more general class of arrows,
constructed according to the following rules (with examples where they extend
the notation used for the standard):
\begin{itemize}

\item Basic arrows are composed by combining the variants
  |23^_|, the tips |<>|\verb,|,|xo`'|, and the connectors |-=.:~|.

\item The character |/| `negates' the arrow (once or twice) similar to the
  way |\not| does for relations, and the characters |?+*| are used to mark
  the arrow with a symbol corresponding to the reflexive, transitive, and
  reflexive transitive, closures:
  \[
  \begin{array}{\|c\|*5c\|}
    \hline
       x    &|`-/>|&|-//>|&|=>?|&|`->+| &\relax\verb,|-->*, \\
    \hline
    \mbox{\tt "}x\mbox{\tt "} &"`-/>"&"-//>"&"=>?"&"`->+"&"|-->*"\\
    \hline
  \end{array}
  \]

\item Each |!| character makes the arrow a bit longer.
  \[
  \begin{array}{\|c\|*4c\|}
    \hline
       x    &|->|&|-!>|&|-!!>| &|-!!!>| \\
    \hline                           
    \mbox{\tt "}x\mbox{\tt "} &"->"&"-!>"&"-!!>" &"-!!!>" \\
    \hline
  \end{array}
  \]
  \textit{Note}: Some arrows are automatically made a bit longer, e.g., the
  |<~>| arrow shown above.

\item The form |{|$\ell$|}| adds the $\ell$ material to the end of the
  \Xy-pic arrow.  All \Xy-pic $\langle$labels$\rangle$ can be used as
  described in~\cite[\S16]{R94:XY-picRM}, for example,
  \[
  \begin{array}{\|c\|*3c\|}
    \hline
       x    &|-{_1}>|&|={^\sin}!>>|&\verb,={|{`b}}!!|>,\\
    \hline
    |"|x|"| &"-{_1}>"&"={^\sin}!>>"&     "={|{`b}}!!|>"\\
    \hline
  \end{array}
  \]
  Use this with care!

\item The forms |(|$x$|)| and |[|$x$|]| insert a break with $x$ in a
  circle/box, respectively:
  \[
  \begin{array}{\|c\|*2c\|}
    \hline
       x    &|(1)>|&|[1]>>|\\
    \hline                
    |"|x|"| &"(1)>"&"[1]>>"\\
    \hline
  \end{array}
  \]

\end{itemize}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{thebibliography}{1}

\bibitem{L94:LaTeX}
Leslie Lamport.
\newblock {\em {\LaTeX}---A Document Preparation System}.
\newblock Addison-Wesley, 2nd edition, 1994.

\bibitem{R94:XY-picRM}
Kristoffer~H. Rose and Ross Moore.
\newblock {\XY}-pic reference manual.
\newblock Mathematics Report 94--155, MPCE, Macquarie University, NSW 2109,
  Australia, June 1994.
\newblock For version 2.10+. Latest version available by anonymous ftp in {\tt
  ftp.diku.dk: /diku\slash users\slash kris\slash TeX\slash xyrefer.ps.Z}.

\end{thebibliography}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\end{document}

% $Log: qsymbols.tex,v $
% Revision 1.5  1994/10/28  18:19:28  kris
% Added '{..} and documented "...{...}..." <labels>.
%
% Revision 1.4  1994/10/28  15:08:46  kris
% Added boldsymbol support.
%
% Revision 1.3  1994/10/26  16:47:07  kris
% Fixed a few things :-)
%
% Revision 1.2  1994/10/26  02:10:17  kris
% Integrated qarrow; use of Xy-pic is an option.
%
% Revision 1.1  1994/10/24  22:55:12  kris
% Initial revision
%
% From kris-sty.tex 1.4.
