From 8cb156bb991f25949dbb5dd83a06cfc81fa417bd Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Sun, 4 Jul 2010 23:06:08 +0000
Subject: new latex package drs (3jul10)

git-svn-id: svn://tug.org/texlive/trunk@19232 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/doc/latex/drs/drsdoc.tex | 236 +++++++++++++++++++++++++++++
 1 file changed, 236 insertions(+)
 create mode 100644 Master/texmf-dist/doc/latex/drs/drsdoc.tex

(limited to 'Master/texmf-dist/doc/latex/drs/drsdoc.tex')

diff --git a/Master/texmf-dist/doc/latex/drs/drsdoc.tex b/Master/texmf-dist/doc/latex/drs/drsdoc.tex
new file mode 100644
index 00000000000..22583599088
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/drs/drsdoc.tex
@@ -0,0 +1,236 @@
+\documentclass[11pt]{article}
+
+% 10 Jun 2010: Added memoir/array compatibility, switched to pict2e, changed some flags.
+%              Updated documentation to describe the new features.
+
+% 17 Feb 2004: Corrected some typos in documentation
+
+\usepackage{drs,pict2e}
+\usepackage{times}
+
+\chardef\BS=`\\ % It only works in \tt font     
+
+\def\ctt#1{{\texttt{\BS #1}}} % \ctt command  --> \command (in tt)
+\def\citem[#1 #2]{\item[\ctt{#1}{\textsl{#2}}]} % header of command plus argument
+
+\advance\textheight by 0.7in
+\advance\textwidth by 0.8 in
+\advance\oddsidemargin by -0.4in
+\topmargin=-0.3in
+
+\begin{document}
+
+\begin{center}
+{\bfseries Drs.sty, a \LaTeX\ package for  Discourse Representation Structures} 
+\\[6pt]
+Alexis Dimitriadis \\[6pt]
+Version 1.1\\[6pt]
+June 10, 2010 \\[1.5ex]
+\end{center}
+
+\noindent 
+This package draws Discourse Representation Structures (DRSs).  It can draw
+embedded DRSs, if-then conditions and quantificational ``duplex conditions''
+(with a properly scaled connecting diamond).  Formatting parameters allow the
+user to control the appearance and placement of DRSs, and of DRS variables and
+conditions.
+
+You should use this package together with \emph{pict2e.sty,} which allows better diagonal lines to be drawn. It is not automatically loaded by \emph{drs.sty,} but will be utilized if it you do load it.
+
+\section{History}
+
+This package is derived from the DRS macros in the style \emph{covington.sty,}
+written by Michael A. Covington.  I am grateful to him for allowing
+modification and redistribution of his code.  The present style retains the
+basic design (command syntax, use of the \verb|tabular| environment to
+construct the DRSs) and is intended to be backward compatible.  It 
+adds commands for duplex conditions and logical connectives, formatting
+options, better spacing, and an absurdly elaborate algorithm for calculating
+the size of the diamond used in duplex conditions.
+
+Please direct suggestions, bug reports, or other comments to Alexis
+Dimitriadis, \emph{a.dimitriadis} \emph{@uu.nl.}
+As usual, 
+I cannot promise this package will do what you want it to, but I will 
+try to help if there is a problem.
+
+
+\section{Box-building commands}
+These commands can be embedded in each other as desired.  
+
+\begin{description}
+\citem [drs \{variables\}\{conditions\}]~
+
+        Typesets a DRS in a box according to the formatting options in
+effect (see below).  Conditions should be separated by \verb|\\|.  If the
+variables argument is completely empty (given as \verb|{}|), no space is
+provided for variables at the top of the box.  To leave an empty line, give a
+space as the list of variables (\verb|{ }| or \verb|{~}|).
+
+\begin{verbatim}
+\drs{x y}{Jones(x) \\ Ulysses(y) \\ x owns y}
+\end{verbatim}
+\drs{x y}{Jones(x) \\ Ulysses(y) \\ x owns y}
+
+\newpage
+\citem[drs* \{variables\}\{conditions\}]~
+
+Top-level DRSs are positioned on the page according to a number of formatting
+parameters (see next section).  To generate a DRS without the extra spacing,
+define it using \verb|\drs*| rather than \verb|\drs|.
+
+\citem[ifdrs \{lvar\}\{lcond\}\{rvar\}\{rcond\}]
+
+Forms two DRSs joined by an arrow. This command is just a special case of \verb|\condrs|.
+
+\begin{verbatim}
+\drs{x}{Jones(x) \\
+  \ifdrs{y}{donkey(y)\\x owns y} 
+        {z w}{z = x\\ w = y\\ z feeds w}} 
+\end{verbatim}
+
+\drs{x}{Jones(x) \\
+  \ifdrs{y}{donkey(y)\\x owns y} {z w}{z = x\\ w = y\\ z feeds w}}
+%If Jones owns a donkey, he feeds it.
+
+\citem[condrs \{lvar\}\{lcond\}\{connective\}\{rvar\}\{rcond\}]~
+
+Connects two DRSs with the middle argument, presumably a logical connective
+like \verb|$\vee$| or \verb|$\wedge$|.  (You must manually switch to math mode
+if it's needed).  This is provided as a separate
+command because the spacing needs certain adjustments.  The connective is always put in size \verb|\large|, which is appropriate for normal-sized text. If the text of your DRS is in a different size, manually resize the connective to be one step larger; for example, 
+\verb|{\LARGE $\vee$}| if the DRS text is \verb|\Large|.
+
+\citem[qdrs \{lvar\}\{lcond\}\{quantifier\}\{qvar\}\{rvar\}\{rcond\}]~\par
+
+Forms a duplex condition.  The arguments \emph{quantifier} and \emph{qvar} are
+placed in the diamond connecting the left and right DRSs, which is sized to
+fit them.  The \emph{quantifier} argument may contain newlines (\verb|\\|), if necessary.
+
+\begin{verbatim}
+\drs{X}{ the lawyers(X) \\
+    \qdrs{x}{x $\in$ X} 
+         {every}{x} 
+         {y}{secretary(y) \\ x hired y}}
+\end{verbatim}
+\drs{X}{ the lawyers(X) \\
+         \qdrs{x}{x $\in$ X}  {every}{x} {y}{secretary(y) \\ x hired y}}
+
+\citem[negdrs \{variables\}\{conditions\}]~
+
+Produces a DRS preceded by the negation symbol.
+
+\citem[drsdiamond \{quantifier\}\{variable\}] ~ 
+
+Produces the
+automatically scaling diamond used by \verb|\qdrs|.  Perhaps it is useful to call it
+directly for specialized uses.  An absurdly fancy scaling algorithm
+draws a diamond of the right size and places the text at the right height.
+The algorithm is optimized for cases where the variable is narrower than the
+quantifier text, but works well for a variety of shapes, including multi-line
+quantifier names (use {\tt \BS\BS} to break lines, as in: {\tt
+at~least\BS\BS one}).  If it does the wrong thing 
+for you, try padding the text with non-breaking spaces (\verb|~|).
+
+\end{description}
+
+\noindent
+For compatibility with the \emph{covington.sty} macros, the following commands
+are also supported:
+
+\begin{description}
+\citem[sdrs \{sentence\}\{variables\}\{conditions\}] ~
+
+Just like \verb|\drs|, but 
+the first argument is a sentence to be displayed above the DRS.
+
+\citem[alifdrs \{lvar\}\{lcond\}\{rvar\}\{rcond\}]~
+
+Just like \verb|\ifdrs|, but shifted to the left so that the conditions in it,
+if left-adjusted, will line up with unembedded DRS conditions.
+
+\end{description}
+
+\section{Formatting parameters}
+
+The following commands may be redefined to control the appearance of the DRS
+boxes. 
+
+\begin{description}
+
+\citem[drscondfont ]  The font used for the DRS conditions. Default:
+\verb|\rm|. If necessary, it can be redefined to a macro that takes an argument, e.g.:
+
+ \verb|\renewcommand\drscondfont[1]{\emph{#1}}| 
+ 
+ The font properties selected with this macro (e.g., italics) will also apply to the DRS variables, except as overridden by \verb|\drsvarfont|.
+
+\citem[drsvarfont ]  Additional font settings used for the DRS variables. This macro modifies the font style already in effect from \verb|\drscondfont|.  Default:
+ \verb|\it|.   If necessary, it can be redefined to a macro that takes an argument.
+
+\citem[drsseparator ] The separator between variables and conditions.  By
+default it is \verb|\hline|, but can be redefined to suppress the line (or to draw
+other line styles, if appropriate).   To suppress the line, put the following
+in the preamble of your document:
+
+\verb|\renewcommand\drsseparator{\relax}|
+
+\citem[drsalignment ] Alignment of the contents of the DRS, in the form of a
+\{tabular\} alignment parameter.  The default is {\tt c} (centered) but can be
+changed to {\tt l} (or even {\tt r} if you wish).
+
+\citem[drsboxalignh ]   Horizontal alignment of the top-level DRS box in the surrounding text.
+You can ask for left-aligned ({\tt l}) or centered boxes.  The default is {\tt c.}
+
+\citem[drsboxalignv ]  Vertical alignment of the top-level DRS box with the
+baseline of the text.  The default is {\tt c} (centered on the baseline); {\tt t} and
+{\tt b} are also available.  Embedded DRS boxes are always centered on the
+baseline.
+
+\citem[drsarraystretch ]  This parameter gives the value of
+\verb|\arraystretch| used when making DRS boxes.  Undefined by default, which
+is equivalent to the value~\emph{1.0.} You can change it to other numbers (without a dimension) to stretch or compress linespacing.
+
+\citem[drslinewidth ] The thickness of the lines used to draw the DRS boxes. The default is the current value of \verb|\arrayrulewidth| (which controls the width of table borders), normally 0.4pt. If you redefine this you should definitely load the package \emph{pict2e.sty} (recommended anyway), which will allow LaTeX to set the diagonal lines of the quantifier diamond to the same thickness.
+
+\end{description}
+
+
+\subsection{Compatibility with \emph{covington.sty}}
+
+Although this package should accept DRSs written for the \emph{covington.sty}
+macros, the appearance of the output is not the same by default.  To match
+that style, specify the following formatting parameters:
+
+\begin{itemize}
+\item[]
+\begin{verbatim}
+\renewcommand\drscondfont{\it} 
+\renewcommand\drsalignment{l}   
+\renewcommand\drsboxalignh{l}       
+\end{verbatim}
+\end{itemize}
+
+
+\section{Other packages}
+
+I recommend that you use \emph{drs.sty} in conjunction with \emph{pict2e.sty,}
+which improves \LaTeX's picture drawing capabilities.  Your DRS diamonds will look a lot
+better if you do. \emph{Drs.sty} is also compatible with \emph{eepic.sty,} which has similar
+function but only works for DVI output (with PostScript enhancements). \emph{Drs.sty} will not
+automatically load either package, but will take advantage of their capabilities if one is  loaded.
+
+I have tried to make \emph{drs.sty} work well with doublespacing.  Because of
+shortcomings of the doublespacing macros, the boxes might still be placed
+too close to each other.  Perhaps some day this will be corrected in future versions
+of \emph{setspace.sty} (but I requested the fix years ago, so don't hold your breath).  Until then, I have provided a work-around which you
+can use if you are using \emph{setspace.sty.}  Place the command
+\verb|\drshacksetspace| in your document preamble, somewhere after both packages
+have been included, to redefine certain \emph{setspace} internals so that
+boxes can be properly spaced.   This is turned off by default since it
+is a hack and might cause unexpected problems.
+
+Starting with version 1.1, \emph{drs.sty} is compatible with \emph{memoir.cls} and the reimplementation of the \emph{tabular} and \emph{array} environments used by \emph{memoir} and \emph{array.sty.} However, the extra column types these provide cannot be used with \emph{drs} commands. Only {\tt c, l} and {\tt r} are accepted.
+
+\end{document}
+
-- 
cgit v1.2.3

