From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 2 Sep 2019 13:46:59 +0900
Subject: Initial commit

---
 macros/latex/contrib/pb-diagram/pb-manual.tex | 574 ++++++++++++++++++++++++++
 1 file changed, 574 insertions(+)
 create mode 100644 macros/latex/contrib/pb-diagram/pb-manual.tex

(limited to 'macros/latex/contrib/pb-diagram/pb-manual.tex')

diff --git a/macros/latex/contrib/pb-diagram/pb-manual.tex b/macros/latex/contrib/pb-diagram/pb-manual.tex
new file mode 100644
index 0000000000..d0a25612cc
--- /dev/null
+++ b/macros/latex/contrib/pb-diagram/pb-manual.tex
@@ -0,0 +1,574 @@
+% pb-manual.tex: user's manual for pb-diagram.sty macros
+% Author: Paul Burchard <burchard@pobox.com>
+% Version Number: 5.0
+% Version Date: 20 Oct 1998
+% 
+% Copyright (c) 1990, 1992, 1995, 1998 by Paul Burchard
+%
+%	This program 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 program 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 program; if not, write to the Free Software
+%	Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+%
+\def\tooee{LaTeX2e}
+\ifx\fmtname\tooee
+   \documentclass[12pt]{article}\usepackage{pb-diagram}
+\else
+   \documentstyle[12pt,pb-diagram]{article}
+\fi
+\def\diagramversion{5.0}
+\title{User's Guide to the Diagram Environment,
+   Version \diagramversion}
+\author{Paul Burchard (burchard@pobox.com)}
+\def\tfrac#1#2{{\textstyle\frac{#1}{#2}}}
+\begin{document}
+\maketitle
+
+\section{Introduction}
+
+The \verb"diagram" environment allows the
+\ifx\fmtname\tooee\LaTeXe\else\LaTeX\fi{} user to easily
+create complex commutative diagrams, by placing formula nodes
+on a conceptual grid and attaching arrows to them.
+
+The grid used in these diagrams is not a fixed square grid.
+Instead, the environment automatically generates a correctly scaled
+and shaped rectangular grid which will compactly hold the formulas,
+while leaving room for the arrows between them.  Moreover, the
+arrows automatically adapt to the spaces between the formulas
+being connected.  These features are accomplished with a
+three-pass algorithm that takes into account the width
+and height of every formula.
+
+The arrows in these diagrams are quite flexible.
+Arrows may, in any combination,
+\begin{itemize}
+ \item point in any of a large number of lattice directions;
+ \item span multiple rows and columns of the grid;
+ \item cross other arrows;
+ \item have labels on either or both sides,
+    with adjustable positioning;
+ \item have a variety of head, tail, and shaft styles.
+\end{itemize}
+The fancier arrow styles are made possible by special fonts,
+either from Xy-pic or {\sc LamS}-\TeX, but the package can be used
+without them if necessary.
+
+\pagebreak[3]
+To get a feel for how the package works, here are some examples of
+commands for producing arrows:
+\begin{flushright}
+%
+% Catcode hack to get typewriter `\' `{' `}' inside arg of command
+% where \verb is illegal.
+\begingroup
+   \catcode`|=0 \catcode`[=1 \catcode`]=2
+   \catcode`\{=12 \catcode`\}=12 \catcode`\\=12
+   |gdef|bbb[\]|gdef|lll[{]|gdef|rrr[}]%
+|endgroup
+\def\ttt{\ifx\fmtname\tooee\fontfamily{cmtt}\selectfont\else\tt\fi}%
+%
+% tighten it up a bit to fit on page in 12pt
+\setlength{\dgARROWLENGTH}{1.5em}%
+\noindent
+$\begin{diagram}
+      \node{\makebox[0pt][r]{\ttt\bbb arrow\lll e\rrr \quad}+}
+         \arrow{e} \node{+} \node{+} \node{+} \node{+} \\
+      \node{+} \arrow{s,lr}{\makebox[0pt][r]{\ttt\bbb
+         arrow\lll s,lr\rrr\lll\bbb alpha\rrr\lll\bbb beta\rrr\quad}
+           \alpha}{\beta}
+         \node{+} \node{+} \node{+} \node{+} \\
+      \node{+} \node{+} \node{+} \node{+} \node{+} \\
+      \node{\makebox[0pt][r]{\ttt\bbb
+               arrow[2]\lll ene,t,3,..\rrr\lll f\_0\rrr\quad}+}
+         \arrow[2]{ene,t,3,..}{f_0} \node{+}
+               \node{+} \node{+} \node{+}
+\end{diagram}$
+\end{flushright}
+And here is a simple example diagram:
+\[
+   \begin{diagram}
+     \node{A} \arrow{e,t}{a} \arrow{s,l}{c} \arrow{ese}
+       \node{B^*} \arrow{e,t}{b^*}
+         \node{C} \arrow{s,r}{d} \arrow{wsw} \\
+     \node{D} \arrow[2]{e,b}{e} \node[2]{E}
+   \end{diagram}
+\]
+\begin{verbatim}
+   \[
+   \begin{diagram}
+     \node{A} \arrow{e,t}{a} \arrow{s,l}{c} \arrow{ese}
+       \node{B^*} \arrow{e,t}{b^*}
+         \node{C} \arrow{s,r}{d} \arrow{wsw} \\
+     \node{D} \arrow[2]{e,b}{e} \node[2]{E}
+   \end{diagram}
+   \]
+\end{verbatim}
+
+\pagebreak[4]
+\section{Loading the Diagram Package}
+
+To use the \verb"diagram" environment, begin your
+\ifx\fmtname\tooee\LaTeXe\else\LaTeX2e\fi{} file with:
+\begin{verbatim}
+   \documentclass{DOCSTYLE}\usepackage{pb-diagram}
+\end{verbatim}
+where \verb"DOCSTYLE" is your document style (e.g.,
+\verb"article").  The style file \verb"pb-diagram.sty" needs to
+be placed in one of your system's \TeX{} input directories.
+
+If you are using older versions of \LaTeX{} (2.09 or older), then
+you would begin instead with:
+\begin{verbatim}
+   \documentstyle[pb-diagram]{DOCSTYLE}
+\end{verbatim}
+
+If you have {\em METAFONT\/} available on your system,
+and would like to make use of the additional features
+of the Xy-pic fonts (highly recommended!), then you should
+instead begin your
+\ifx\fmtname\tooee\LaTeXe\else\LaTeX2e\fi{} file with:
+\begin{verbatim}
+   \documentclass{DOCSTYLE}
+   \usepackage[cmtip,arrow]{xy}
+   \usepackage{pb-diagram,pb-xy}
+\end{verbatim}
+This option requires that you have Xy-pic installed on your
+system.  Xy-pic is available from your nearest CTAN archive
+(e.g. {\tt http://ctan.tug.org/}) in the CTAN directory
+{\tt macros/generic/diagrams/xypic/}.
+
+An alternative set of fonts which enables some of the
+fancier features is the {\sc LamS}-\TeX{} font set; to
+use it, begin your
+\ifx\fmtname\tooee\LaTeXe\else\LaTeX2e\fi{} file with:
+\begin{verbatim}
+   \documentclass{DOCSTYLE}
+   \usepackage{pb-diagram,lamsarrow,pb-lams}
+\end{verbatim}
+This option requires the {\em METAFONT\/} source files
+\verb"lams1.mf" through \verb"lams5.mf" to be installed.
+
+Installation of additional fonts is system-dependent,
+but will involve moving the \verb".mf" files into the system's
+{\em METAFONT\/} input directory, and then running the
+{\em METAFONT\/} program.  This program will generate the
+\verb".tfm" files required for \TeX, and the \verb".pk" or
+\verb".gf" files required for printing and previewing.
+On {\sc unix} systems, the relevant files are typically
+located in \verb"/usr/lib/mf" and \verb"/usr/lib/tex", or 
+\verb"/usr/local/lib/mf" and \verb"/usr/local/lib/tex".
+
+If you are having troubling getting \LaTeX{} to properly
+process an older paper which uses this package, check the
+later section, ``Upgrading Papers from Previous Versions.''
+
+\pagebreak[4]
+\section{Using the Diagram Environment}
+\subsection{Overall Structure of the Environment}
+
+The \verb"diagram" environment should be used in
+{\em math mode only}.  Its usage is as follows:\footnote{For
+compatibility reasons, the diagram environment accepts and
+optional argument.  When this argument is supplied, the grid
+geometry is calculated in exactly the same way as in version~1.0
+of this package. Therefore, manuscripts written with version~1.0
+require no changes to be processed with version~\diagramversion.}
+\begin{verbatim}
+   \begin{diagram}
+      NODE ARROW ARROW ... NODE ARROW ARROW ... .... \\
+      NODE ARROW ARROW ... NODE ARROW ARROW ... .... \\
+      ...
+      NODE ARROW ARROW ... NODE ARROW ARROW ... ....
+   \end{diagram}
+\end{verbatim}
+
+Each \verb"NODE" places a centered formula at a new grid point, and
+each \verb"ARROW" which follows this \verb"NODE" (but precedes the 
+next \verb"NODE") will be attached by its tail to the same grid 
+point. The diagram will be automatically be given a geometry which 
+accomodates these elements, but you can also fine-tune it afterwards 
+by hand if it didn't turn out like you imagined
+(see the section on ``Fine-Tuning'' below).  We now explain
+how to specify the \verb"NODE"s and \verb"ARROW"s.
+
+\subsection{Formula Nodes}
+
+A \verb"NODE" is specified by the comand:
+\begin{verbatim}
+   \node[NCOLS]{FORMULA}
+\end{verbatim}
+where the optional argument \verb"NCOLS" tells how many grid columns 
+to move forward from the previous node (the default is 1).  The 
+\verb"FORMULA" is the math mode material which you want to place at 
+that node in the grid.
+
+The \verb"\\" command moves to the next grid row.  As is usual in 
+\LaTeX{} arrays, the final row should not end with a \verb"\\", and 
+any blank columns at the end of a row need not be entered.  More 
+generally, it is possible to move \verb"NROWS" rows down at once 
+using the command:
+\begin{verbatim}
+   \\[NROWS]
+\end{verbatim}
+
+\subsection{Arrows and their Embellishments}
+
+An \verb"ARROW" is specified by the \verb"\arrow" command, which may 
+also be used anywhere in math mode, independent of the
+\verb"diagram" environment.  Its usage depends on the number of 
+labels desired:
+\begin{verbatim}
+   \arrow[SIZE]{DIRECTION,OPTIONS}
+   \arrow[SIZE]{DIRECTION,ONELABEL,OPTIONS}{LABEL}
+   \arrow[SIZE]{DIRECTION,TWOLABEL,OPTIONS}{LABEL1}{LABEL2}
+\end{verbatim}
+The commas should not have any spaces before or after them, and there 
+should not be any extra spaces or commas at the beginning or end of 
+the list.  The optional integer argument \verb"SIZE" tells how many 
+times its normal length the arrow should be made.  For example, 
+\verb"\arrow[2]{e}" will span two columns, while \verb"\arrow[2]{s}" 
+will span two rows.
+
+The arrow \verb"DIRECTION" may be chosen from the compass point 
+directions:  
+\begin{verbatim}
+   n,e,s,w,ne,nw,se,sw,nne,nnw,sse,ssw,ene,ese,wnw,wsw
+\end{verbatim}
+If the \verb"pb-lams" style has been loaded, the \verb"DIRECTION"
+may also be chosen from this list:
+\begin{verbatim}
+   nee,see,nww,sww,
+   neee,nnne,nnnw,nwww,swww,sssw,ssse,seee,
+   nnnee,nnnww,sssww,sssee,nneee,nnwww,sswww,sseee
+\end{verbatim}
+(For more information about arrow directions, see the sections
+on ``Fine Tuning'' and ``Customizing'' below.)
+
+Any \verb"LABEL"s present are math mode material.  The 
+\verb"ONELABEL" specifier may be chosen from:
+\begin{tabbing}
+   {\tt xxx}\={\tt x}\qquad\=\kill
+   \>{\tt t}\> top\\
+   \>{\tt b}\>  bottom\\
+   \>{\tt l}\>  left (only for use with vertical arrows)\\
+   \>{\tt r}\>  right (only for use with vertical arrows)
+\end{tabbing}
+The \verb"TWOLABEL" specifier may be chosen from:
+\begin{tabbing}
+   {\tt xxx}\={\tt x}\qquad\=\kill
+   \>{\tt tb}\>  top and bottom\\
+   \>{\tt lr}\>  left and right (only for use with vertical arrows)
+\end{tabbing}
+
+The \verb"OPTION"s describe the style of the arrow shaft, the symbols 
+to be used at the head and tail of the arrow, and the positions of 
+the labels.  The defaults are: a simple line shaft, a single simple 
+arrowhead, no special tail symbol, and labels positioned at the 
+midpoint of the arrow shaft.  The \verb"OPTION"s may be selected from 
+the lists which follow.  Most of the options can be combined with 
+others; however, not all combinations make sense.  In addition,
+options marked with~(*) are only available with 
+either \verb"pb-xy" or \verb"pb-lams" loaded;
+and options marked with~(**) are only available with \verb"pb-xy" loaded.
+Shaft options are:
+\begin{tabbing}
+   {\tt xxx}\={\tt x}\qquad\=\kill
+   \>{\tt ..}\> dotted or dashed arrow shaft\\
+   \>{\tt =}\>  double line shaft* (``equals sign'')\\
+   \>{\tt !}\>  invisible arrow shaft
+\end{tabbing}
+Arrow head options are:
+\begin{tabbing}
+   {\tt xxx}\={\tt x}\qquad\=\kill
+   \>{\tt -}\>  no arrow heads\\
+   \>{\tt <>}\> arrow heads on both ends\\
+   \>{\tt A}\>  double arrow head*\\
+   \>{\tt '}\>  left half of arrow head*\\
+   \>{\tt `}\>  right half of arrow head*
+\end{tabbing}
+Arrow tail options are:
+\begin{tabbing}
+   {\tt xxx}\={\tt x}\qquad\=\kill
+   \>{\tt V}\>  single arrow tail*\\
+   \>{\tt J}\>  left fish hook arrow tail*\\
+   \>{\tt L}\>  right fish hook arrow tail*\\
+   \>{\tt S}\>  squiggle arrow tail*
+   \>{\tt T}\>  ``mapsto'' arrow tail**
+\end{tabbing}
+In the default configuration, the label positioning options are:
+\begin{tabbing}
+   {\tt xxx}\={\tt x}\qquad\=\kill
+   \>{\tt 1}\>  1/4 of way from tail end\\
+   \>{\tt 2}\>  2/4 of way from tail end (the default)\\
+   \>{\tt 3}\>  3/4 of way from tail end
+\end{tabbing}
+However, if more flexibility is needed, there is an
+\verb"ARROWPARTS" parameter which specifies how many pieces the arrow 
+will be divided into to determine the meaning of the label 
+positioning option.  (In general, the positioning option may be any
+single digit.)  For example, to position a label 5/6 of the way from
+the tail end of the arrow, you would use commands like these:
+\begin{verbatim}
+   \dgARROWPARTS=6
+   \begin{diagram}
+      ... \arrow{e,t,5}{MYLABEL} ...
+   \end{diagram}
+\end{verbatim}
+\verb"ARROWPARTS" should be even, so that ordinary labels can
+be properly positioned at the half-way point.
+
+
+\section{Fine Tuning the Diagrams}
+
+Many of the parameters used by the \verb"diagram" environment are 
+accessible to you and documented here so that the existing features 
+can be fine-tuned.
+
+The most important parameter is \verb"\dgARROWLENGTH", which 
+specifies the minimum length for all arrows.  The \verb"diagram"
+environment will independently adjust the horizontal and vertical
+scales of its rectangular grid until at least that much room is
+available for each arrow.  This calculation takes into account
+the room that must be set aside for the each of the two formulas
+being connected by an arrow.  The default minimum arrow length is
+\begin{verbatim}
+   \dgARROWLENGTH=2.5em
+\end{verbatim}
+The \verb"\arrow" command may also be used outside of the diagram
+environment; in that case, its length is instead controlled by
+the parameter
+\begin{verbatim}
+   \dgTEXTARROWLENGTH=1.1em
+\end{verbatim}
+
+Some anomalies you may encounter: the collision of formulas is not
+checked unless an arrow connects them.  Therefore, if two formulas
+turn out to overlap you can just connect them with an invisible arrow.
+
+Another problem may occur when you simulate ``arrow fragments''
+using a finer grid.  The arrow-length checker does not know what
+is a ``fragment'' and so it will force each fragment to be
+\verb"\dgARROWLENGTH" long.  The easiest way to fix this is to
+locally divide \verb"\dgARROWLENGTH" by the scale factor between
+the coarse and fine grids.  For example:
+{\samepage
+\begin{verbatim}
+   \divide\dgARROWLENGTH by2
+   \begin{diagram}
+                          \node[2]{A}\arrow[2]{s}\\
+     \node{B}\arrow{e,-}  \node{}\arrow{e,t}{\alpha}  \node{C}\\
+                          \node[2]{D}
+   \end{diagram}
+\end{verbatim}
+\[
+   \divide\dgARROWLENGTH by2
+   \begin{diagram}
+                          \node[2]{A}\arrow[2]{s}\\
+     \node{B}\arrow{e,-}  \node{}\arrow{e,t}{\alpha}  \node{C}\\
+                          \node[2]{D}
+   \end{diagram}
+\]
+}
+
+The space set aside for a formula
+further includes padding to keep the arrows from actually touching the
+formulas.  The padding increases the apparent horizontal size of
+each formula by \verb"\dgHORIZPAD" and the apparent vertical size
+by \verb"\dgVERTPAD". The default values of these parameters are:
+\begin{verbatim}
+   \dgHORIZPAD=1em
+   \dgVERTPAD=2ex
+\end{verbatim}
+
+The ratio of the horizontal and vertical scales of the grid,
+known as the {\em aspect ratio\/}, cannot be completely
+arbitrary because of the slope limitations of font-based arrows.
+In order that the full required set of compass-point directions be
+available, the optimal calculated aspect ratio will be approximated
+so as to be compatible with the available fonts.  In plain
+\LaTeX{} mode the possibile aspect ratios are half-integers up to~2,
+while in {\sc LamS}-\TeX{} mode they are half-integers up to~3.
+
+\verb"\dgLABELOFFSET" is the (approximate) distance which will 
+separate labels from their arrows.  An arrow is divided into 
+\verb"\dgARROWPARTS" parts for custom positioning of labels along the 
+arrow (the only sensible choices for this number are 2,4,6,8,10).  By 
+default,
+\begin{verbatim}
+   \dgLABELOFFSET=.7ex
+   \dgARROWPARTS=4
+\end{verbatim}
+
+The following two parameters regulate the appearance of dotted arrows 
+in plain \LaTeX{} mode:
+\begin{verbatim}
+   \dgDOTSPACING=0.35em
+   \dgDOTSIZE=1.5\fontdimen8\tenln
+\end{verbatim}
+
+By default, nodes are typeset \verb"\displaystyle", and labels
+\verb"\scriptstyle".  This is controlled by the commands 
+\verb"\dgeverynode" (which is executed prior to the formula of each 
+node) and \verb"\dgeverylabel" (which is executed prior to the 
+formula of each label).  They can be changed with 
+\verb"\renewcommand", like this:
+\begin{verbatim}
+   \renewcommand{\dgeverynode}{\displaystyle}
+   \renewcommand{\dgeverylabel}{\scriptstyle}
+\end{verbatim}
+These commands may alternatively be defined to take one argument,
+which will be the content of the node or label.
+
+
+\section{Customizing the Package}
+
+The \verb"diagram" environment was designed in a modular way to make 
+it easy to add features.
+
+To add a new option to the \verb"\arrow" command---say 
+\verb"**"---you need only define a command named \verb"\dgo@**" which 
+sets the desired parameters.  Let's say you want the \verb"**" option 
+to make \verb"\arrow" use a custom arrow design of yours.  Since 
+\verb"\dg@VECTOR" is the parameter that governs the arrow-drawing 
+code, you would say
+\begin{verbatim}
+   \@namedef{dgo@**}{\let\dg@VECTOR=\myamazingvector}
+\end{verbatim}
+where \verb"\myamazingvector" is your custom arrow code (analogous
+to \LaTeX's \verb"\vector" command).  Note that if this definition is 
+not in a style file, it needs to be bracketed with 
+\verb"\makeatletter...\makeatother".  You can then use your custom 
+arrow style like any other option:
+\begin{verbatim}
+   \arrow{sw,t,**}{\Gamma}
+\end{verbatim}
+
+Adding new arrow direction codes is done by defining commands of the 
+form \verb"\dgt@DIRCODE".  These commands set \verb"\vector"-like 
+parameters to specify the arrow direction (thinking of the arrow as 
+laid out on a grid where the basic rectangle is unit wide and one 
+unit high).  For example:
+\begin{verbatim}
+   \@namedef{dgt@sse}{\dg@DX=1 \dg@DY=-2 \dg@SIZE=1 }
+\end{verbatim}
+
+You can also customize the way the grid geometry is computed by
+redefining the \verb"\dggeometry" command.  It must set 
+the integer parameters \verb"\dg@XGRID" and \verb"\dg@YGRID" and
+the length parameter \verb"\unitlength".  Each grid rectangle
+will then be 1000\verb"\dg@XGRID" by 1000\verb"\dg@YGRID"
+\verb"\unitlength"s in size.  The assigned values of
+\verb"\dg@XGRID" and \verb"\dg@YGRID" should be smallish numbers
+(to avoid arithmetic overflow) with \verb"XGRID":\verb"YGRID"
+as the desired aspect ratio.  As inputs,
+you should use the pre-supplied values of \verb"\dg@XGRID" and
+\verb"\dg@YGRID", which are the calculated minimum width and
+height that grid rectangles must have, measured in scaled
+points (sp).
+
+In plain \LaTeX{} mode, the aspect ratio must be a half-integer 
+between~$\tfrac12$ and~2 (or the inverse of such) in order to
+support the basic 16 compass directions.  In {\sc LamS}-\TeX{} mode,
+the aspect ratio need only be a half-integer between~$\tfrac12$
+and~3 in order to support these same basic directions; and when
+the aspect ratio is chosen from these values, almost all the
+arrow directions $(p,q)$ with $\max(|p|,|q|)\le 3$ are supported.
+The exceptions are that arrows of type $(\pm 3,\,\pm 2)$ are
+only rendered approximately in some aspect ratios, and that
+arrows of type $(\pm 3,\,\pm 1)$ are not supported unless
+the aspect ratio is a half-integer between~$\tfrac12$ and~2.
+The \verb"\dggeometry" macro for {\sc LamS}-\TeX{} mode
+{\em automatically\/} detects when it needs to restrict the
+aspect ratio because of a type $(\pm 3,\,\pm 1)$ arrow in
+the diagram.
+
+
+\section{Upgrading Papers from Previous Versions}
+
+Some slightly incompatible changes have been made during
+the evolution of this package.
+
+Beginning with version~3.5, the files and names of the packages
+were reorganized to simplify electronic publication.  Here is a
+dictionary to make the translation:
+\begin{center}
+\begin{tabular}{|l|l|} \hline
+   Old Packages & New Packages \\ \hline
+   \tt diagram & \tt pb-diagram \\
+   \tt lamsarrow,diagram & \tt pb-diagram,lamsarrow,pb-lams \\ \hline
+\end{tabular}
+\end{center}
+The order of the packages must be as shown in the table.
+
+Beginning with version~4.0, a bug which caused occasional diagrams
+to come out twice too large was eliminated.  If you have an old paper
+which was tuned for the earlier geometry calculation, you can get
+the previous behavior back by including the command
+\verb"\let\dggeometry=\dgoldgeometry" in the document's preamble.
+
+
+\section{Implementation Notes}
+
+All command names defined in the \verb"pb-diagram.sty" style file
+begin with ``\verb"\dg"'', except \verb"\diagram",
+\verb"\enddiagram", \verb"\node", \verb"\arrow",
+\verb"\\", and the \LaTeX{} enhancements \verb"\newoptcommand",
+\verb"\newoptenvironment", \verb"\renewoptcommand", and
+\verb"\renewoptenvironment".  All private commands contain an `@' in
+their names.  The commands \verb"\node" and \verb"\\" are only defined 
+within the \verb"diagram" environment.  Spaces following the 
+\verb"\end{diagram}" are ignored.
+
+In all the macro files in this package, lines have been limited to
+less than~70 characters to avoid problems with electronic mailing.
+
+
+\section{Copyright and Acknowledgments}
+
+The \verb"pb-diagram" package is
+copyright \copyright\ 1990, 1992, 1995, 1998 by Paul Burchard.
+
+This program 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 program 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 program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+The file \verb"pb-xy.sty" is
+copyright \copyright\ 1998 by Bill Richter,
+and is also distributed under the terms of the GNU General Public License.
+
+The fonts \verb"lams1.mf" through \verb"lams5.mf", as well as the
+macros in \verb"lamsarrow.sty", are copyright \copyright\ 1989,
+1990, 1991 by The Texplorators Corporation, 1572 West Gray \#377,
+Houston, TX 77019--4948.  Beginning with version 4.1 of this package,
+the fonts include a patch by Ingo Hadan which makes them compatible
+with recent versions of \verb"cmbase.mf", and in particular, eliminating
+a division-by-zero error that caused certain glyphs to appear wildly deformed.
+
+I would like to acknowledge inspiration from a macro package of 
+Marc-Paul van der Hulst.  Bill Richter was of major help to me with 
+his topological torture-testing of this package, and he provided
+some spectacular example diagrams for distribution with this package.
+Dan Christensen made many good suggestions which were incorporated
+into version 4.0.
+
+\end{document}
-- 
cgit v1.2.3

