 
\documentstyle[twocolumn]{article}
%
\setlength{\textwidth}{7in}
\setlength{\textheight}{9in}
\setlength{\oddsidemargin}{-.4in}
\setlength{\topmargin}{-.5in}
\newlength{\br}
\setlength{\br}{8em}
%
\renewcommand{\c}{\(\clubsuit\)}
\renewcommand{\d}{\(\diamondsuit\)}
\newcommand{\h}{\(\heartsuit\)}
\newcommand{\s}{\(\spadesuit\)}
%
\newcommand{\hand}[4]{
 \begin{minipage}[t]{\br}%I chose \br=8em
 \begin{tabbing}
 %width of parbox depends on the parameters:
 %min{\br, max{string #1, ..., string #4}}
  \(\spadesuit\)  \= #1 \\
  \(\heartsuit\)  \> #2 \\
  \(\diamondsuit\)\> #3 \\
  \(\clubsuit\)   \> #4
 \end{tabbing}
 \end{minipage}     }%end \hand
%
\newsavebox{\NESW}
\savebox{\NESW}[4em]{%
\raisebox{-1.5\baselineskip}%
{\fbox{\small W
   \raisebox{2.6ex}{N}
   \hspace*{-1em}
   \raisebox{-2.6ex}{S}
   {E}
      }
}          }%end \NESW
%
\newcommand{\crdima}[6]{%
\begin{tabular}[t]{lll}
 #1 & #3             & #2\\
 #4 & \usebox{\NESW} & #5\\
    & #6             &
\end{tabular}
}%end \crdima
%
\newenvironment{bidding}%
{\begin{tabbing}
 xxxxxx\=xxxxxx\=xxxxxx\=xxxxxx \kill
 West  \>North \>East  \> South\\
}{\end{tabbing} }%end bidding
%
\begin{document}
\title{Typesetting Bridge\\
 via \LaTeX}
\author{C.G. van der Laan\\
Rekencentrum RUG\\
9700 AV Groningen\\
The Netherlands\\
Earn/Bitnet: cgl@hgrrug5\\
\date{}}
\maketitle
\begin{abstract}
\LaTeX\ macros and a bidding environment
for typesetting bridge card distributions and bidding
sequences are given.
Examples borrowed from bridge literature are supplied.
\end{abstract}
%
\section{Card deals}
In bridge literature diagrams of distribution of cards over
the hands are often given in order to demonstrate bidding
sequences or to explain play technique.
In order to do this systematically and to abstract from layout details
I wrote a macro --- \verb=crdima= --- with six parameters
\begin{description}
\item[first parameter:] text, especially who is the dealer and what is the
     vulnerability. For example: N/None, for North dealer and
     vulnerability none.
\item[second parameter:] text, for example indication of play,
 e.g., number \verb=Play 1= or otherwise, e.g., \\
 \verb=\begin{minipage}[t]{\br}=\\
 \verb=    Play:\\demo=\\
 \verb=\end{minipage}=
\item[next four parameters:] the four hands in the sequence N, W, E, S.
     Each hand is a call of the \verb=hand= macro
with four parameters: the \s, \h, \d, \c\ cards.
\end{description}
Example
\begin{quote}
\begin{verbatim}
\crdima{N/None}{%
  \begin{minipage}[t]{\br}
     Play:\\demo
  \end{minipage}}%
  {\hand{J74}{AJ}{QJT2}{Q874}}%
  {\hand{A3}{K76}{963}{KJ952}}%
  {\hand{K86}{T9542}{874}{T3}}%
  {\hand{QT952}{Q83}{AK5}{A6}}%
\end{verbatim}
\end{quote}
yields
\begin{quote}
\crdima{N/None}{%
  \begin{minipage}[t]{\br}
     Play:\\demo
  \end{minipage}}%
  {\hand{J74}{AJ}{QJT2}{Q874}}%
  {\hand{A3}{K76}{963}{KJ952}}%
  {\hand{K86}{T9542}{874}{T3}}%
  {\hand{QT952}{Q83}{AK5}{A6}}%
\end{quote}
%
{\bf Remarks}\\
By this levelling I circumvented the limit of the
number of parameters. Because
parameter substitution is done by `text'
replacement there is no `(strong) type checking'
as in modern high-level programming languages. \\
There is no check on the correctness of the cards (correct number,
distribution, multiple occurrence or omission), nor on the correct sequence
of the parameters. In SGML compliance with the input syntax can be
imposed with enhanced user convenience and alleviated proofreading, but
at the expense of elaborate coding, \cite{JG}.
No test on the
correctness of the sequence of the hands is ever possible, however.\\
The \verb=crdima= macro can be used
to display all phases of the play.
Hands can be suppressed at discretion of the user
by empty actual parameters.
A renounce can be supplied via \verb=--=.
In the listings of the commands used for the examples
the \verb=quote= environment command is omitted.
\\[1ex]
For tournaments (bridge) plays are often dealt by computer.
At the end of tournaments players appreciate prints
of the deals. For that purpose my (Pascal) deal program
generates ASCII output --- for simple display on the PC ---
as well as \LaTeX\ input, optionally. This input is printed
with the aid of \verb=crdima=. Parameter testing is superfluous
for \LaTeX\ input generated this way.
%
\section{Bidding}
In the context of bidding theory I use a bidding environment.
The given card deal takes the following ACOL bidding
\begin{quote}
\begin{bidding}
-- \> 1\c\> no \> 1\s\\
no \> 2\s\> no \> 4\s\\
a.p.
\end{bidding}
\end{quote}
obtained via
\begin{quote}
\begin{verbatim}
\begin{bidding}
-- \> 1\c\> no \> 1\s\\
no \> 2\s\> no \> 4\s\\
a.p.
\end{bidding}
\end{verbatim}
\end{quote}
{\bf Remark} The bidding environment is independent of the language
of the bidding (West etc.\ can easily be adapted),
the bidding system as well as the number of bid
rounds.
\section{Macro texts}
%
%\verbinput{tcmac.tex}
%
\begin{verbatim}
\newcommand{\hand}[4]{
 \begin{minipage}[t]{\br}%I chose \br=8em
 \begin{tabbing}
 %width of parbox depends on the parameters:
 %min{\br, max{string #1, ..., string #4}}
  \(\spadesuit\)  \= #1 \\
  \(\heartsuit\)  \> #2 \\
  \(\diamondsuit\)\> #3 \\
  \(\clubsuit\)   \> #4
 \end{tabbing}
 \end{minipage}     }%end \hand
%
\newsavebox{\NESW}
\savebox{\NESW}[4em]{%
\raisebox{-1.5\baselineskip}%
{\fbox{\small W
   \raisebox{2.6ex}{N}
   \hspace*{-1em}
   \raisebox{-2.6ex}{S}
   {E}
      }
}          }%end \NESW
%
\newcommand{\crdima}[6]{%
\begin{tabular}[t]{lll}
 #1 & #3             & #2\\
 #4 & \usebox{\NESW} & #5\\
    & #6             &
\end{tabular}
}%end \crdima
%
\newenvironment{bidding}%
{\begin{tabbing}
 xxxxxx\=xxxxxx\=xxxxxx\=xxxxxx \kill
 West  \>North \>East  \> South\\
}{\end{tabbing} }%end bidding
%
\end{verbatim}%
%
To eliminate data integrity errors
the listings of the above macros and
the listings of the commands used in the examples are `included'
via a transparent verbatim like environment, \cite{HM};
so the same files were used for execution and listing.
%
\section{Some more examples}
In order to illustrate general bidding theory
from the point of view of one hand only,
the \verb=hand= macro can be used.
The following layout, heavily used in \cite{EC},
\begin{quote}
\hand{AKJ42}{AK9}{T832}{T}\hspace{.5\br}
\begin{minipage}[t]{\br}
\begin{bidding}
-- \> 1\s\> no \> 1NT \\
2\c\> ?
\end{bidding}
\end{minipage}
\end{quote}
is obtained via
\begin{quote}
\begin{verbatim}
\hand{AKJ42}{AK9}{T832}{T}\hspace{.5\br}
\begin{minipage}[t]{\br}
\begin{bidding}
-- \> 1\s\> no \> 1NT \\
2\c\> ?
\end{bidding}
\end{minipage}
\end{verbatim}
\end{quote}
For issues related to defense play one often displays
only the dummy hand and your own hand.
The following example --- layout and text ---
is from \cite{Br}.
\begin{quote}
\crdima{}{}{}{\hand{AJ632}{43}{KQ7}{A85}}%
           {}{\hand{985}{852}{AJ5}{KQT3}}\\
\begin{bidding}
1\s\> no \> 2\h \> no\\
2NT\> no \> 4\h \> a.p.
\end{bidding}
\end{quote}
\begin{quote}
Against 4\h\ South starts \c K, taken
with \c A. Leader continues \h AKQ. On the third
round of \h's, partner discards \d 9 (indicates
interest in \s). Leader continues with \d 2,
how do you continue?
\end{quote}
The example is obtained via
\begin{quote}
\begin{verbatim}
\crdima{}{}{}{\hand{AJ632}{43}{KQ7}{A85}}%
           {}{\hand{985}{852}{AJ5}{KQT3}}\\
\begin{bidding}
1\s\> no \> 2\h \> no\\
2NT\> no \> 4\h \> a.p.
\end{bidding}
\end{verbatim}
\end{quote}
{\bf Remark} In a similar way W--N, N--E, E--S hands,
or W--E, N--S hands, or one hand only, with NESW diagram,
can be displayed simply by a suitable call of \verb=crdima=. \\[2ex]
%
Finally, an endplay --- positional squeeze ---
from \cite{HWK}\ is given.
\begin{quote}
\crdima{}{S leads \c A}%
       {\hand{AJ}{K}{--}{--}}%
       {\hand{KQ}{A}{--}{--}}%
       {\hand{7}{9}{T}{--}}%
       {\hand{2}{4}{--}{A}}
\end{quote}
The example is obtained via
\begin{quote}
\begin{verbatim}
\crdima{}{S leads \c A}%
       {\hand{AJ}{K}{--}{--}}%
       {\hand{KQ}{A}{--}{--}}%
       {\hand{7}{9}{T}{--}}%
       {\hand{2}{4}{--}{A}}
\end{verbatim}
\end{quote}
%
\section{Variation}
An elementary, and in a sense more general, crdima macro is
\begin{quote}
\begin{verbatim}
\newcommand{\crdimaele}[9]{%
\begin{tabular}[t]{lll}
#1 & #2 & #3\\
#4 & #5 & #6\\
#7 & #8 & #9
\end{tabular}}%end crdimaele
\end{verbatim}
\end{quote}
All the given examples can be handled with \verb=crdimaele=.
\verb=crdimaele= applied to
the original deal without NESW diagram reads
\begin{quote}
\begin{verbatim}
\crdimaele{N/None}%
  {\hand{J74}{AJ}{QJT2}{Q874}}%
  {\begin{minipage}[t]{\br}
     Play: demo; no NESW diagram
  \end{minipage}}%
  {\hand{A3}{K76}{963}{KJ952}}%
  {}%
  {\hand{K86}{T9542}{874}{T3}}%
  {}%
  {\hand{QT952}{Q83}{AK5}{A6}}%
  {}
\end{verbatim}
\end{quote}
with result
\begin{quote}
\newcommand{\crdimaele}[9]{%
\begin{tabular}[t]{lll}
#1 & #2 & #3\\
#4 & #5 & #6\\
#7 & #8 & #9
\end{tabular}}%end crdimaele
\crdimaele{N/None}%
  {\hand{J74}{AJ}{QJT2}{Q874}}%
  {\begin{minipage}[t]{\br}
     Play: demo; no NESW diagram
  \end{minipage}}%
  {\hand{A3}{K76}{963}{KJ952}}%
  {}%
  {\hand{K86}{T9542}{874}{T3}}%
  {}%
  {\hand{QT952}{Q83}{AK5}{A6}}%
  {}
\end{quote}
{\bf Remarks} \\
A NESW diagram is obtained with
\verb=\usebox{\NESW}= --- or something
you have designed yourself ---
as fifth parameter.\\
An elegant solution to the problem of having a default
NESW figure which could be overruled by another figure
is the optional parameter mechanism, which --- helas ---
is lacking in the macro facility of \LaTeX. The same applies
to the bidding environment with the default bid sequence
N E S W. Again via the mechanism of optional parameters
one could provide another bid sequence order or
abbreviations suited for other languages.
For the hand parameters one could think of the mechanism of named
parameters with complete freedom of the sequence order
of the parameters: one could easily provide the hands
in the order N E S W, the deal order.
%
\section*{Conclusions}
The author claims that bridge publications can be typeset easily
with high quality via \LaTeX\ and the given macros.
Proofreading of deals not generated by computer remains
tiresome.\\
The lack of the facility of optional parameters in the
\verb=\newcommand= command and the \verb=newenvironment=
environment is felt as an understandable inelegancy.
%
\section*{Acknowledgements}
The author is grateful to Victor Eijkhout and Nico Poppelier
for their suggested improvements.
%
\begin{thebibliography}{99}
\bibitem{Br} BRIDGE. Monthly of the NBB (Dutch
Bridge Union).
\bibitem{EC} Crowhurst, E.\ (1986):
ACOL in competition. Pelham. London.
\bibitem{JG}Grootenhuis, J.\ (priv.\ comm.):
Kaartverdelingen en biedverloop bij bridgen
--- Een SGML tutorial. (Dutch).
\bibitem{HWK}Kelder, J., B.\ van der Velde (1986):
Dwangposities tegen \'e\'en tegenstander. Becht. A'dam. (Dutch).
Translated from:\\
Kelsey, H.W.\ (1985, paperback):\\
Simple squeezes. Gollancz. London.
\bibitem{LL} Lamport, L.\ (1986):
\LaTeX, a document preparation system. Addison-Wesley.
\bibitem{HM}Mulders, H.P.A.\ (priv.\ comm.):
\verb=\verbinput=.
\end{thebibliography}
{\bf P.S.} \ Dear Ron,\\
I hope you are not too annoyed with my polishing of the article.
Agreed, I should have done that before submitting the paper.
Sorry once again.
But now the good news. At this moment --- the really (sic!) end of my
polishing process ---I asked myself the questions: `Is this article
worth publishing?', `Isn't it so that the macros are that simple such that
everybody not only could but would write them from scratch?'.
I for myself wouldn't and certainly didn't.
I polished and polished and paid attention to as much details as I
could think of under guidance of: abstraction, adaptability,
beauty, clearity, compactness, completeness, correctness, efficiency,
elegance, flexibility, modularity, modesty, relevance, robustness,
simplicity, transparency, and usefulness. \\
Best wishes,
Kees (I wouldn't mind publishing this note as well).
\end{document}
%
 
 
