summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-05-02 21:47:19 +0000
committerKarl Berry <karl@freefriends.org>2013-05-02 21:47:19 +0000
commitec14d89f021dfd980cdfa7d093dff1030c8abc1f (patch)
tree19af02b6b0c13ceb30a7bf286b80cc153816c6d8 /Master/texmf-dist/doc/generic
parent7c33bd298b907ca27ef2ffb207f127054fa08e71 (diff)
dcpic (2may13)
git-svn-id: svn://tug.org/texlive/trunk@30206 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic')
-rw-r--r--Master/texmf-dist/doc/generic/dcpic/README.TEXLIVE8
-rw-r--r--Master/texmf-dist/doc/generic/dcpic/eurotex2001.pdfbin0 -> 197271 bytes
-rw-r--r--Master/texmf-dist/doc/generic/dcpic/eurotex2001.tex916
-rw-r--r--Master/texmf-dist/doc/generic/dcpic/examples.pdfbin0 -> 221190 bytes
-rw-r--r--Master/texmf-dist/doc/generic/dcpic/examples.tex395
-rw-r--r--Master/texmf-dist/doc/generic/dcpic/manDCPiC.pdfbin0 -> 287676 bytes
-rw-r--r--Master/texmf-dist/doc/generic/dcpic/manDCPiC.tex723
-rw-r--r--Master/texmf-dist/doc/generic/dcpic/manDCPiCpt.pdfbin0 -> 297287 bytes
-rw-r--r--Master/texmf-dist/doc/generic/dcpic/manDCPiCpt.tex846
9 files changed, 2695 insertions, 193 deletions
diff --git a/Master/texmf-dist/doc/generic/dcpic/README.TEXLIVE b/Master/texmf-dist/doc/generic/dcpic/README.TEXLIVE
deleted file mode 100644
index d6367106ff5..00000000000
--- a/Master/texmf-dist/doc/generic/dcpic/README.TEXLIVE
+++ /dev/null
@@ -1,8 +0,0 @@
-The following files have been removed in the TeX Live installation of
-the current package, typically due to duplication, lack of space, or
-missing source code. You can find these files on CTAN at
- http://mirror.ctan.org/macros/generic/diagrams/dcpic
-If questions or concerns, email tex-live@tug.org.
-
- manPT_dcpic.pdf
- man_dcpic.pdf
diff --git a/Master/texmf-dist/doc/generic/dcpic/eurotex2001.pdf b/Master/texmf-dist/doc/generic/dcpic/eurotex2001.pdf
new file mode 100644
index 00000000000..b115f62a5eb
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/dcpic/eurotex2001.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/dcpic/eurotex2001.tex b/Master/texmf-dist/doc/generic/dcpic/eurotex2001.tex
new file mode 100644
index 00000000000..4b54ad718c1
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/dcpic/eurotex2001.tex
@@ -0,0 +1,916 @@
+% $Id: eurotex2001-pqa-article.tex,v 1.9 2001/11/12 09:53:59 pedro Exp pedro $
+\documentclass{europroc}
+\usepackage[dvips]{graphicx}
+\usepackage{dcpic,pictex}
+\usepackage{calrsfs}
+\usepackage{dsfont}
+\usepackage{alltt}
+
+
+
+\begin{document}
+
+\title[DCpic]{DCpic, Commutative Diagrams in a (La)\TeX\ Document}
+\author[Pedro Quaresma]{Pedro Quaresma\thanks{This work was partially
+supported by the Portuguese Ministry of Science and Technology (MCT),
+under the programme PRAXIS XXI.}\\ CISUC\\ Departamento de
+Matem{\'a}tica, Universidade de Coimbra\\ 3001-454 COIMBRA, PORTUGAL}
+
+
+\maketitle
+
+\begin{abstract}
+ DCpic is a package of \TeX\ macros for graphing Commutative Diagrams
+ in a (La)\TeX\ or Con\TeX t document. Its distinguishing features
+ are: the use of \PiCTeX\ a powerful graphical engine, and a simple
+ specification syntax. A commutative diagram is described in
+ terms of its objects and its arrows. The objects are
+ textual elements and the arrows can have various straight or curved
+ forms.
+
+ We describe the syntax and semantics of the user's commands, and
+ present many examples of their use.
+\end{abstract}
+
+\keywords{Commutative Diagrams, (La)\TeX, \PiCTeX}
+
+\section{Introduction}
+
+\initial{3}{C}{\scshape ommutative Diagrams} (Diagramas Comutativos,
+in Portuguese), are a kind of graphs which are widely used in Category
+Theory~\cite{Herrlich73,MacLane71,Pierce98}, not only as a concise and
+convenient notation but also for ``arrow chasing'', a powerful tool
+for mathematical thought. For example, the fact that in a Category we
+have arrow composition is easily expressed by the following
+commutative diagram.
+
+$$
+\begindc{\commdiag}[30]
+\obj(10,15){$A$}
+\obj(25,15){$B$}
+\obj(40,15){$C$}
+\mor(10,15)(25,15){$f$}
+\mor(25,15)(40,15){$g$}
+\cmor((10,11)(11,7)(15,6)(25,6)(35,6)(39,7)(40,11))
+\pup(25,3){$g\circ f$}
+\enddc
+$$
+
+The word commutative means that the result from going throught the
+path $f$ plus $g$ is equal to the result from going throught the path
+$g\circ f$. Most of the graphs used in Category Theory are digraphs which
+we can specify in terms of its objects, and its arrows.
+
+The (La)\TeX\ approach to typesetting can be characterized as
+``logical design''~\cite{Knuth86,Lamport94,Otten99}, but commutative
+diagrams are pieces of ``visual design'', and that, in our opinion is
+the {\em piece de resistance} of commutative diagrams package
+implementation in (La)\TeX. In a commutative diagrams package a user
+seeks the simplest notation, a logical notation, with the most
+powerful graphical engine possible, the visual part. The DCpic
+package, along with the package by John
+Reynolds~\cite{Feruglio94,Reynolds87}, has the simplest notation off
+all the commutative diagrams packages described in the Feruglio
+article~\cite{Feruglio94}. In terms of graphical capabilities the
+\PiCTeX~\cite{Wichura87} package provides us with the best
+\TeX-graphics engine, that is, without going to {\em Postscript}
+specials.
+
+The DCpic package depends only of \PiCTeX\ and \TeX,
+which means that you can use it in all formats that are based on these
+two. We have tested DCpic with \LaTeX, \TeX\ plain, pdf\LaTeX,
+pdf\TeX~\cite{Thanh99}, and Con\TeX t~\cite{Otten99}; we are confident
+that it can be used under many other formats.
+
+The present version (3.1) of DCpic package is available in CTAN and in
+the author's Web-page\footnote{http://www.mat.uc.pt/{\~{}}pedro/LaTeX/}.
+
+
+\section{Constructing Commutative Diagrams}
+
+DCpic depends on \PiCTeX, thus you must include an apropriate command
+to load \PiCTeX\ and DCpic in your document,
+e.g. ``{\tt $\backslash$usepackage\{dcpic,pictex\}}'', in a \LaTeX\ document.
+
+A commutative diagram in DCpic is a ``picture'' in \PiCTeX, in which
+we place our {\em objects} and {\em morphisms} (arrows). The user's
+commands in DCpic are: {\tt begindc} and {\tt enddc} which establishe
+the coordinate system where the objects will by placed; {\tt obj}, the
+command which defines the place and the contents of each object; {\tt
+mor}, and {\tt cmor}, the commands which define the morphisms, linear
+and curved arrows, and its labels.
+
+Now we will describe each of these commands in greater detail.
+
+\subsection{The Diagram Environment}
+
+The command {\tt begindc}, establishes a Cartesian coordinate system
+with 1pt units,
+
+\begin{alltt}
+ \(\backslash\)begindc[{\em<magnification factor>}] \dots \(\backslash\)enddc
+\end{alltt}
+such a small unit gives us a good control over the placement of the
+graphical objects, but in most of the diagrams not involving curved
+arrows such a ``fine grain'' is not desirable, so the optional
+argument specifies a magnifying factor $m\in\mathds{N}$, with a default
+value of 30. The advantage of this decision is twofold: we can define
+the ``grain'' of the diagram, and we can adjust the size of the
+diagram to the available space.
+\begin{itemize}
+\item a ``course grain'' diagram is specified almost as a table, with
+the numbers giving us the lines and the columns were the objects will
+be placed, the following diagram has the default magnification factor:
+
+\begin{center}
+ \begin{tabular}{cc}
+ \begindc{\commdiag}[300]
+ \obj(1,1){$A$}
+ \obj(3,1){$B$}
+ \obj(3,3){$C$}
+ \mor(1,1)(3,1){$f$}[\atright,\solidarrow]
+ \mor(1,1)(3,3){$g$}
+ \mor(3,1)(3,3){$h$}[\atright,\solidarrow]
+ \enddc &\tt
+ \begin{tabular}[b]{l}
+ $\backslash$begindc\{$\backslash$commdiag\}\\
+ $\backslash$obj(1,1)\{\$A\$\}\\
+ $\backslash$obj(3,1)\{\$B\$\}\\
+ $\backslash$obj(3,3)\{\$C\$\}\\
+ $\backslash$mor(1,1)(3,1)\{\$f\$\}[$\backslash$atright,$\backslash$solidarrow]\\
+ $\backslash$mor(1,1)(3,3)\{\$g\$\}\\
+ $\backslash$mor(3,1)(3,3)\{\$h\$\}[$\backslash$atright,$\backslash$solidarrow]\\
+ $\backslash$enddc
+ \end{tabular}
+ \end{tabular}
+\end{center}
+\item a ``fine grain'' diagram is a bit harder to design but it gives
+us a better control over the objects placement, the following diagram
+has a magnification factor of three, this gives us the capability of
+drawing the arrows $f$ and $f^\prime$ very close together:
+\begin{center}
+ \begin{tabular}{cc}
+ \begindc{\commdiag}[30]
+ \obj(10,10){$A$}
+ \obj(30,10){$B$}
+ \obj(30,30){$C$}
+ \mor(10,9)(30,9){$f$}[\atright,\solidarrow]
+ \mor(10,11)(30,11){$f^\prime$}
+ \mor(10,10)(30,30){$g$}
+ \mor(30,10)(30,30){$h$}[\atright,\solidarrow]
+ \enddc &\tt
+ \begin{tabular}[b]{l}
+ $\backslash$begindc\{$\backslash$commdiag\}[30]\\
+ $\backslash$obj(10,10)\{\$A\$\}\\
+ $\backslash$obj(30,10)\{\$B\$\}\\
+ $\backslash$obj(30,30)\{\$C\$\}\\
+ $\backslash$mor(10,9)(30,9)\{\$f\$\}[$\backslash$atright,$\backslash$solidarrow]\\
+ $\backslash$mor(10,11)(30,11)\{\$f{\^{}}$\backslash$prime\$\}\\
+ $\backslash$mor(10,10)(30,30)\{\$g\$\}\\
+ $\backslash$mor(30,10)(30,30)\{\$h\$\}[$\backslash$atright,$\backslash$solidarrow]\\
+ $\backslash$enddc
+ \end{tabular}
+ \end{tabular}
+\end{center}
+\item the magnification factor gives us the capability of adapting the
+ size of the diagram to the available space, without having to
+ redesign the diagram, for example the specification of the
+ next two diagrams differs only in the magnification factor: 30 for
+ the first; and 25 for the second.
+\begin{center}
+ \begin{tabular}{cc}
+ \begindc{\commdiag}[300]
+ \obj(1,1){$A$}
+ \obj(3,1){$B$}
+ \obj(3,3){$C$}
+ \mor(1,1)(3,1){$f$}[\atright,\solidarrow]
+ \mor(1,1)(3,3){$g$}
+ \mor(3,1)(3,3){$h$}[\atright,\solidarrow]
+ \enddc &
+ \begindc{\commdiag}[250]
+ \obj(1,1){$A$}
+ \obj(3,1){$B$}
+ \obj(3,3){$C$}
+ \mor(1,1)(3,1){$f$}[\atright,\solidarrow]
+ \mor(1,1)(3,3){$g$}
+ \mor(3,1)(3,3){$h$}[\atright,\solidarrow]
+ \enddc
+ \end{tabular}
+\end{center}
+\end{itemize}
+
+Note that the magnification factor does not interfere with the size of
+the objects, but only with the size of the diagram as a whole.
+
+After establishing our ``drawing board'' we can begin placing our
+``objects'' on it, we have three commands to do so, the {\tt obj},
+{\tt mor}, and {\tt cmor}, for objects, morphisms, and ``curved''
+morphisms respectively.
+
+
+\subsection{Objects}
+
+Each object has a place and a content
+
+\begin{alltt}
+ \(\backslash\)obj({\em<x>},{\em<y>})\{{\em<contents>}\}
+\end{alltt}
+the $x$ and $y$, integer values, will be multiplied by the magnifying
+factor. The {\em contents} will be put in the centre of an ``hbox''
+expanding to both sides of $(m\times x,m\times y)$.
+
+
+\subsection{Linear Arrows}
+
+
+Each linear arrow will have as mandatory arguments two pairs of
+coordinates, the beginning and the ending points, and a label,
+
+{\small\begin{alltt}
+\(\backslash\)mor({\em<x1>},{\em<y1>})({\em<x2>},{\em<y2>})[{\em<d1>},{\em<d2>}]\{{\em<label>}\}[{\em<label placement>},{\em<arrow type>}]
+\end{alltt}}%
+\noindent the other arguments are opcional. The two pairs of coordinates should
+coincide with the coordinates of two objects in the diagram, but no
+verification of this fact is made. The line connecting the two points
+is constructed in the following way: the beginning is given by a point
+10pt away from the point $(m\times x_1,m\times y_1)$, likewise the end point is
+10 points away from $(m\times x_2,m\times y_2)$. If the ``arrow type'' specifies
+that, a tail, and a pointer (arrow) will be added. If the arrow is
+horizontal (vertical) the label is placed in a ``hbox'' with centre
+point, $(x_l,y_l)$, at a distance of 10 points plus a correction
+factor depending of the ``hbox'' width (height) from the middle point
+of the arrow. If the arrow is obliquos the point $(x_l,y_l)$, at a
+distance of 10 points from the middle point of the arrow, will be the
+bottom-right corner or the top-left corner of the ``hbox'' containing
+the label, depending of the angle of the arrow, and the label
+placement. In all cases the position of the
+``hbox'' is such that the contents of it will not interfere with the
+line.
+
+The distance from the point $(m\times x_1,m\times y_1)$ to the actual beginning of the
+arrow may be modified by the user with the specification of $d_1$, the
+same thing happens for the arrow actual ending in which case the
+user-value will be $d_2$. The specification of $d_1$ and $d_2$ is
+optional.
+
+The placement of the label, to the left (default value), or to the
+right, and the type of the arrow: a solid arrow (default value), a
+dashed arrow, a line, an injection arrow, or an application arrow, are
+the last optional arguments of this command.
+
+
+\subsection{Quadratic Arrows}
+
+The command that draws curved lines in DCpic uses the {\tt
+setquadratic} command of \PiCTeX, this will imply a quadratic
+curve specified by an odd-number of points,
+
+{\small\begin{alltt}
+ \(\backslash\)cmor({\em<list of points>}){\textvisiblespace}{\em<arrow direction>}({\em<x>},{\em<y>})\{{\em<label>}\}[{\em<arrow type>}]
+\end{alltt}}
+\noindent the space after the list of points is mandatory. After drawing the
+curved line we must put the tip of the arrow on it, at present it is
+only possible to choose from: up, down, left, or right pointing arrow,
+and we must explicitly specify what type we want. The next thing to
+draw it is the arrow label, the placement of that label is determined
+by the $x$, and $y$ values which give us the coordinates, after being
+magnified, of the centre of the ``hbox'' that will contain the label
+itself.
+
+The arrow type is an optional argument, its default value is a solid
+arrow, the other possible values are a dashed arrow and a line, in
+this last case the arrow tip is omitted. The arrow type values are a
+subset of those of the {\tt mor} command.
+
+A rectangular curve with rounded corners is easy to specify and should
+cater for most needs, with this in mind we give the following tip to
+the user: to specify a rectangular, with rounded corners, curve we
+choose the points which give us the {\em expanded chess-horse
+movement}, that is, $(x,y)$, $(x\pm4,y\mp1)$, $(x\mp1,y\pm4)$, or
+$(x,y)$,$(x\pm1,y\mp4)$, $(x\mp4,y\pm1)$, those sets of points will give us
+the four corners of the rectangle; to form the whole line it is only
+necessary to add an odd number of points joining the two (or more)
+corners.
+
+
+\section{Examples}
+
+We now present some examples that give an idea of the DCpic package
+capabilities. We will present here the diagrams, and in the appendix
+the code which produced such diagrams.
+
+\subsection{The Easy Ones}
+
+The diagrams presented in this section are very easy to specify in the
+DCpic syntax, just a couple of objects and the arrows joining them.
+
+\begin{description}
+\item[Push-out and Exponentials:]
+
+
+$$
+\begindc{\commdiag}[260]
+\obj(1,1){$Z$}
+\obj(1,3){$X$}
+\obj(3,1){$Y$}
+\obj(3,3){$P$}
+\obj(5,5){$P^\prime$}
+\mor(1,1)(1,3){$f$}
+\mor(1,1)(3,1){$g$}[\atright,\solidarrow]
+\mor(1,3)(3,3){$r$}[\atright,\solidarrow]
+\mor(3,1)(3,3){$s$}
+\mor(1,3)(5,5){$r^\prime$}
+\mor(3,1)(5,5){$s^\prime$}[\atright,\solidarrow]
+\mor(3,3)(5,5){$h$}[\atright,\dashArrow]
+\enddc
+\qquad
+\begindc{\commdiag}[350]
+\obj(1,3)[A]{$Z^Y\times Y$}
+\obj(3,3)[B]{$Z$}
+\obj(3,1)[C]{$X\times{}Y$}
+\obj(4,1)[D]{$X$}
+\obj(4,3)[E]{$Z^Y$}
+\mor{A}{B}{$ev$}
+\mor{C}{A}{$f\times{}\mathrm{id}$}
+\mor{C}{B}{$\overline{f}$}[\atright,\dashArrow]
+\mor{D}{E}{$f$}[\atright,\solidarrow]
+\enddc
+$$
+
+\item[Function Restriction and the {\em CafeOBJ\/}
+Cube~\cite{Diaconescu98}]
+
+%\footnotetext{R. Diaconescu and K. Futatsugi, The CafeOBJ Report,
+%World Scientific, 1998}
+
+$$
+\begindc{\commdiag}[280]
+\obj(1,1){$X$}
+\obj(1,3){$X^\prime$}
+\obj(4,1){$Y$}
+\obj(4,3){$Y^\prime$}
+\mor(1,1)(4,1){$f$}
+\mor(1,3)(1,1){}[\atright,\injectionarrow]
+\mor(4,3)(4,1){}[\atright,\injectionarrow]
+\mor(1,3)(4,3){$g=f|^{Y^\prime}_{X^\prime}$}
+\enddc
+\qquad
+\begindc{\commdiag}[170]
+\obj(1,1){MSA}
+\obj(5,1){RWL}
+\obj(3,3){OSA}
+\obj(7,3){OSRWL}
+\obj(1,4){HSA}
+\obj(5,4){HSRWL}
+\obj(3,6){HOSA}
+\obj(7,6){HOSRWL}
+\mor{MSA}{RWL}{}
+\mor{MSA}{HSA}{}
+\mor{MSA}{OSA}{}
+\mor{RWL}{HSRWL}{}
+\mor{RWL}{OSRWL}{}
+\mor{OSA}{HOSA}{}
+\mor{OSA}{OSRWL}{}
+\mor{OSRWL}{HOSRWL}{}
+\mor{HSA}{HSRWL}{}
+\mor{HSA}{HOSA}{}
+\mor{HOSA}{HOSRWL}{}
+\mor{HSRWL}{HOSRWL}{}
+\enddc
+$$
+\end{description}
+
+\subsection{The Not so Easy}
+
+The diagrams presented in this section are a bit harder to specify. We
+have curved arrows, and also double arrows. The construction of the
+former was already explained. The double arrow (and triple, and \dots)
+is made with two distinct arrows drawn close to each other in a
+diagram with a very ``fine grain'', that is, using a magnifying factor
+of just 2 or 3.
+
+All the diagrams were made completely within DCpic.
+
+\begin{description}
+\item[Equaliser, and a 3-Category:]
+
+$$
+\begindc{\commdiag}[20]
+\obj(1,1){$Z$}
+\obj(1,36){$\overline{ X}$}
+\obj(36,36){$X$}
+\obj(52,36){$Y$}
+\mor(1,1)(1,36){$\overline{ h}$}[\atleft,\dashArrow]
+\mor(1,1)(36,36){$h$}[\atright,\solidarrow]
+\mor(1,36)(36,36){$e$}
+\mor(36,37)(52,37)[80,80]{$f$}
+\mor(36,35)(52,35)[80,80]{$g$}[\atright,\solidarrow]
+\enddc
+\qquad
+\begindc{\commdiag}[30]
+\obj(14,11){$A$}
+\obj(39,11){$C$}
+\obj(26,35){$B$}
+\mor(14,11)(39,11){$h$}[\atright,\solidarrow]
+\mor(14,11)(26,35){$f$}
+\mor(26,35)(39,11){$g$}
+\cmor((11,10)(10,10)(9,10)(5,11)(4,15)(5,19)(9,20)(13,19)(14,15))
+ \pdown(1,20){$id_A$}
+\cmor((42,10)(43,10)(44,10)(48,11)(49,15)(48,19)(44,20)(40,19)(39,15))
+ \pdown(52,20){$id_C$}
+\cmor((26,39)(27,43)(31,44)(35,43)(36,39)(35,36)(31,35))
+ \pleft(40,40){$id_B$}
+\enddc
+$$
+
+
+\item[Isomorfisms:]
+
+$$
+\begindc{\commdiag}[30]
+\obj(10,15){$A$}
+\obj(40,15){$A$}
+\obj(25,15){$B$}
+\mor(10,15)(25,15){$f$}
+\mor(25,15)(40,15){$g$}
+\cmor((10,11)(11,7)(15,6)(25,6)(35,6)(39,7)(40,11)) \pup(25,3){$id_A$}
+\obj(55,15){$B$}
+\obj(85,15){$B$}
+\obj(70,15){$A$}
+\mor(55,15)(70,15){$g$}
+\mor(70,15)(85,15){$f$}
+\cmor((55,11)(56,7)(60,6)(70,6)(80,6)(84,7)(85,11)) \pup(70,3){$id_B$}
+\enddc
+$$
+
+
+\item[Godement's ``five'' rules~\cite{Herrlich73}:]
+%\footnotetext{H. Herrlich and G. Strecker, Category Theory, Allyn and
+%Bacon Inc, 1973}
+
+$$
+\begindc{\commdiag}[70]
+\obj(12,10)[A]{$\mathcal{A}$}
+\obj(19,10)[B]{$\mathcal{B}$}
+\obj(26,10)[C]{$\mathcal{C}$}
+\obj(34,10)[D]{$\mathcal{D}$}
+\obj(41,10)[E]{$\mathcal{E}$}
+\obj(48,10)[F]{$\mathcal{F}$}
+\mor(12,10)(19,10){$L$}
+\mor(19,10)(26,10){$K$}
+\mor(26,10)(34,10){$V\qquad\ $}
+\mor(26,12)(34,12){$U$}
+\mor(26,12)(34,12){$\downarrow\xi$}[\atright,\solidarrow]
+\mor(26,8)(34,8){$\downarrow\eta$}
+\mor(26,8)(34,8){$W$}[\atright,\solidarrow]
+\mor(34,11)(41,11){$F$}
+\mor(34,9)(41,9){$\downarrow\mu$}
+\mor(34,9)(41,9){$H$}[\atright,\solidarrow]
+\mor(41,10)(48,10){$G$}
+\enddc
+$$
+\end{description}
+
+\subsection{The others \dots}
+
+It was already stated that some kinds of arrows are not supported in
+DCpic, e.g., $\Rightarrow$, but we can put a \PiCTeX\ command inside a DCpic
+diagram, so we can produce a diagram like the one that we will show
+now. Its complete specification within DCpic is not possible, at least
+for the moment.
+
+\begin{description}
+\item[Lax coproduct~\cite{Abramsky92}]
+
+$$
+\begindc{\commdiag}[30]
+\obj(10,50){$A$}
+\obj(50,50){$A\oplus B$}
+\obj(90,50){$B$}
+\obj(50,10){$C$}
+\obj(50,37){$[\sigma,\tau]$}
+\mor(10,50)(50,10){$f$}[\atright,\solidarrow]
+\mor(10,50)(50,50)[100,160]{$inl$}
+\mor(90,50)(50,50)[100,160]{$inr$}[\atright,\solidarrow]
+\mor(90,50)(50,10){$g$}
+\cmor((480,460)(440,300)(480,140)) \pdown(40,40){}[\solidline]
+\cmor((520,460)(560,300)(520,140)) \pdown(60,42){$[f,g]$}[\solidline]
+\arrow <6pt> [.2,.4] from 143 44 to 144 42
+\arrow <6pt> [.2,.4] from 157 44 to 156 42
+\setlinear
+% primeira implica{\c c}{\~a}o (simples)
+\plot 160 100 141 91 /
+\plot 160 104 140 94 /
+\arrow <8pt> [.4,.8] from 137 91 to 135 90
+% segunda implica{\c c}{\~a}o (quebrada)
+\plot 123 66 168 90 /
+\plot 122 69 168 94 /
+\plot 168 90 203 90 /
+\plot 168 94 203 94 /
+\arrow <8pt> [.4,.8] from 207 92 to 208 92
+\arrow <8pt> [.4,.8] from 120 66 to 118 65
+\obj(39,27)[inlfg]{\small $inl_{f,g}$}
+\obj(63,34)[inrfg]{\small $inr_{f,g}$}
+% terceira implica{\c c}{\~a}o (quebrada)
+\plot 132 55 136 60 /
+\plot 132 59 136 64 /
+\plot 136 60 173 60 /
+\plot 136 64 173 64 /
+\arrow <8pt> [.4,.8] from 178 62 to 179 62
+\arrow <8pt> [.4,.8] from 130 55 to 129 54
+\obj(45,17){$\sigma$}
+\obj(50,18){$\tau$}
+\enddc
+$$
+%\footnotetext{Handbook of Logic in Computer Science, Volume 1, Clarendon
+%Press, Oxford, 1992, pg. 511}
+
+\end{description}
+
+\section{DCpic compared}
+
+If one took the Feruglio article~\cite{Feruglio94} about typesetting
+commutative diagrams in (La)\TeX\ we can say that:
+
+\begin{itemize}
+\item the graphical capabilities of DCpic are among the
+ best. Excluding packages which use Postscript specials the DCpic
+ package is the best among available packages.
+\item the specification syntax is one of the simplest, the package by
+ John Reynolds has a very similar syntax.
+\end{itemize}
+
+We did not try to take any measure of computational performance.
+
+The following diagram is one of the test-diagrams used by Feruglio, as
+we can see DCpic performs very well, drawing the complete diagram
+based on a very simple specification.
+
+\newcommand{\barraA}{\vrule height2em width0em depth0em}
+\newcommand{\barraB}{\vrule height1.6em width0em depth0em}
+
+\centerline{
+\begindc{\commdiag}[350]
+\obj(1,1){$G$}
+\obj(3,1){$G_{r^*}$}
+\obj(5,1){$H$}
+\obj(2,2){$\Sigma^G$}
+\obj(6,2){$\Sigma^H$}
+\obj(1,3){$L_m$}
+\obj(3,3){$K_{r,m}$}
+\obj(5,3){$R_{m^*}$}
+\obj(1,5){$L$}
+\obj(3,5){$L_r$}
+\obj(5,5){$R$}
+\obj(2,6){$\Sigma^L$}
+\obj(6,6){$\Sigma^R$}
+\mor(1,1)(2,2){$\lambda^G$}
+\mor(3,1)(1,1){$i_5$}[\atleft,\aplicationarrow]
+\mor(3,1)(5,1){$r^*$}[\atright,\solidarrow]
+\mor(5,1)(6,2){$\lambda^H$}[\atright,\dashArrow]
+\mor(2,2)(6,2){$\varphi^{r^*}$}[\atright,\solidarrow]
+\mor(1,3)(1,1){$m$}[\atright,\solidarrow]
+\mor(1,3)(1,5){$i_2$}[\atleft,\aplicationarrow]
+\mor(3,3)(1,3)[140,100]{$i_3\quad$}[\atright,\aplicationarrow]
+\mor(3,3)(5,3)[140,100]{$r$}
+\mor(3,3)(3,5){$i_4$}[\atright,\aplicationarrow]
+\mor(3,3)(3,1){$\stackrel{\displaystyle m}{\barraB}$}
+\mor(5,3)(5,5){$i_6$}[\atright,\aplicationarrow]
+\mor(5,3)(5,1){$\stackrel{\displaystyle m^*}{\barraA}$}
+\mor(1,5)(2,6){$\lambda^L$}
+\mor(3,5)(1,5){$i_1\quad$}[\atright,\aplicationarrow]
+\mor(3,5)(5,5){$r$}
+\mor(5,5)(6,6){$\lambda^R$}[\atright,\solidarrow]
+\mor(2,6)(2,2){$\varphi^m$}[\atright,\solidarrow]
+\mor(2,6)(6,6){$\varphi^r$}
+\mor(6,6)(6,2){$\varphi^{m^*}$}
+\enddc
+}
+
+
+\section{Conclusions}
+
+We think that DCpic performs well in the ``commutative diagrams
+arena'', it is easy to use, with its commands we can produce
+the most usual types of commutative diagrams, and if we accept the use
+of \PiCTeX\ commands, we are capable of producing any kind of
+diagram. It is also a (La)\TeX -only package, that is, the file
+produced by DCpic does not contain any Postscript special, neither
+any special font, which in terms of portability is an advantage.
+
+The author and his colleagues in the Mathematics Department of Coimbra
+University have been using the (now) old version (2.1) of DCpic for
+some time with much success, some of the missing capabilities of the
+older version were incorporated in the new version (3.1), and the
+missing capabilities of the new version will be taken care in future
+versions.
+
+%\bibliographystyle{plain}
+
+%\bibliography{pedro}
+
+\newcommand{\noopsort}[1]{} \newcommand{\singleletter}[1]{#1}
+\begin{thebibliography}{10}
+
+\bibitem{Abramsky92}
+S.~Abramsky, Dov Gabbay, and T.~Maibaum, editors.
+\newblock {\em Handbook of Logic in Computer Science}, volume~1 of {\em Oxford
+ Science Publications}.
+\newblock Claredon Press, Oxford, 1992.
+
+\bibitem{Diaconescu98}
+R{\~a}zvan Diaconescu and Kokichi Futatsugi.
+\newblock {\em CafeOBJ Report: The Language, Proof Techniques, and
+ Methodologies for Object-Oriented Algebraic Specification}, volume~6 of {\em
+ AMAST series in Computing}.
+\newblock World Scientific, 1998.
+
+\bibitem{Feruglio94}
+{Gabriel Valiente} Feruglio.
+\newblock Typesetting commutative diagrams.
+\newblock {\em TUGboat}, 15(4):466--484, 1994.
+
+\bibitem{Herrlich73}
+Horst Herrlich and George Strecker.
+\newblock {\em Category Theory}.
+\newblock Allyn and Bacon Inc., 1973.
+
+\bibitem{Knuth86}
+Donald~E. Knuth.
+\newblock {\em The TeXbook}.
+\newblock Addison-Wesley Publishing Company, Reading,Massachusetts, 1986.
+
+\bibitem{Lamport94}
+Leslie Lamport.
+\newblock {\em {\LaTeX}: A Document Preparation System}.
+\newblock Addison-Wesley Publishing Company, Reading, Massachusetts, 2nd
+ edition, 1994.
+
+\bibitem{MacLane71}
+S.~MacLane.
+\newblock {\em Categories for the Working Mathematician}.
+\newblock Springer-Verlag, New York, 1971.
+
+\bibitem{Otten99}
+Ton Otten and Hans Hagen.
+\newblock {\em Con\TeX t an excursion}.
+\newblock Pragma ADE, Hasselt, 1999.
+
+\bibitem{Pierce98}
+Benjamin Pierce.
+\newblock {\em Basic Category Theory for Computer Scientists}.
+\newblock Foundations of Computing. The MIT Press, London, England, 1998.
+
+\bibitem{Reynolds87}
+John Reynolds.
+\newblock {\em User's Manual for Diagram Macros}.
+\newblock http://www.cs.cmu.edu/{\~{}}jcr/, 1987.
+\newblock {\tt diagmac.doc}.
+
+\bibitem{Thanh99}
+{H\`{a}n Th{$\acute{\hat{\mathrm e}}$}} Th\`{a}nh, Sebastian Rahtz, and Hans
+ Hagen.
+\newblock {\em The pdfTeX manual}, 1999.
+
+\bibitem{Wichura87}
+Michael Wichura.
+\newblock {\em The {\PiCTeX} Manual}.
+\newblock M. Pfeffer \& Co., New York, 1987.
+
+\end{thebibliography}
+
+\section{Appendix: The DCpic Specifications}
+
+\begin{description}
+
+\item[Push-out:] {\ }
+
+{\footnotesize
+\begin{verbatim}
+ \begindc{\commdiag}[260]
+ \obj(1,1){$Z$}
+ \obj(1,3){$X$}
+ \obj(3,1){$Y$}
+ \obj(3,3){$P$}
+ \obj(5,5){$P^\prime$}
+ \mor(1,1)(1,3){$f$}
+ \mor(1,1)(3,1){$g$}[\atright,\solidarrow]
+ \mor(1,3)(3,3){$r$}[\atright,\solidarrow]
+ \mor(3,1)(3,3){$s$}
+ \mor(1,3)(5,5){$r^\prime$}
+ \mor(3,1)(5,5){$s^\prime$}[\atright,\solidarrow]
+ \mor(3,3)(5,5){$h$}[\atright,\dashArrow]
+ \enddc
+\end{verbatim}
+}
+
+
+\item[Exponentials:] {\ }
+
+{\footnotesize
+\begin{verbatim}
+\begindc{\commdiag}[300]
+\obj(1,3){$Z^Y\times Y$}
+\obj(3,3){$Z$}
+\obj(3,1){$X\times{}Y$}
+\obj(4,1){$X$}
+\obj(4,3){$Z^Y$}
+\mor(1,3)(3,3)[20,10]{$ev$}
+\mor(3,1)(1,3){$f\times{}\mathrm{id}$}
+\mor(3,1)(3,3){$\overline{f}$}[\atright,\dashArrow]
+\mor(4,1)(4,3){$f$}[\atright,\solidarrow]
+\enddc
+\end{verbatim}
+}
+
+\item[Function Restriction:] {\ }
+
+{\footnotesize
+\begin{verbatim}
+\begindc{\commdiag}[280]
+\obj(1,1){$X$}
+\obj(1,3){$X^\prime$}
+\obj(3,1){$Y$}
+\obj(3,3){$Y^\prime$}
+\mor(1,1)(3,1){$f$}
+\mor(1,3)(1,1){}[\atright,\injectionarrow]
+\mor(3,3)(3,1){}[\atright,\injectionarrow]
+\mor(1,3)(3,3){$g=f|^{Y^\prime}_{X^\prime}$}
+\enddc
+\end{verbatim}
+}
+
+\item[{\em CafeOBJ\/} Cube:] {\ }
+
+{\footnotesize
+\begin{verbatim}
+\begindc{\commdiag}[170]
+\obj(1,1){MSA}
+\obj(5,1){RWL}
+\obj(3,3){OSA}
+\obj(7,3){OSRWL}
+\obj(1,4){HSA}
+\obj(5,4){HSRWL}
+\obj(3,6){HOSA}
+\obj(7,6){HOSRWL}
+\mor(1,1)(5,1)[15,15]{}
+\mor(1,1)(1,4){}
+\mor(1,1)(3,3){}
+\mor(5,1)(5,4){}
+\mor(5,1)(7,3){}
+\mor(3,3)(3,6){}
+\mor(3,3)(7,3)[15,22]{}
+\mor(7,3)(7,6){}
+\mor(1,4)(5,4)[15,22]{}
+\mor(1,4)(3,6){}
+\mor(3,6)(7,6)[17,26]{}
+\mor(5,4)(7,6){}
+\enddc
+\end{verbatim}
+}
+
+
+\item[Equaliser:] {\ }
+
+{\footnotesize
+\begin{verbatim}
+\begindc{\commdiag}[20]
+\obj(1,1){$Z$}
+\obj(1,36){$\overline{ X}$}
+\obj(36,36){$X$}
+\obj(52,36){$Y$}
+\mor(1,1)(1,36){$\overline{ h}$}[\atleft,\dashArrow]
+\mor(1,1)(36,36){$h$}[\atright,\solidarrow]
+\mor(1,36)(36,36){$e$}
+\mor(36,37)(52,37)[8,8]{$f$}
+\mor(36,35)(52,35)[8,8]{$g$}[\atright,\solidarrow]
+\enddc
+\end{verbatim}
+}
+
+
+\item[A 3-Category:] {\ }
+
+{\footnotesize
+\begin{verbatim}
+\begindc{\commdiag}[30]
+\obj(14,11){$A$}
+\obj(39,11){$C$}
+\obj(26,35){$B$}
+\mor(14,11)(39,11){$h$}[\atright,\solidarrow]
+\mor(14,11)(26,35){$f$}
+\mor(26,35)(39,11){$g$}
+\cmor((11,10)(10,10)(9,10)(5,11)(4,15)(5,19)(9,20)(13,19)(14,15))
+ \pdown(1,20){$id_A$}
+\cmor((42,10)(43,10)(44,10)(48,11)(49,15)(48,19)(44,20)(40,19)(39,15))
+ \pdown(52,20){$id_C$}
+\cmor((26,39)(27,43)(31,44)(35,43)(36,39)(35,36)(31,35)) \pleft(40,40){$id_B$}
+\enddc
+\end{verbatim}
+}
+
+\item[Isomorfisms:] {\ }
+
+{\footnotesize
+\begin{verbatim}
+\begindc{\commdiag}[30]
+\obj(10,15){$A$}
+\obj(40,15){$A$}
+\obj(25,15){$B$}
+\mor(10,15)(25,15){$f$}
+\mor(25,15)(40,15){$g$}
+\cmor((10,11)(11,7)(15,6)(25,6)(35,6)(39,7)(40,11)) \pup(25,3){$id_A$}
+\obj(55,15){$B$}
+\obj(85,15){$B$}
+\obj(70,15){$A$}
+\mor(55,15)(70,15){$g$}
+\mor(70,15)(85,15){$f$}
+\cmor((55,11)(56,7)(60,6)(70,6)(80,6)(84,7)(85,11)) \pup(70,3){$id_B$}
+\enddc
+\end{verbatim}
+}
+
+
+
+\item[Godement's ``five'' rules:] {\ }
+
+{\footnotesize
+\begin{verbatim}
+\begindc{\commdiag}[70]
+\obj(12,10){$\mathcal{A}$}
+\obj(19,10){$\mathcal{B}$}
+\obj(26,10){$\mathcal{C}$}
+\obj(34,10){$\mathcal{D}$}
+\obj(41,10){$\mathcal{E}$}
+\obj(48,10){$\mathcal{F}$}
+\mor(12,10)(19,10){$L$}
+\mor(19,10)(26,10){$K$}
+\mor(26,10)(34,10){$V\qquad\ $}
+\mor(26,12)(34,12){$U$}
+\mor(26,12)(34,12){$\downarrow\xi$}[\atright,\solidarrow]
+\mor(26,8)(34,8){$\downarrow\eta$}
+\mor(26,8)(34,8){$W$}[\atright,\solidarrow]
+\mor(34,11)(41,11){$F$}
+\mor(34,9)(41,9){$\downarrow\mu$}
+\mor(34,9)(41,9){$H$}[\atright,\solidarrow]
+\mor(41,10)(48,10){$G$}
+\enddc
+\end{verbatim}
+}
+
+\item[Lax coproduct:] Guess how.
+
+\item[DCpic and the others:] {\ }
+
+{\footnotesize
+\begin{verbatim}
+
+\begindc{\commdiag}[350]
+\obj(1,1){$G$}
+\obj(3,1){$G_{r^*}$}
+\obj(5,1){$H$}
+\obj(2,2){$\Sigma^G$}
+\obj(6,2){$\Sigma^H$}
+\obj(1,3){$L_m$}
+\obj(3,3){$K_{r,m}$}
+\obj(5,3){$R_{m^*}$}
+\obj(1,5){$L$}
+\obj(3,5){$L_r$}
+\obj(5,5){$R$}
+\obj(2,6){$\Sigma^L$}
+\obj(6,6){$\Sigma^R$}
+\mor(1,1)(2,2){$\lambda^G$}
+\mor(3,1)(1,1){$i_5$}[\atleft,\aplicationarrow]
+\mor(3,1)(5,1){$r^*$}[\atright,\solidarrow]
+\mor(5,1)(6,2){$\lambda^H$}[\atright,\dashArrow]
+\mor(2,2)(6,2){$\varphi^{r^*}$}[\atright,\solidarrow]
+\mor(1,3)(1,1){$m$}[\atright,\solidarrow]
+\mor(1,3)(1,5){$i_2$}[\atleft,\aplicationarrow]
+\mor(3,3)(1,3)[140,100]{$i_3\quad$}[\atright,\aplicationarrow]
+\mor(3,3)(5,3)[140,100]{$r$}
+\mor(3,3)(3,5){$i_4$}[\atright,\aplicationarrow]
+\mor(3,3)(3,1){$\stackrel{\displaystyle m}{\barraB}$}
+\mor(5,3)(5,5){$i_6$}[\atright,\aplicationarrow]
+\mor(5,3)(5,1){$\stackrel{\displaystyle m^*}{\barraA}$}
+\mor(1,5)(2,6){$\lambda^L$}
+\mor(3,5)(1,5){$i_1\quad$}[\atright,\aplicationarrow]
+\mor(3,5)(5,5){$r$}
+\mor(5,5)(6,6){$\lambda^R$}[\atright,\solidarrow]
+\mor(2,6)(2,2){$\varphi^m$}[\atright,\solidarrow]
+\mor(2,6)(6,6){$\varphi^r$}
+\mor(6,6)(6,2){$\varphi^{m^*}$}
+\enddc
+\end{verbatim}
+}
+
+\end{description}
+
+
+\end{document}
+
+
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/doc/generic/dcpic/examples.pdf b/Master/texmf-dist/doc/generic/dcpic/examples.pdf
new file mode 100644
index 00000000000..48b8781577c
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/dcpic/examples.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/dcpic/examples.tex b/Master/texmf-dist/doc/generic/dcpic/examples.tex
index 9590cb0da59..cf74991a03f 100644
--- a/Master/texmf-dist/doc/generic/dcpic/examples.tex
+++ b/Master/texmf-dist/doc/generic/dcpic/examples.tex
@@ -1,26 +1,44 @@
-\documentclass[a4paper]{article}
+\documentclass[12pt,a4paper]{article}
\usepackage{pictexwd,dcpic}
+\usepackage{listings}
+\usepackage{a4wide}
+\usepackage{svn-multi}
+\svnidlong
+{$HeadURL: svn+ssh://gentzen.mat.uc.pt/var/lib/svn/DCPiC/CTAN5.0/examples.tex $}
+{$LastChangedDate: 2013-05-01 19:49:49 +0100 (Qua, 01 Mai 2013) $}
+{$LastChangedRevision: 15 $}
+{$LastChangedBy: pedro $}
+
+\svnid{$Id: manDCPiC.tex 11 2013-04-20 23:01:43Z pedro $}
\voffset=-2cm
-\hoffset=-1cm
-\addtolength{\textwidth}{2cm}
+%\hoffset=-1cm
+%\addtolength{\textwidth}{2cm}
\addtolength{\textheight}{4cm}
\newcommand{\barraA}{\vrule height2em width0em depth0em}
\newcommand{\barraB}{\vrule height1.6em width0em depth0em}
-
+\newcommand{\docver}{\svnyear/\svnmonth/\svnday\ (v\svnrev)}
\begin{document}
+
+% definição da linguagem de programação
+\lstset{language=TeX,
+ frame = single,
+ morekeywords={begindc,enddc,cmor,pup,commdiag,undigraph,digraph,cdigraph,cundigraph,obj,mor,pleft,pup,pdown,pright,north,northeast,east,southeast,south,southwest,west,northwest,atright,atleft,solidarrow,dashArrow,dotArrow,solidline,dashline,dotline,injectionarrow,aplicationarrow,surjectivearrow,equalline,doublearrow,doubleopposite,nullarrow},
+ basicstyle=\tiny}
+
\begin{center}
- DCpic - Examples
+ \huge\bf DCpic - Examples - \docver
\end{center}
+\section{Commutative Diagrams}
-\paragraph{Commutative Diagrams --- Curved arrows.}
+\subsection{Curved Arrows}
A rectangular curve with rounded corners is easy to specify and should
cater for most needs. With this in mind we give the following tip to
@@ -32,62 +50,58 @@ the four corners of the rectangle; to form the whole line it is only
necessary to add an odd number of points joining the two (or more)
corners.
-{\footnotesize
-\begin{verbatim}
-\begindc{\commdiag}[2]
+\begin{lstlisting}
+\begindc{\commdiag}
\cmor((10,20)(6,21)(5,25)) \pup(5,15){$x$}
\enddc
-\end{verbatim}
-}
+\end{lstlisting}
+
+{\ }
$$
-\begindc{\commdiag}[3]
+\begindc{\commdiag}
\cmor((10,20)(6,21)(5,25)) \pup(5,15){$x$}
\enddc
$$
-{\footnotesize
-\begin{verbatim}
-\begindc{\commdiag}[3]
+
+
+\begin{lstlisting}
+\begindc{\commdiag}
\obj(10,15){$A$}
\obj(40,15)[Al]{$A$}
\obj(25,15){$B$}
-\mor{$A$}{$B$}{$f$}
-\mor{$B$}{Al}{$g$}
+\mor{$A$}{$B$}{$f$} \mor{$B$}{Al}{$g$}
\cmor((10,11)(11,7)(15,6)(25,6)(35,6)(39,7)(40,11)) \pup(25,3){$id_A$}
\enddc
-\end{verbatim}
-}
+\end{lstlisting}
$$
-\begindc{\commdiag}[3]
+\begindc{\commdiag}
\obj(10,15){$A$}
\obj(40,15)[Al]{$A$}
\obj(25,15){$B$}
-\mor{$A$}{$B$}{$f$}
+\mor{$A$}{$B$}{$f$}
\mor{$B$}{Al}{$g$}
\cmor((10,11)(11,7)(15,6)(25,6)(35,6)(39,7)(40,11)) \pup(25,3){$id_A$}
\enddc
$$
-{\footnotesize
-\begin{verbatim}
-\begindc{\commdiag}[3]
+\begin{lstlisting}
+\begindc{\commdiag}
\obj(14,11){$A$}
\obj(39,11){$B$}
-\mor(14,12)(39,12){$f$}
-\mor(39,10)(14,10){$g$}
+\mor(14,12)(39,12){$f$} \mor(39,10)(14,10){$g$}
\cmor((10,10)(6,11)(5,15)(6,19)(10,20)(14,19)(15,15)) \pdown(2,20){$id_A$}
\cmor((40,7)(41,3)(45,2)(49,3)(50,7)(49,11)(45,12)) \pleft(54,3){$id_B$}
\enddc
-\end{verbatim}
-}
+\end{lstlisting}
$$
-\begindc{\commdiag}[3]
+\begindc{\commdiag}
\obj(14,11){$A$}
\obj(39,11){$B$}
-\mor(14,12)(39,12){$f$}
+\mor(14,12)(39,12){$f$}
\mor(39,10)(14,10){$g$}
\cmor((10,10)(6,11)(5,15)(6,19)(10,20)(14,19)(15,15)) \pdown(2,20){$id_A$}
\cmor((40,7)(41,3)(45,2)(49,3)(50,7)(49,11)(45,12)) \pleft(54,3){$id_B$}
@@ -95,9 +109,8 @@ $$
$$
-{\footnotesize
-\begin{verbatim}
-\begindc{\commdiag}[3]
+\begin{lstlisting}
+\begindc{\commdiag}
\obj(10,18){$A$}
\obj(40,18){$B$}
\cmor((10,20)(15,25)(20,20)(25,15)(30,20)(35,25)(40,20))
@@ -105,11 +118,10 @@ $$
\cmor((10,15)(15,10)(20,15)(25,20)(30,15)(35,10)(40,15))
\pup(25,22){$g$}[2]
\enddc
-\end{verbatim}
-}
+\end{lstlisting}
$$
-\begindc{\commdiag}[3]
+\begindc{\commdiag}
\obj(10,18){$A$}
\obj(40,18){$B$}
\cmor((10,20)(15,25)(20,20)(25,15)(30,20)(35,25)(40,20))
@@ -124,17 +136,18 @@ $$
\pagebreak
-\paragraph{Commutative Diagrams --- Size Adjusting.} With the new
-version (v4.0) two new features are introduced, relative specification
-{\tt $\backslash$mor\{objA\}\{objB\}} instead of {\tt $\backslash$mor(1,3)(4,5)}, and the arrows now
-automatically adjust their size to the object's box size.
+\subsection{Size Adjusting}
+In version 4 (v4.0) two new features are introduced, relative
+specification {\tt $\backslash$mor\{objA\}\{objB\}} instead of {\tt
+ $\backslash$mor(1,3)(4,5)}, and the arrows now automatically adjust
+their size to the object's box size.
-{\scriptsize
-\begin{verbatim}
-\begindc{\commdiag}
-\obj(1,3)[objSum]{$\displaystyle \sum_{k=2}^n \left\lfloor\frac{\phi(k)}{k-1}\right\rfloor}$}
+
+\begin{lstlisting}[basicstyle=\tiny]
+\begindc{\commdiag}[300]
+\obj(1,3)[objSum]{$\displaystyle\sum_{k=2}^n\left\lfloor\frac{\phi(k)}{k-1}\right\rfloor}$}
\obj(4,5)[objB]{$B$}
\obj(4,3)[objA]{$A$}
\obj(4,1)[objBp]{$B$}
@@ -144,11 +157,10 @@ automatically adjust their size to the object's box size.
\mor{objSum}{objBp}{$f$}[\atright,\solidarrow]
\mor{objA}{objBp}{$g$}[\atright,\solidarrow]
\enddc
-\end{verbatim}
-}
+\end{lstlisting}
$$
-\begindc{\commdiag}
+\begindc{\commdiag}[300]
\obj(1,3)[objSum]{$\displaystyle \sum_{k=2}^n \left\lfloor\frac{\phi(k)}{k-1}\right\rfloor$}
\obj(4,5)[objB]{$B$}
\obj(4,3)[objA]{$A$}
@@ -162,9 +174,8 @@ $$
$$
-{\scriptsize
-\begin{verbatim}
-\begindc{\commdiag}
+\begin{lstlisting}
+\begindc{\commdiag}[250]
\obj(10,10)[A]{$OOOOOO$}\obj(15,10)[Aa]{$XXXX$}\obj(14,11)[Ab]{$XXXX$}
\obj(13,12)[Ac]{$XXXX$}\obj(12,13)[Ad]{$XXXX$}\obj(11,14)[Ae]{$XXXX$}
\obj(10,15)[Af]{$XXXX$}\obj(9,14)[Ag]{$BBBB$}\obj(8,13)[Ah]{$XXXX$}
@@ -178,11 +189,10 @@ $$
\mor{A}{Am}{$a13$}\mor{A}{An}{$a14$}\mor{A}{Ao}{$a15$}\mor{A}{Ap}{$a16$}
\mor{A}{Aq}{$a17$}\mor{A}{Ar}{$a18$}\mor{A}{As}{$a19$}\mor{A}{At}{$a20$}
\enddc
-\end{verbatim}
-}
+\end{lstlisting}
$$
-\begindc{\commdiag}[29]
+\begindc{\commdiag}[250]
\obj(10,10)[A]{$OOOOOO$}\obj(15,10)[Aa]{$XXXX$}\obj(14,11)[Ab]{$XXXX$}
\obj(13,12)[Ac]{$XXXX$}\obj(12,13)[Ad]{$XXXX$}\obj(11,14)[Ae]{$XXXX$}
\obj(10,15)[Af]{$XXXX$}\obj(9,14)[Ag]{$BBBB$}\obj(8,13)[Ah]{$XXXX$}
@@ -202,11 +212,10 @@ $$
\pagebreak
-\paragraph{Commutative Diagrams --- A Complex Diagram}
+\subsection{A Complex Diagram} {\ }
-{\scriptsize
-\begin{verbatim}
-\begindc{\commdiag}[35]
+\begin{lstlisting}
+\begindc{\commdiag}[350]
\obj(1,1)[Gr]{$G$}
\obj(3,1)[Grstar]{$G_{r^*}$}
\obj(5,1)[H]{$H$}
@@ -241,11 +250,10 @@ $$
\mor{SigmaL}{SigmaR}{$\varphi^r$}
\mor{SigmaR}{SigmaH}{$\varphi^{m^*}$}
\enddc
-\end{verbatim}
-}
+\end{lstlisting}
$$
-\begindc{\commdiag}[35]
+\begindc{\commdiag}[350]
\obj(1,1)[Gr]{$G$}
\obj(3,1)[Grstar]{$G_{r^*}$}
\obj(5,1)[H]{$H$}
@@ -262,7 +270,7 @@ $$
\mor{Gr}{SigmaG}{$\lambda^G$}
\mor{Grstar}{Gr}{$i_5$}[\atleft,\aplicationarrow]
\mor{Grstar}{H}{$r^*$}[\atright,\solidarrow]
-\mor{H}{SigmaH}{$\lambda^H$}[\atright,\dashArrow]
+\mor{H}{SigmaH}{$\lambda^H$}[\atright,\solidarrow] %dashArrow]
\mor{SigmaG}{SigmaH}{$\varphi^{r^*}$}[\atright,\solidarrow]
\mor{Lm}{Gr}{$m$}[\atright,\solidarrow]
\mor{Lm}{L}{$i_2$}[\atleft,\aplicationarrow]
@@ -285,13 +293,8 @@ $$
\vfill
\pagebreak
-
-\vfill
-\pagebreak
-
-{\scriptsize
-\begin{verbatim}
-\begindc{\commdiag}[4]
+\begin{lstlisting}[basicstyle=\tiny]
+\begindc{\commdiag}[40]
\obj(10,10){$G$}[Gr]
\obj(30,10){$G_{r^*}$}[Grstar]
\obj(50,10){$H$}[H]
@@ -330,11 +333,12 @@ $$
\cmor((10,53)(10,58)(10,63)(11,67)(15,68)(45,68)(65,68)(69,67)(70,63)(70,44)(70,25)(69,21)(65,20))
\pleft(76,40){$\varphi^{m^*}\varphi^r\lambda^L$}
\enddc
-\end{verbatim}
-}
+\end{lstlisting}
+
+{\ }
$$
-\begindc{\commdiag}[4]
+\begindc{\commdiag}[40]
\obj(10,10)[Gr]{$G$}
\obj(30,10)[Grstar]{$G_{r^*}$}
\obj(50,10)[H]{$H$}
@@ -377,9 +381,8 @@ $$
\vfill
\pagebreak
-{\scriptsize
-\begin{verbatim}
-\begindc{\commdiag}[4]
+\begin{lstlisting}[basicstyle=\tiny]
+\begindc{\commdiag}[40]
\obj(10,10)[Gr]{$G$}
\obj(30,10)[Grstar]{$G_{r^*}$}
\obj(50,10)[H]{$H$}
@@ -415,14 +418,16 @@ $$
\mor{SigmaR}{SigmaH}{$\varphi^{m^*}$}
\cmor((10,7)(11,3)(15,2)(33,2)(53,2)(56,3)(61,8)(66,13)(69,16)(69,18)(65,19))
\pleft(75,10){$\varphi^{r^*}\lambda^G$}
-\cmor((10,53)(10,54)(10,55)(11,59)(15,64)(19,67)(23,68)(44,68)(65,68)(69,67)(70,63)(70,44)(70,25)(69,21)(65,20))
+\cmor((10,53)(10,54)(10,55)(11,59)(15,64)(19,67)(23,68)(44,68)(65,68)(69,67)%
+(70,63)(70,44)(70,25)(69,21)(65,20))
\pleft(76,40){$\varphi^{m^*}\varphi^r\lambda^L$}
\enddc
-\end{verbatim}
-}
+\end{lstlisting}
+
+{\ }
$$
-\begindc{\commdiag}[4]
+\begindc{\commdiag}[40]
\obj(10,10)[Gr]{$G$}
\obj(30,10)[Grstar]{$G_{r^*}$}
\obj(50,10)[H]{$H$}
@@ -466,16 +471,19 @@ $$
\vfill
\pagebreak
-\paragraph{Undirected Graphs --- Magnification factor,} the
-magnification factor gives us the capability of adapting the size of
-the graph to the available space, without having to redesign the
+\section{Graphs}
+
+\subsection{Undirected Graphs --- Magnification Factor,}
+
+The magnification factor gives us the capability of adapting the size
+of the graph to the available space, without having to redesign the
graph, for example the specification of the next two graphs differs
-only in the magnification factor: 20 for the first; and 16 for the
+only in the magnification factor: 200 for the first; and 160 for the
second.
\begin{center}
\begin{tabular}{cc}
- \begindc{\undigraph}[20]
+ \begindc{\undigraph}[200]
\obj(1,1)[1]{}
\obj(3,2)[2]{}
\obj(5,1)[3]{}
@@ -487,7 +495,7 @@ second.
\mor{4}{3}{}
\mor{2}{4}{}
\enddc &\qquad
- \begindc{\undigraph}[16]
+ \begindc{\undigraph}[160]
\obj(1,1)[1]{}
\obj(3,2)[2]{}
\obj(5,1)[3]{}
@@ -502,9 +510,8 @@ second.
\end{tabular}
\end{center}
-{\scriptsize
-\begin{verbatim}
- \begindc{\undigraph}[20] \begindc{\undigraph}[16]
+\begin{lstlisting}
+ \begindc{\undigraph}[200] \begindc{\undigraph}[160]
\obj(1,1)[1]{} \obj(1,1)[1]{}
\obj(3,2)[2]{} \obj(3,2)[2]{}
\obj(5,1)[3]{} \obj(5,1)[3]{}
@@ -516,12 +523,12 @@ second.
\mor{4}{3}{} \mor{4}{3}{}
\mor{2}{4}{} \mor{2}{4}{}
\enddc \enddc
-\end{verbatim}}
+\end{lstlisting}
-\paragraph{Undirected Graphs --- ``Around the World''}
+\subsection{Undirected Graphs --- ``Around the World''}
$$
-\begindc{\undigraph}[7]
+\begindc{\undigraph}[70]
\obj(6,4){18}[\south]
\obj(18,4){17}[\south]
\obj(8,7){11}[\west]
@@ -534,18 +541,20 @@ $$
\obj(16,11){14}[\east]
\obj(2,16){19}
\obj(6,15){9}
-\obj(9,16){8}
-\obj(11,14){7}
+\obj(9,16){8} \obj(11,14){7}
\obj(13,14){3}
\obj(15,16){2}
\obj(18,15){15}
\obj(22,16){16}
\obj(12,19){1}[\northeast]
\obj(12,22){20}
-\mor{18}{17}{}\mor{18}{11}{}\mor{18}{19}{}
+\mor{18}{17}{}
+\mor{18}{11}{}
+\mor{18}{19}{}
\mor{11}{12}{}\mor{11}{10}{}\mor{12}{13}{}
\mor{12}{5}{}\mor{10}{6}{}\mor{10}{9}{}
-\mor{5}{6}{}\mor{5}{4}{}\mor{13}{17}{}
+\mor{5}{6}{}\mor{5}{4}{}
+\mor{13}{17}{}
\mor{13}{14}{}\mor{9}{19}{}\mor{9}{8}{}
\mor{6}{7}{}\mor{4}{3}{}\mor{4}{14}{}
\mor{19}{20}{}\mor{8}{1}{}\mor{8}{7}{}
@@ -554,9 +563,8 @@ $$
\mor{16}{20}{}\mor{1}{20}{}\mor{15}{16}{}
\enddc
$$
-{\scriptsize
-\begin{verbatim}
-\begindc{\undigraph}[7]
+\begin{lstlisting}
+\begindc{\undigraph}[70]
\obj(6,4){18}[\south]
\obj(18,4){17}[\south]
\obj(8,7){11}[\west]
@@ -567,37 +575,26 @@ $$
\obj(12,10){5}
\obj(14,12){4}[\northeast]
\obj(16,11){14}[\east]
-\obj(2,16){19}
-\obj(6,15){9}
-\obj(9,16){8}
-\obj(11,14){7}
-\obj(13,14){3}
-\obj(15,16){2}
-\obj(18,15){15}
-\obj(22,16){16}
+\obj(2,16){19} \obj(6,15){9} \obj(9,16){8} \obj(11,14){7}
+\obj(13,14){3} \obj(15,16){2} \obj(18,15){15} \obj(22,16){16}
\obj(12,19){1}[\northeast]
\obj(12,22){20}
-\mor{18}{17}{}\mor{18}{11}{}\mor{18}{19}{}
-\mor{11}{12}{}\mor{11}{10}{}\mor{12}{13}{}
-\mor{12}{5}{}\mor{10}{6}{}\mor{10}{9}{}
-\mor{5}{6}{}\mor{5}{4}{}\mor{13}{17}{}
-\mor{13}{14}{}\mor{9}{19}{}\mor{9}{8}{}
-\mor{6}{7}{}\mor{4}{3}{}\mor{4}{14}{}
-\mor{19}{20}{}\mor{8}{1}{}\mor{8}{7}{}
-\mor{7}{3}{}\mor{3}{2}{}\mor{2}{1}{}
-\mor{2}{15}{}\mor{14}{15}{}\mor{17}{16}{}
-\mor{16}{20}{}\mor{1}{20}{}\mor{15}{16}{}
+\mor{18}{17}{}\mor{18}{11}{}\mor{18}{19}{}\mor{11}{12}{}\mor{11}{10}{}\mor{12}{13}{}
+\mor{12}{5}{}\mor{10}{6}{}\mor{10}{9}{}\mor{5}{6}{}\mor{5}{4}{}\mor{13}{17}{}
+\mor{13}{14}{}\mor{9}{19}{}\mor{9}{8}{}\mor{6}{7}{}\mor{4}{3}{}\mor{4}{14}{}
+\mor{19}{20}{}\mor{8}{1}{}\mor{8}{7}{}\mor{7}{3}{}\mor{3}{2}{}\mor{2}{1}{}
+\mor{2}{15}{}\mor{14}{15}{}\mor{17}{16}{}\mor{16}{20}{}\mor{1}{20}{}\mor{15}{16}{}
\enddc
-\end{verbatim}}
+\end{lstlisting}
\vfill
\pagebreak
-\paragraph{Directed Graphs}
+\subsection{Directed Graphs}
$$
-\begindc{\digraph}[25]
+\begindc{\digraph}[250]
\obj(1,5){A}[\west]
\obj(1,3){B}[\west]
\obj(1,1){C}[\west]
@@ -614,52 +611,51 @@ $$
$$
-{\scriptsize
-\begin{verbatim}
-\begindc{\digraph}[25]
+\begin{lstlisting}
+\begindc{\digraph}[250]
\obj(1,5){A}[\west]
\obj(1,3){B}[\west]
\obj(1,1){C}[\west]
\obj(5,5){E}[\east]
\obj(5,3){F}[\east]
\obj(5,1){G}[\east]
-\mor{A}{E}{5}
-\mor{A}{F}{3}
+\mor{A}{E}{5} \mor{A}{F}{3}
\mor{B}{F}{6}[\atright,\solidarrow]
-\mor{C}{E}{1}
-\mor{C}{F}{5}
-\mor{C}{G}{7}
+\mor{C}{E}{1} \mor{C}{F}{5} \mor{C}{G}{7}
\enddc
-\end{verbatim}
-}
+\end{lstlisting}
-\paragraph{Circled Directed Graphs}
+\subsection{Circled Directed Graphs}
$$
-\begindc{\cdigraph}[20]
-\obj(6,6){18}[1]
-\obj(12,6){17}[1]
-\mor{18}{17}{}
+\begindc{\cdigraph}[200]
+\obj(6,6)[A]{1800000}
+\obj(12,6){17}
+\obj(10,9){16}
+\mor{A}{17}[240,90]{}
+\mor{16}{17}[90,90]{}
+\mor{16}{A}[95,125]{}
\enddc
$$
-{\scriptsize
-\begin{verbatim}
-\begindc{\cdigraph}[20]
-\obj(6,6){18}[1]
-\obj(12,6){17}[1]
-\mor{18}{17}{}
+\begin{lstlisting}
+\begindc{\cdigraph}[200]
+\obj(6,6)[A]{1800000}
+\obj(12,6){17}
+\obj(10,9){16}
+\mor{A}{17}[240,90]{}
+\mor{16}{17}[90,90]{}
+\mor{16}{A}[95,125]{}
\enddc
-\end{verbatim}
-}
+\end{lstlisting}
-\paragraph{Circled Undirected Graphs}
+\subsection{Circled Undirected Graphs}
Some fine adjustment is nedeeded in some lines.
-$$\small
-\begindc{\cundigraph}[11]
-\obj(6,4){18}[\south]\obj(18,4){17}[\south]
+$$
+\begindc{\cundigraph}[130]
+\obj(6,4)[A]{18}[\south]\obj(18,4){17}[\south]
\obj(8,7){11}[\west]\obj(12,8){12}[\south]
\obj(16,7){13}[\east]\obj(8,11){10}[\west]
\obj(10,12)[6]{6}[\south]\obj(12,10)[5]{5}[\east]
@@ -669,9 +665,9 @@ $$\small
\obj(13,14){3}\obj(15,16){2}
\obj(18,15){15}\obj(22,16){16}[\east]
\obj(12,19){1}[\west]\obj(12,22){20}[\north]
-\mor{18}{17}[7,7]{}\mor{18}{11}{}\mor{18}{19}{}\mor{11}{12}{}
+\mor{A}{17}[80,80]{}\mor{A}{11}{}\mor{A}{19}{}\mor{11}{12}{}
\mor{11}{10}{}\mor{12}{13}{}\mor{12}{5}{}\mor{10}{6}{}
-\mor{10}{9}{}\mor{5}{6}{}\mor{5}{4}{}\mor{13}{17}[8,6]{}
+\mor{10}{9}{}\mor{5}{6}{}\mor{5}{4}{}\mor{13}{17}[80,80]{}
\mor{13}{14}{}\mor{9}{19}{}\mor{9}{8}{}\mor{6}{7}{}
\mor{4}{3}{}\mor{4}{14}{}\mor{19}{20}{}\mor{8}{1}{}
\mor{8}{7}{}\mor{7}{3}{}\mor{3}{2}{}\mor{2}{1}{}
@@ -680,10 +676,10 @@ $$\small
\enddc
$$
-{\scriptsize
-\begin{verbatim}
-\begindc{\cundigraph}[13]
-\obj(6,4){18}[\south]\obj(18,4){17}[\south]
+
+\begin{lstlisting}
+\begindc{\cundigraph}[130]
+\obj(6,4)[A]{18}[\south]\obj(18,4){17}[\south]
\obj(8,7){11}[\west]\obj(12,8){12}[\south]
\obj(16,7){13}[\east]\obj(8,11){10}[\west]
\obj(10,12)[6]{6}[\south]\obj(12,10)[5]{5}[\east]
@@ -693,55 +689,84 @@ $$
\obj(13,14){3}\obj(15,16){2}
\obj(18,15){15}\obj(22,16){16}[\east]
\obj(12,19){1}[\west]\obj(12,22){20}[\north]
-\mor{18}{17}[7,7]{}\mor{18}{11}{}\mor{18}{19}{}\mor{11}{12}{}
+\mor{A}{17}[80,80]{}\mor{A}{11}{}\mor{A}{19}{}\mor{11}{12}{}
\mor{11}{10}{}\mor{12}{13}{}\mor{12}{5}{}\mor{10}{6}{}
-\mor{10}{9}{}\mor{5}{6}{}\mor{5}{4}{}\mor{13}{17}[8,6]{}
+\mor{10}{9}{}\mor{5}{6}{}\mor{5}{4}{}\mor{13}{17}[80,80]{}
\mor{13}{14}{}\mor{9}{19}{}\mor{9}{8}{}\mor{6}{7}{}
\mor{4}{3}{}\mor{4}{14}{}\mor{19}{20}{}\mor{8}{1}{}
\mor{8}{7}{}\mor{7}{3}{}\mor{3}{2}{}\mor{2}{1}{}
\mor{2}{15}{}\mor{14}{15}{}\mor{17}{16}{}\mor{16}{20}{}
\mor{1}{20}{}\mor{15}{16}{}
\enddc
-\end{verbatim}
-}
-
-\paragraph{New arrows and Lines in v4.1}
-
-\paragraph{Surjective arrow}
+\end{lstlisting}
+\section{New Arrows and Lines in v4 and v5}
+\subsection{Dashed, Dotted Lines, Dotted Arrows, Equaline, \ldots}
$$
-\begindc{\commdiag}[3]
-\obj(10,15){$A$}
-\obj(40,15)[Al]{$A$}
-\obj(25,15){$B$}
-\obj(40,5){$A^\prime$}
-\mor{$A$}{$B$}{$f$}[\atleft,\surjectivearrow]
-\mor{$B$}{Al}{$g$}[\atleft,\surjectivearrow]
-\mor{$B$}{$A^\prime$}{$g^\prime$}[\atright,\surjectivearrow]
+\begindc{\commdiag}[250]
+\obj(10,10)[A]{$OOOOOO$}
+\obj(15,10)[A0]{$A_0$}
+\obj(14,11)[A1]{$A_1$}
+\obj(13,12)[A2]{$A_2$}
+\obj(12,13)[A3]{$A_3$}
+\obj(10,14)[A4]{$A_4$}
+\obj(9,13)[A5]{$A_5$}
+\obj(8,12)[A6]{$A_6$}
+\obj(7,11)[A7]{$A_7$}
+\obj(6,10)[A8]{$A_8$}
+\obj(7,9)[A9]{$A_9$}
+\obj(9,8)[A10]{$A_{10}$}
+\obj(12,8)[A11]{$A_{11}$}
+\mor{A}{A0}{$a_0$}[\atright,\solidarrow]
+\mor{A}{A1}{$a_1$}[\atright,\dashArrow]
+\mor{A}{A2}{$a_2$}[\atright,\dotArrow]
+\mor{A}{A3}{$a_3$}[\atright,\solidline]
+\mor{A}{A4}{$a_4$}[\atright,\dashline]
+\mor{A}{A5}{$a_5$}[\atleft,\dotline]
+\mor{A}{A6}{$a_6$}[\atleft,\injectionarrow]
+\mor{A}{A7}{$a_7$}[\atleft,\aplicationarrow]
+\mor{A}{A8}{$a_8$}[\atleft,\surjectivearrow]
+\mor{A}{A9}{$a_9$}[\atleft,\equalline]
+\mor{A}{A10}{$a_{10}$}[\atleft,\doublearrow]
+\mor{A}{A11}{$a_{11}$}[\atleft,\doubleopposite]
+\mor{A}{A11}{$a_{12}$}[\atright,\nullarrow]
\enddc
$$
-\paragraph{Dashed and Dotted lines}
-
-$$
-\begindc{\commdiag}[3]
-\obj(10,20){$A$}
-\obj(40,30)[Al]{$A$}
-\obj(25,30){$B$}
-\obj(40,40){$A^\prime$}
-\obj(40,10)[Ald]{$A$}
-\obj(25,10)[Bd]{$B$}
-\obj(40,0)[Apd]{$A^\prime$}
-\mor{$A$}{$B$}{}[\atleft,\dashline]
-\mor{$B$}{Al}{}[\atleft,\dashline]
-\mor{$B$}{$A^\prime$}{}[\atright,\dashline]
-\mor{$A$}{Bd}{}[\atleft,\dotline]
-\mor{Bd}{Ald}{}[\atleft,\dotline]
-\mor{Bd}{Apd}{}[\atright,\dotline]
+\begin{lstlisting}
+\begindc{\commdiag}[250]
+\obj(10,10)[A]{$OOOOOO$}
+\obj(15,10)[A0]{$A_0$}
+\obj(14,11)[A1]{$A_1$}
+\obj(13,12)[A2]{$A_2$}
+\obj(12,13)[A3]{$A_3$}
+\obj(10,14)[A4]{$A_4$}
+\obj(9,13)[A5]{$A_5$}
+\obj(8,12)[A6]{$A_6$}
+\obj(7,11)[A7]{$A_7$}
+\obj(6,10)[A8]{$A_8$}
+\obj(7,9)[A9]{$A_9$}
+\obj(9,8)[A10]{$A_{10}$}
+\obj(12,8)[A11]{$A_{11}$}
+\mor{A}{A0}{$a_0$}[\atright,\solidarrow]
+\mor{A}{A1}{$a_1$}[\atright,\dashArrow]
+\mor{A}{A2}{$a_2$}[\atright,\dotArrow]
+\mor{A}{A3}{$a_3$}[\atright,\solidline]
+\mor{A}{A4}{$a_4$}[\atright,\dashline]
+\mor{A}{A5}{$a_5$}[\atleft,\dotline]
+\mor{A}{A6}{$a_6$}[\atleft,\injectionarrow]
+\mor{A}{A7}{$a_7$}[\atleft,\aplicationarrow]
+\mor{A}{A8}{$a_8$}[\atleft,\surjectivearrow]
+\mor{A}{A9}{$a_9$}[\atleft,\equalline]
+\mor{A}{A10}{$a_{10}$}[\atleft,\doublearrow]
+\mor{A}{A11}{$a_{11}$}[\atleft,\doubleopposite]
+\mor{A}{A11}{$a_{12}$}[\atright,\nullarrow]
\enddc
-$$
+\end{lstlisting}
+
+
\end{document}
diff --git a/Master/texmf-dist/doc/generic/dcpic/manDCPiC.pdf b/Master/texmf-dist/doc/generic/dcpic/manDCPiC.pdf
new file mode 100644
index 00000000000..92d8cbdf8fa
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/dcpic/manDCPiC.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/dcpic/manDCPiC.tex b/Master/texmf-dist/doc/generic/dcpic/manDCPiC.tex
new file mode 100644
index 00000000000..d621bf8ce94
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/dcpic/manDCPiC.tex
@@ -0,0 +1,723 @@
+% $Id: manDCPiC.tex 12 2013-04-21 15:22:57Z pedro $
+\documentclass[11pt]{article}
+\usepackage{dcpic,pictex}
+\usepackage{verbatim}
+\usepackage{url}
+\usepackage{svn-multi}
+\usepackage{listings}
+\usepackage{a4wide}
+
+\svnidlong
+{$HeadURL: svn+ssh://gentzen.mat.uc.pt/var/lib/svn/DCPiC/CTAN5.0/manDCPiC.tex $}
+{$LastChangedDate: 2013-05-01 19:49:49 +0100 (Qua, 01 Mai 2013) $}
+{$LastChangedRevision: 15 $}
+{$LastChangedBy: pedro $}
+
+\svnid{$Id: manDCPiC.tex 12 2013-04-21 15:22:57Z pedro $}
+
+\newcommand{\docversion}{\svnyear/\svnmonth/\svnday\ (v\svnrev)}
+
+\def\dcpicversion{v5.0.0}
+
+\lstset{language=TeX,
+ frame = single,
+ morekeywords={begindc,enddc,cmor,pup,commdiag,undigraph,digraph,cdigraph,cundigraph,obj,mor,pleft,pup,pdown,pright,north,northeast,east,southeast,south,southwest,west,northwest,atright,atleft,solidarrow,dashArrow,dotArrow,solidline,dashline,dotline,injectionarrow,aplicationarrow,surjectivearrow,equalline,doublearrow,doubleopposite,nullarrow},
+ basicstyle=\scriptsize}
+
+
+\begin{document}
+
+\title{DCpic \dcpicversion\\
+\docversion}
+\author{Pedro Quaresma\\ CISUC/Mathematics Department,
+ University of Coimbra\\ 3001-454 COIMBRA, PORTUGAL\\ {\tt
+ pedro@mat.uc.pt}\quad phone: +351-239~791~170\quad fax:
+ +351-239~832~568}
+\date{2013/05/01}
+
+% Esta defini\c c\~ao \'e \'util para a convers\~ao LaTeX2HTML
+%\def\PiCTeX{PiC\TeX}
+
+\maketitle
+
+\vfill
+\begin{quotation}
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Pedro Quaresma (pedro@mat.uc.pt).
+
+This work consists of the files dcpic.sty, examples.tex,
+manDCPiC.tex, manDCPiCpt.tex
+\end{quotation}
+
+\vspace*{2cm}
+\noindent Coimbra, 2013/05/01\\
+Pedro Quaresma
+
+\pagebreak
+\section{History}
+
+
+\begin{description}
+\item[11/1990 - Version 1.0]
+\item[10/1991 - Version 1.1]
+\item[9/1993 - Version 1.2:] the distance from the arrow end
+ points and the objects became a fixed number (10units), the distance
+ arguments became optional. A new option for the arrows was introduced.
+\item[3/1995 - Version 1.3:] the distance from the arrow to its
+ label became fixed in 10units. A new option for the arrows was introduced.
+\item[7/1996 - Version 2.1:] a new syntax for the ``{\tt mor}''
+ command was introduced.
+\item[5/2001 - Version 3.0:] implementation of the command {\tt cmor}
+ for curved arrows.
+\item[11/2001 - Version{\~a}o 3.1:] the arrow's tips became more \TeX-like.
+\item[1/2002 - Version 3.2:] introduction of the ``Logical
+ specification of diagrams'', the commands ``{\tt obj}'' and
+ ``{\tt mor}'' were modified accordingly.
+\item[5/2002 - Version 4.0:] {\bf new syntax, non-compatible with past
+ versions}. The commands {\tt begindc}, {\tt obj}, and {\tt mor}
+ were modified.
+\item[3/2003 - Version 4.1:] new kind of arrows, ``surjective
+ arrows'', was added. The drawing of the double tip only works well
+ in the vertical, or horizontal case.
+\item[12/2004 - Version 4.1.1:] new version for the drawing of
+ surjective arrows, it solves the previous problem with it.
+\item[3/2007 - version 4.2:] adds the ``providespackage'' directive
+ that was missing. Adds dashed lines, and dotted lines.
+\item[5/2008 - version 4.2.1:] deleting some counters, trying to
+ avoid the problem ``running out of counters'', that occurs because of
+ the use of PiCTeX and DCpic (only two...)
+\item[8/2008 - version 4.3:] thanks to Ruben Debeerst
+ (\url{debeerst@mathematik.uni-kassel.de}), he added a new arrow
+ ``equalline''. After that I decided to add: the doublearrow; the
+ doublearrow with opposite directions; the null arrow. This last can
+ be used as a simple form of adding new labels.
+\item[12/2008 - version 4.3.1:] the comand ``id'' is internalised
+ (``!id''), it should be that way from the begining because it is not
+ to be used from the outside. The comand ``dasharrow'' was changed
+ to ``dashArrow'' to avoid a clash with the AMS command with the same
+ name.
+\item[12/2009 - version 4.3.2:] there was a conflict between dcpic.sty
+ and hyperref in current texlive-2009 due to the one letter macro
+ ``$\backslash$d'' (thanks to Thorsten S
+ \url{<thorsten.schwander@gmail.com>}). The ``d'' changed to
+ ``deuc'' (Euclidian Distance). The ``x'' and ``y'' changed to ``xO''
+ ``yO''
+\item[4/2013 - version 4.4.0:] thanks to Xingliang Liang
+ \url{<jkl9543@gmail.com>}. He added a new arrow ``dotarrow''.
+\item[5/2013 - version 5.0:] {\bf new unit for the coordinate system},
+ 1/10th of the previous one. This allow a better implementation of
+ the double line arrows and also a more fine specification of the
+ diagrams/graphs (Thanks to Antonio de Nicola
+ \url{<adenicola@mat.uc.pt>}).
+\end{description}
+
+
+\section{Introduction}
+
+DCpic is a package of \TeX~\cite{Knuth86} macros for graph modelling
+in a (La)\TeX~\cite{Lamport94} or Con\TeX t~\cite{Otten99}
+document. Its distinguishing features are: the use of
+\PiCTeX~\cite{Wichura92} a powerful graphical engine, and a simple
+specification syntax. A graph is described in terms of its objects and
+its edges. The objects are textual elements and the edges can have
+various straight or curved forms.
+
+A graph~\cite{Harary72} in DCpic is a ``picture'' in \PiCTeX, in which
+we place our {\em objects} and {\em morphisms} (edges). The user's
+commands in DCpic are: {\tt begindc} and {\tt enddc} which establish
+the coordinate system where the objects will by placed; {\tt obj}, the
+command which defines the place and the contents of each object; {\tt
+mor}, and {\tt cmor}, the commands which define the morphisms, linear
+and curved edges, and its labels.
+
+Until version 3.2 DCpic ``Commutative Diagrams in \PiCTeX'' was
+dedicated to commutative diagrams~\cite{Pierce98} (``{\bf D}iagramas
+{\bf C}omutativos'' in Portuguese) drawing, that is the reason for the
+name ``obj'' (objects) and ``mor'' (morphism) for the nodes and edges.
+
+%\pagebreak[3]
+Example:
+\begin{lstlisting}
+ \begindc{\commdiag}
+ \obj(10,10){$A$}
+ \obj(30,10){$B$}
+ \obj(30,30){$C$}
+ \mor{$A$}{$B$}{$f$}[\atright,\solidarrow]
+ \mor{$B$}{$C$}{$g$}[\atright,\solidarrow]
+ \mor{$A$}{$C$}{$h$}
+ \enddc
+\end{lstlisting}
+
+$$
+ \begindc{\commdiag}
+ \obj(10,10){$A$}
+ \obj(30,10){$B$}
+ \obj(30,30){$C$}
+ \mor{$A$}{$B$}{$f$}[\atright,\solidarrow]
+ \mor{$B$}{$C$}{$g$}[\atright,\solidarrow]
+ \mor{$A$}{$C$}{$h$}
+ \enddc
+$$
+
+{\bf Note:} all the numeric values should be integer values.
+
+
+\section{Description}
+
+
+\subsection{Available Commands}
+
+
+\begin{description}
+\item[The environment:] {\ }
+
+\begin{verbatim}
+ \begindc{#1}[#2]
+ #1 - Graph type
+ 0 = "commdiag", commutative diagram
+ 1 = "digraph", direct graph
+ 2 = "undigraph", undirect graph
+ 3 = "cdigraph", direct graph with incircled objects
+ 4 = "cundigraph", undirect graph with incircled objects
+ (optional) #2 - magnification factor (default value, 300)
+ \enddc
+\end{verbatim}
+
+\item[Objects:] {\ }
+
+\begin{verbatim}
+ \obj(#1,#2)[#3]{#4}[#5]
+ #1 and #2 - coordinates
+ (optional) #3 - Label, to be used in the morphims command, if not
+ present the #4 will be used for that purpose
+ #4 - Object contents
+ (optional) #5 - placement of the object (default value \north)
+ 0="\pcent", center
+ 1="\north", north
+ 2="\northeast", northeast
+ 3="\east", east
+ 4="\southeast", southeast
+ 5="\south", south
+ 6="\southwest", southwest
+ 7="\west", west
+ 8="\northwest", northwest
+\end{verbatim}
+
+ {\bf Note:} if you omit the \#3 argument (label), and the \#4 argument
+ is a complex (and long) \LaTeX\ command, then this command can
+ crash. In this case you must specify a label (the empty label [], if
+ you do not intend to use the label).
+
+\item[Morphism (linear edges).] This commando has two major
+ variants:
+ \begin{enumerate}
+ \item Starting and Ending objects specification
+\begin{verbatim}
+ \mor{#1}{#2}[#5,#6]{#7}[#8,#9]
+\end{verbatim}
+
+ As you can see this first form is (intentionally) badly formed, the
+ arguments \#3 and \#4 are missing (the actual command is correctly
+ formed).
+
+ \#1 - The starting object reference
+
+ \#2 - The ending object reference
+
+ from this two we will obtain the objects coordinates, and also the
+ dimensions of the enclosing box.
+
+ The objects box dimensions are used to do an automatic adjustment of
+ the edge width.
+
+ from \#1 we obtain $(x,y)$, (\#1,\#2) in the second form
+
+ from \#2 we obtain $(x^\prime,y^\prime)$, (\#3,\#4) in the second form
+
+ this values will be passed to the command second form
+
+ \item Two points coordinates specification
+\begin{verbatim}
+ \mor(#1,#2)(#3,#4)[#5,#6]{#7}[#8,#9]
+\end{verbatim}
+ \end{enumerate}
+
+ Now we can describe all the arguments
+\begin{verbatim}
+ #1 and #2 - coordinates (beginning)
+ #3 and #4 - coordinates (ending)
+(optional)#5,#6 - correction factors (defaul values, 10 and 10)
+ #5 - actual beginning of the edge
+ #6 - actual ending of the edge
+ #7 - text (morphism label)
+(optional)#8,#9
+ #8 - label placement
+ 1 = \atright, at right, default value
+ -1 = \atleft, at left
+ #9 - edge type
+ 0 = "\solidarrow", default value
+ 1 = "\dashArrow"
+ 2 = "\dotArrow
+ 3 = "\solidline"
+ 4 = "\dashline"
+ 5 = "\dotline"
+ 6 = "\injectionarrow"
+ 7 = "\aplicationarrow"
+ 8 = "\surjectivearrow"
+ 9 = "\equalline"
+ 10 = "\doublearrow"
+ 11 = "\doubleopposite"
+ 12 = "\nullarrow" (to allow adding labels to existing arrows)
+\end{verbatim}
+
+ {\bf Note:} insert a space after the command.
+
+
+\item[Curved Morphisms (quadratic edges):] {\ }\\
+\begin{verbatim}
+ \cmor(#1) #2(#3,#4){#5}[#6]
+ #1 - list of points (odd number)
+ #2 - tip direction
+ 0 = "\pup", pointing up
+ 1 = "\pdown", pointing down
+ 2 = "\pright", pointing right
+ 3 = "\pleft", pointing left
+ #3 and #4 - coordenates of the label
+ #5 - morphism label
+(optional) #6 - edge type
+ 0 ="\solidarrow", default value
+ 1 = "\dashArrow"
+ 2 = "\solidline"
+\end{verbatim}
+
+ {\bf Notes:} Insert a space after the command. The space after the
+ list of points is mandatory.
+
+\end{description}
+
+
+\section{Examples}
+
+
+\subsection{Different Types of Lines/Arrows}
+
+\begin{lstlisting}
+\begindc{\commdiag}[250]
+\obj(10,10)[A]{$OOOOOO$}
+\obj(15,10)[A0]{$A_0$}
+\obj(14,11)[A1]{$A_1$}
+\obj(13,12)[A2]{$A_2$}
+\obj(12,13)[A3]{$A_3$}
+\obj(10,14)[A4]{$A_4$}
+\obj(9,13)[A5]{$A_5$}
+\obj(8,12)[A6]{$A_6$}
+\obj(7,11)[A7]{$A_7$}
+\obj(6,10)[A8]{$A_8$}
+\obj(7,9)[A9]{$A_9$}
+\obj(9,8)[A10]{$A_{10}$}
+\obj(12,8)[A11]{$A_{11}$}
+\mor{A}{A0}{$a_0$}[\atright,\solidarrow]
+\mor{A}{A1}{$a_1$}[\atright,\dashArrow]
+\mor{A}{A2}{$a_2$}[\atright,\dotArrow]
+\mor{A}{A3}{$a_3$}[\atright,\solidline]
+\mor{A}{A4}{$a_4$}[\atright,\dashline]
+\mor{A}{A5}{$a_5$}[\atleft,\dotline]
+\mor{A}{A6}{$a_6$}[\atleft,\injectionarrow]
+\mor{A}{A7}{$a_7$}[\atleft,\aplicationarrow]
+\mor{A}{A8}{$a_8$}[\atleft,\surjectivearrow]
+\mor{A}{A9}{$a_9$}[\atleft,\equalline]
+\mor{A}{A10}{$a_{10}$}[\atleft,\doublearrow]
+\mor{A}{A11}{$a_{11}$}[\atleft,\doubleopposite]
+\mor{A}{A11}{$a_{12}$}[\atright,\nullarrow]
+\enddc
+\end{lstlisting}
+
+$$
+\begindc{\commdiag}[250]
+\obj(10,10)[A]{$OOOOOO$}
+\obj(15,10)[A0]{$A_0$}
+\obj(14,11)[A1]{$A_1$}
+\obj(13,12)[A2]{$A_2$}
+\obj(12,13)[A3]{$A_3$}
+\obj(10,14)[A4]{$A_4$}
+\obj(9,13)[A5]{$A_5$}
+\obj(8,12)[A6]{$A_6$}
+\obj(7,11)[A7]{$A_7$}
+\obj(6,10)[A8]{$A_8$}
+\obj(7,9)[A9]{$A_9$}
+\obj(9,8)[A10]{$A_{10}$}
+\obj(12,8)[A11]{$A_{11}$}
+\mor{A}{A0}{$a_0$}[\atright,\solidarrow]
+\mor{A}{A1}{$a_1$}[\atright,\dashArrow]
+\mor{A}{A2}{$a_2$}[\atright,\dotArrow]
+\mor{A}{A3}{$a_3$}[\atright,\solidline]
+\mor{A}{A4}{$a_4$}[\atright,\dashline]
+\mor{A}{A5}{$a_5$}[\atleft,\dotline]
+\mor{A}{A6}{$a_6$}[\atleft,\injectionarrow]
+\mor{A}{A7}{$a_7$}[\atleft,\aplicationarrow]
+\mor{A}{A8}{$a_8$}[\atleft,\surjectivearrow]
+\mor{A}{A9}{$a_9$}[\atleft,\equalline]
+\mor{A}{A10}{$a_{10}$}[\atleft,\doublearrow]
+\mor{A}{A11}{$a_{11}$}[\atleft,\doubleopposite]
+\mor{A}{A11}{$a_{12}$}[\atright,\nullarrow]
+\enddc
+$$
+
+
+\subsection{Diagrams with Curved Edges, Double Arrows, \ldots }
+
+
+\paragraph{Curved edges} {\ }
+
+
+\begin{lstlisting}
+\begindc{0}
+\obj(14,11){$A$}
+\obj(39,11){$B$}
+\mor(14,12)(39,12){$f$}
+\mor(39,10)(14,10){$g$}
+\cmor((10,10)(6,11)(5,15)(6,19)(10,20)(14,19)(15,15))
+ \pdown(2,20){$id_A$}
+\cmor((40,7)(41,3)(45,2)(49,3)(50,7)(49,11)(45,12))
+ \pleft(54,3){$id_B$}
+\enddc
+
+\begindc{\commdiag}
+\obj(10,15)[A]{$A$}
+\obj(40,15)[Aa]{$A$}
+\obj(25,15)[B]{$B$}
+\mor{A}{B}{$f$}
+\mor{B}{Aa}{$g$}
+\cmor((10,11)(11,7)(15,6)(25,6)(35,6)(39,7)(40,11))
+ \pup(25,3){$id_A$}
+\enddc
+\end{lstlisting}
+
+
+$$
+\begindc{0}
+\obj(14,11){$A$}
+\obj(39,11){$B$}
+\mor(14,12)(39,12){$f$}%[\atright,\solidarrow]
+\mor(39,10)(14,10){$g$}%[\atright,\solidarrow]
+\cmor((10,10)(6,11)(5,15)(6,19)(10,20)(14,19)(15,15))
+ \pdown(2,20){$id_A$}
+\cmor((40,7)(41,3)(45,2)(49,3)(50,7)(49,11)(45,12))
+ \pleft(54,3){$id_B$}
+\enddc
+\qquad
+\begindc{\commdiag}
+\obj(10,15)[A]{$A$}
+\obj(40,15)[Aa]{$A$}
+\obj(25,15)[B]{$B$}
+\mor{A}{B}{$f$}%[\atright,\solidarrow]
+\mor{B}{Aa}{$g$}%[\atright,\solidarrow]
+\cmor((10,11)(11,7)(15,6)(25,6)(35,6)(39,7)(40,11))
+ \pup(25,3){$id_A$}
+\enddc
+$$
+
+\paragraph{Double Arrows and Natural Transformations} {\ }
+
+\begin{lstlisting}
+\begindc{\commdiag}
+\obj(5,5){$A$}
+\obj(20,5){$B$}
+\mor(5,4)(20,4){$f$}[\atright,\solidarrow]
+\mor(5,6)(20,6){$g$}
+\enddc
+
+\begindc{\commdiag}
+\obj(5,5){$A$}
+\obj(9,5){$B$}
+\mor(5,6)(9,6){$\downarrow\sigma$}[\atright,\solidarrow]
+\mor{$A$}{$B$}{}
+\mor(5,4)(9,4){$\downarrow\tau$}
+\enddc
+\end{lstlisting}
+
+
+
+$$
+\begindc{\commdiag}
+\obj(5,5){$A$}
+\obj(20,5){$B$}
+\mor(5,4)(20,4){$f$}[\atright,\solidarrow]
+\mor(5,6)(20,6){$g$}
+\enddc
+\qquad\qquad\qquad
+\begindc{\commdiag}[140]
+\obj(5,5){$A$}
+\obj(9,5){$B$}
+\mor(5,6)(9,6){$\downarrow\sigma$}[\atright,\solidarrow]
+\mor{$A$}{$B$}{}
+\mor(5,4)(9,4){$\downarrow\tau$}
+\enddc
+$$
+
+
+
+
+
+
+\subsection{A Complex Diagram}
+
+The following diagram is one of the test-diagrams used by
+Feruglio~\cite{Feruglio94}, as we can see DCpic performs very well,
+drawing the complete diagram based on a very simple specification.
+
+\begin{lstlisting}
+\newcommand{\barraA}{\vrule height2em width0em depth0em}
+\newcommand{\barraB}{\vrule height1.6em width0em depth0em}
+\begindc{\commdiag}[350]
+\obj(1,1)[Gr]{$G$}
+\obj(3,1)[Grstar]{$G_{r^*}$}
+\obj(5,1)[H]{$H$}
+\obj(2,2)[SigmaG]{$\Sigma^G$}
+\obj(6,2)[SigmaH]{$\Sigma^H$}
+\obj(1,3)[Lm]{$L_m$}
+\obj(3,3)[Krm]{$K_{r,m}$}
+\obj(5,3)[Rmstar]{$R_{m^*}$}
+\obj(1,5)[L]{$L$}
+\obj(3,5)[Lr]{$L_r$}
+\obj(5,5)[R]{$R$}
+\obj(2,6)[SigmaL]{$\Sigma^L$}
+\obj(6,6)[SigmaR]{$\Sigma^R$}
+\mor{Gr}{SigmaG}{$\lambda^G$}
+\mor{Grstar}{Gr}{$i_5$}[\atleft,\aplicationarrow]
+\mor{Grstar}{H}{$r^*$}[\atright,\solidarrow]
+\mor{H}{SigmaH}{$\lambda^H$}[\atright,\dashArrow]
+\mor{SigmaG}{SigmaH}{$\varphi^{r^*}$}[\atleft,\solidarrow]
+\mor{Lm}{Gr}{$m$}[\atright,\solidarrow]
+\mor{Lm}{L}{$i_2$}[\atleft,\aplicationarrow]
+\mor{Krm}{Lm}{$i_3\quad$}[\atright,\aplicationarrow]
+\mor{Krm}{Rmstar}{$r$}
+\mor{Krm}{Lr}{$i_4$}[\atright,\aplicationarrow]
+\mor{Krm}{Grstar}{\barraA$m$}
+\mor{Rmstar}{R}{$i_6$}[\atright,\aplicationarrow]
+\mor{Rmstar}{H}{\barraB$m^*$}
+\mor{L}{SigmaL}{$\lambda^L$}
+\mor{Lr}{L}{$i_1\quad$}[\atright,\aplicationarrow]
+\mor{Lr}{R}{$r$}
+\mor{R}{SigmaR}{$\lambda^R$}[\atright,\solidarrow]
+\mor{SigmaL}{SigmaG}{$\varphi^m$}[\atright,\solidarrow]
+\mor{SigmaL}{SigmaR}{$\varphi^r$}
+\mor{SigmaR}{SigmaH}{$\varphi^{m^*}$}
+\enddc
+\end{lstlisting}
+
+\newcommand{\barraA}{\vrule height2em width0em depth0em}
+\newcommand{\barraB}{\vrule height1.6em width0em depth0em}
+$$\begindc{\commdiag}[350]
+\obj(1,1)[Gr]{$G$}
+\obj(3,1)[Grstar]{$G_{r^*}$}
+\obj(5,1)[H]{$H$}
+\obj(2,2)[SigmaG]{$\Sigma^G$}
+\obj(6,2)[SigmaH]{$\Sigma^H$}
+\obj(1,3)[Lm]{$L_m$}
+\obj(3,3)[Krm]{$K_{r,m}$}
+\obj(5,3)[Rmstar]{$R_{m^*}$}
+\obj(1,5)[L]{$L$}
+\obj(3,5)[Lr]{$L_r$}
+\obj(5,5)[R]{$R$}
+\obj(2,6)[SigmaL]{$\Sigma^L$}
+\obj(6,6)[SigmaR]{$\Sigma^R$}
+\mor{Gr}{SigmaG}{$\lambda^G$}
+\mor{Grstar}{Gr}{$i_5$}[\atleft,\aplicationarrow]
+\mor{Grstar}{H}{$r^*$}[\atright,\solidarrow]
+\mor{H}{SigmaH}{$\lambda^H$}[\atright,\dashArrow]
+\mor{SigmaG}{SigmaH}{$\varphi^{r^*}$}[\atleft,\solidarrow]
+\mor{Lm}{Gr}{$m$}[\atright,\solidarrow]
+\mor{Lm}{L}{$i_2$}[\atleft,\aplicationarrow]
+\mor{Krm}{Lm}{$i_3\quad$}[\atright,\aplicationarrow]
+\mor{Krm}{Rmstar}{$r$}
+\mor{Krm}{Lr}{$i_4$}[\atright,\aplicationarrow]
+\mor{Krm}{Grstar}{\barraA$m$}
+\mor{Rmstar}{R}{$i_6$}[\atright,\aplicationarrow]
+\mor{Rmstar}{H}{\barraB$m^*$}
+\mor{L}{SigmaL}{$\lambda^L$}
+\mor{Lr}{L}{$i_1\quad$}[\atright,\aplicationarrow]
+\mor{Lr}{R}{$r$}
+\mor{R}{SigmaR}{$\lambda^R$}[\atright,\solidarrow]
+\mor{SigmaL}{SigmaG}{$\varphi^m$}[\atright,\solidarrow]
+\mor{SigmaL}{SigmaR}{$\varphi^r$}
+\mor{SigmaR}{SigmaH}{$\varphi^{m^*}$}
+\enddc
+$$
+
+
+
+\subsection{``Around the Word''~\cite{Harary72}}
+
+\begin{lstlisting}
+\begindc{\undigraph}[70]
+\obj(6,4){18}[\south]
+\obj(18,4){17}[\south]
+\obj(8,7){11}[\west]
+\obj(12,8){12}[\south]
+\obj(16,7){13}[\east]
+\obj(8,11){10}[\west]
+\obj(10,12){6}[\northwest]
+\obj(12,10){5}
+\obj(14,12){4}[\northeast]
+\obj(16,11){14}[\east]
+\obj(2,16){19}
+\obj(6,15){9}
+\obj(9,16){8}
+\obj(11,14){7}
+\obj(13,14){3}
+\obj(15,16){2}
+\obj(18,15){15}
+\obj(22,16){16}
+\obj(12,19){1}[\northeast]
+\obj(12,22){20}
+\mor{18}{17}{}\mor{18}{11}{}\mor{18}{19}{}
+\mor{11}{12}{}\mor{11}{10}{}\mor{12}{13}{}
+\mor{12}{5}{}\mor{10}{6}{}\mor{10}{9}{}
+\mor{5}{6}{}\mor{5}{4}{}\mor{13}{17}{}
+\mor{13}{14}{}\mor{9}{19}{}\mor{9}{8}{}
+\mor{6}{7}{}\mor{4}{3}{}\mor{4}{14}{}
+\mor{19}{20}{}\mor{8}{1}{}\mor{8}{7}{}
+\mor{7}{3}{}\mor{3}{2}{}\mor{2}{1}{}
+\mor{2}{15}{}\mor{14}{15}{}\mor{17}{16}{}
+\mor{16}{20}{}\mor{1}{20}{}\mor{15}{16}{}
+\enddc
+\end{lstlisting}
+
+
+$$
+\begindc{\undigraph}[70]
+\obj(6,4){18}[\south]
+\obj(18,4){17}[\south]
+\obj(8,7){11}[\west]
+\obj(12,8){12}[\south]
+\obj(16,7){13}[\east]
+\obj(8,11){10}[\west]
+\obj(10,12){6}[\northwest]
+\obj(12,10){5}
+\obj(14,12){4}[\northeast]
+\obj(16,11){14}[\east]
+\obj(2,16){19}
+\obj(6,15){9}
+\obj(9,16){8}
+\obj(11,14){7}
+\obj(13,14){3}
+\obj(15,16){2}
+\obj(18,15){15}
+\obj(22,16){16}
+\obj(12,19){1}[\northeast]
+\obj(12,22){20}
+\mor{18}{17}{}\mor{18}{11}{}\mor{18}{19}{}
+\mor{11}{12}{}\mor{11}{10}{}\mor{12}{13}{}
+\mor{12}{5}{}\mor{10}{6}{}\mor{10}{9}{}
+\mor{5}{6}{}\mor{5}{4}{}\mor{13}{17}{}
+\mor{13}{14}{}\mor{9}{19}{}\mor{9}{8}{}
+\mor{6}{7}{}\mor{4}{3}{}\mor{4}{14}{}
+\mor{19}{20}{}\mor{8}{1}{}\mor{8}{7}{}
+\mor{7}{3}{}\mor{3}{2}{}\mor{2}{1}{}
+\mor{2}{15}{}\mor{14}{15}{}\mor{17}{16}{}
+\mor{16}{20}{}\mor{1}{20}{}\mor{15}{16}{}
+\enddc
+$$
+
+\subsection{Incircled Objects}
+
+
+\begin{lstlisting}
+\begindc{\cdigraph}[250]
+\obj(1,5){A}
+\obj(1,4){B}
+\obj(1,1){C}
+\obj(5,5){E}
+\obj(5,3){F}
+\obj(5,1){G}
+\mor{A}{E}[80,80]{5}
+\mor{A}{F}[80,80]{3}
+\mor{B}{F}[80,80]{6}[\atright,\solidarrow]
+\mor{B}{E}[80,80]{1}
+\mor{C}{F}[80,80]{5}
+\mor{C}{G}[80,80]{7}
+\enddc
+\end{lstlisting}
+
+
+$$
+\begindc{\cdigraph}[250]
+\obj(1,5){A}
+\obj(1,4){B}
+\obj(1,1){C}
+\obj(5,5){E}
+\obj(5,3){F}
+\obj(5,1){G}
+\mor{A}{E}[80,80]{5}
+\mor{A}{F}[80,80]{3}
+\mor{B}{F}[80,80]{6}[\atright,\solidarrow]
+\mor{B}{E}[80,80]{1}
+\mor{C}{F}[80,80]{5}
+\mor{C}{G}[80,80]{7}
+\enddc
+$$
+
+\newcommand{\noopsort}[1]{} \newcommand{\singleletter}[1]{#1}
+\begin{thebibliography}{10}
+
+\bibitem{Feruglio94}
+Feruglio, {Gabriel Valiente}.
+\newblock Typesetting commutative diagrams.
+\newblock {\em TUGboat}, 15(4):466--484, 1994.
+
+\bibitem{Harary72}
+Harary, Frank. 1972.
+\newblock {\em Graph Theory}.
+\newblock Reading, Massachusetts: Addison-Wesley.
+
+\bibitem{Knuth86}
+Knuth, Donald~E.
+\newblock {\em The TeXbook}.
+\newblock Addison-Wesley Publishing Company, Reading,Massachusetts, 1986.
+
+\bibitem{Lamport94}
+ Lamport, Leslie.
+\newblock {\em {\LaTeX}: A Document Preparation System}.
+\newblock Addison-Wesley Publishing Company, Reading, Massachusetts, 2nd
+ edition, 1994.
+
+\bibitem{Otten99}
+Otten, Ton and Hagen, Hans .
+\newblock {\em Con\TeX t an excursion}.
+\newblock Pragma ADE, Hasselt, 1999.
+
+\bibitem{Pierce98}
+ Pierce, Benjamin.
+\newblock {\em Basic Category Theory for Computer Scientists}.
+\newblock Foundations of Computing. The MIT Press, London, England, 1998.
+
+\bibitem{Wichura92}
+ Wichura, Michael.
+\newblock {\em The {\PiCTeX} Manual}.
+\newblock Personal \TeX\ Inc, 12 Madrona Avenue, Mill Valley, CA
+94941 - USA, 3rd edition, March 1992
+
+\end{thebibliography}
+
+
+\section{The Code}
+
+{\scriptsize
+\verbatiminput{dcpic.sty}
+}
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/Master/texmf-dist/doc/generic/dcpic/manDCPiCpt.pdf b/Master/texmf-dist/doc/generic/dcpic/manDCPiCpt.pdf
new file mode 100644
index 00000000000..7952f91565d
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/dcpic/manDCPiCpt.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/dcpic/manDCPiCpt.tex b/Master/texmf-dist/doc/generic/dcpic/manDCPiCpt.tex
new file mode 100644
index 00000000000..01e86498105
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/dcpic/manDCPiCpt.tex
@@ -0,0 +1,846 @@
+% $Id: manDCPiCpt.tex 13 2013-04-21 15:28:45Z pedro $
+\documentclass[a4paper,11pt]{article}
+\usepackage{a4wide}
+\usepackage[portuguese]{babel}
+\usepackage{ae} % Virtual fonts for PDF-files with T1 encoded CMR-fonts.
+\usepackage[T1]{fontenc}
+\usepackage[utf8x]{inputenc}
+\usepackage{dcpic,pictex}
+\usepackage{alltt}
+\usepackage{verbatim}
+\usepackage{longtable}
+\usepackage{svn-multi}
+\usepackage{listings}
+\usepackage{url}
+
+\svnidlong
+{$HeadURL: svn+ssh://gentzen.mat.uc.pt/var/lib/svn/DCPiC/CTAN5.0/manDCPiCpt.tex $}
+{$LastChangedDate: 2013-05-01 19:49:49 +0100 (Qua, 01 Mai 2013) $}
+{$LastChangedRevision: 15 $}
+{$LastChangedBy: pedro $}
+
+\svnid{$Id: manDCPiCpt.tex 13 2013-04-21 15:28:45Z pedro $}
+
+\newcommand{\docversion}{\svnyear/\svnmonth/\svnday\ (v\svnrev)}
+
+\def\dcpicversion{v5.0.0}
+
+\lstset{language=TeX,
+ frame = single,
+ morekeywords={begindc,enddc,cmor,pup,commdiag,undigraph,digraph,cdigraph,cundigraph,obj,mor,pleft,pup,pdown,pright,north,northeast,east,southeast,south,southwest,west,northwest,atright,atleft,solidarrow,dashArrow,dotArrow,solidline,dashline,dotline,injectionarrow,aplicationarrow,surjectivearrow,equalline,doublearrow,doubleopposite,nullarrow},
+ basicstyle=\scriptsize}
+
+
+\title{DCpic (5.0) --- Manual de Utilização\\
+\docversion}
+
+\author{Pedro Quaresma\\ CISUC/Departamento de Matemática,
+ Universidade de Coimbra\\ 3001-454 COIMBRA, PORTUGAL\\
+ \url{pedro@mat.uc.pt}\quad phone: +351-239~791~137\quad fax:
+ +351-239~832~568}
+
+\date{2013/05/01}
+
+\begin{document}
+
+\maketitle
+
+\begin{abstract}
+ O {\em DCpic\/} é um conjunto de comandos para a escrita de grafos,
+ para tal desenvolveu-se um conjunto de comandos, com uma sintaxe
+ simples, que permite a construção de quase todo o tipo de grafos.
+
+ Originalmente o {\em DCpic\/} ({\bf D}iagramas {\bf C}omutativos
+ utilizando o {\bf PiC}TeX) foi concebido para a construção de
+ diagramas comutativos tal como são usados em Teoria das
+ Categorias~\cite{Herrlich73,Pierce98}, temos então grafos etiquetados
+ e com elementos nos nós. A partir da versão 4.0 o conjunto de
+ comandos foi alterada de forma a considerar-se também a construção de
+ grafos dirigidos, e grafos não dirigidos. A forma de os especificar
+ recorre à colocação dos diferentes objectos (nós e arestas) num dado
+ referencial ortonormado,
+
+ O {\em DCpic} está baseado no \PiCTeX\ necessitando deste para poder
+ ser usado.
+\end{abstract}
+
+\vfill
+\begin{quotation}
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Pedro Quaresma (\url{pedro@mat.uc.pt}).
+
+This work consists of the files dcpic.sty.
+\end{quotation}
+
+\vspace*{2cm}
+\noindent Coimbra, 2013/04/21\\
+Pedro Quaresma
+
+\pagebreak
+\section{Hist\'oria}
+
+\begin{description}
+\item[11/1990 - versão 1.0]
+\item[10/1991 - versão 1.1]
+\item[9/1993 - versão 1.2:] argumento ``distância entre as
+ extremidades da seta e os objectos'' passou a ser opcional; uma nova
+ opção para as ``setas'' (opção 3).
+\item[2/3/1995 - versão 1.3:] foi acrescentado o tipo de seta de
+ aplicação (opção 4) a distância da etiqueta
+ à seta respectiva passou a ser fixa (10 unidades de medida).
+
+\item[15/7/1996 - vers\~ao 2.1:] o comando {\tt mor} passou a ter uma
+ sintaxe distinta. Os parâmetros 5 e 6 passaram a ser a
+ distância entre os objectos e os extremos da seta o
+ parâmetro 7 é o nome do morfismo e os parâmetros 8 e 9,
+ colocação do morfismo e tipo de morfismo passaram a ser
+ opcionais.
+
+\item[5/2001 - versão 3.0:] implementação do comando
+ {\tt cmor} baseado no comando de desenho de curvas quadráticas pelo
+ \PiCTeX.
+
+\item[11/2001 - versão 3.1:] modificação das pontas das
+ setas de forma a estas ficarem semelhantes às setas
+ (símbolos) dos TeX.
+
+\item[1/2002 - versão 3.2:] modificação dos comandos {\tt obj}
+ e {\tt mor} de forma a introduzir a especificação lógica
+ dos morfismos, isto é, passa-se a dizer qual é o objecto de
+ partida e/ou o objecto de chegada em vez de ter de especificar o
+ morfismo em termos de coordenadas. Por outro lado o tamanho das
+ setas passa a ser ajustado automaticamente em relação ao
+ tamanho dos objectos.
+
+\item[5/2002 - vers\~ao 4.0:] {\bf vers\~ao incompatível com as
+ anteriores}. Modificação dos comandos {\tt begindc} e {\tt obj}. O
+ primeiro passou a ter um argumento (obrigat\'orio) que nos
+ permite especificar o tipo de grafo que estamos a querer
+ especificar:
+ \begin{itemize}
+ \item {\tt commdiag} (0), para diagramas comutativos;
+ \item {\tt digraph} (1), para grafos orientados;
+ \item {\tt undigraph} (2), para grafos n\~ao orientados.
+ \end{itemize}
+
+ O comando {\tt obj} modificou a sua sintaxe passou a ter um (após a
+ especifica\c c\~ao das coordenadas, um argumento opcional, um argumento
+ obrigat\'orio, e um argumento opcional. O primeiro argumento opcional
+ d\'a-nos a etiqueta que serve como refer\^encia para a especifica\c c\~ao dos
+ morfismos, na sua aus\^encia usa-se o argumento obrigat\'orio para esse
+ efeito, o argumento obrigat\'orio d\'a-nos o ``conte\'udo'' do objecto, nos
+ diagramas comutativos \'e centrado no ponto dado pelas coordenadas
+ sendo o argumento seguinte simplesmente ignorado, nos grafos o
+ ``conte\'udo'' \'e colocado numa posi\c c\~ao a norte, a noroeste, a este, \ldots,
+ sendo que a posi\c c\~ao concreta \'e especificada pelo \'ultimo dos
+ argumentos deste comando, o valor por omiss\~ao \'e o {\tt norte}.
+
+\item[3/2003 - vers\~ao 4.1:] a pedido de Jon Barker \url{<jeb1@soton.ac.uk>}
+ criei um novo tipo de seta, a seta de sobrejec\c c\~ao. Para j\'a a dupla
+ seta s\'o fica bem nas setas horizontais ou verticais.
+
+\item[12/2004 - vers\~ao 4.1.1:] nova vers\~ao das setas de sobrejec\c c\~ao que
+ corrigue completamente os problemas da solu\c c\~ao anterior.
+
+\item[3/2007 - vers\~ao 4.2:] acrescenta a directiva
+ ``providespackage''. Acrescenta linhas a ponteado e a tracejado.
+
+\item[5/2008 - vers\~ao 4.2.1:] apaga alguns contadores para tentar
+ diminuir o excessivo uso dos mesmos por parte do PiCTeX.
+
+\item[8/2008 - vers\~ao 4.3:] gra\c cas a Ruben Debeerst
+ \url{<debeerst@mathematik.uni-kassel.de>}, acrescentei uma nova
+ ``seta'' a ``equalline''. Ap\'os isso decidi tamb\'em acrescentar
+ setas duplas, com o mesmo ou diferentes sentidos. Acrescentou-se
+ também a seta nula, isto é, sem representação gráfica, a qual pode
+ ser usada para acrescentar etiquetas a outras ``setas''.
+
+\item[12/2008 - version 4.3.1:] para evitar conflitos com outros
+ pacotes o comando ``id'' \'e internalizado. O comando ``dasharrow'' \'e
+ modificado para ``dashArrow'' para evitar um conflito com o AMSTeX.
+
+\item[12/2009 - version 4.3.2:] para evitar um conflito com o pacote
+ ``hyperref'' mudou-se o contador ``d'' para ``deuc'', aproveitei e
+ mudei os contadores ``x'' e ``y'' para ``xO'' e ``yO''
+
+\item[4/2013 - version 4.4.0:] graças a Xingliang Liang
+ \url{jkl9543@gmail.com>} acrescentou-se uma nova seta ``dotarrow''.
+
+\item[4/2013 - version 5.0:] {\bf uma nova unidade para o sistema de
+ coordenadas}, 1/10 da anterior. Esta nova unidade permite
+ corriguir um problema com a construção das setas duplas, além de
+ permitir uma especificação mais fina dos diagramas.
+\end{description}
+
+\section{Introdução}
+
+O conjunto de comandos {\em DCpic} é um conjunto de comandos
+\TeX~\cite{Knuth86} dedicado à escrita de diagramas tal como são
+usados em Teoria das Categorias~\cite{Herrlich73,Pierce98}, assim como
+de grafos dirigidos e não dirigidos~\cite{Harary72}.
+
+Pretendeu-se com a sua escrita ter uma forma simples de especificar
+grafos, fazendo-o através da especificação de um conjunto de
+``objectos'' (nós do grafo) colocados num dado referencial
+ortonormado, e através de um conjuntos de morfismos (arestas) que os
+são posicionados explicitamente no referido referencial, ou então,
+a são posição é dada especificando qual é o seu nó de
+partida e qual é o seu nó de chegada.
+
+O gráfico em si é construído recorrendo aos comandos gráficos
+do \PiCTeX.
+
+\section{Utilização}
+
+Antes de mais é necessário carregar os dois conjuntos de comandos
+acima referidos, no caso de um documento \LaTeX~\cite{Lamport94} isso
+pode ser feito com o seguinte comando (no preâmbulo).
+
+\begin{verbatim}
+\usepackage{dcpic,pictex}
+\end{verbatim}
+
+Nos outros formatos ter-se-á de usar um comando equivalente. Após
+isso os diagramas podem ser escritos através dos comandos
+disponibilizados pelo {\em DCpic}. Por exemplo, os comandos:
+
+
+\begin{lstlisting}
+\begindc{\commdiag}[200]
+ \obj(1,4){$A^B$}
+ \obj(1,1){$C$}
+ \obj(3,4){$A$}
+ \obj(3,1){$C\times{}B$}
+ \obj(6,4){$A^B\times{}B$}
+ \mor{$C$}{$A^B$}{$f$}
+ \mor{$C\times{}B$}{$A$}{$\bar f$}[\atleft,\dashArrow]
+ \mor{$A^B\times{}B$}{$A$}{$ev$}[\atright,\solidarrow]
+ \mor{$C\times{}B$}{$A^B\times{}B$}{$f\times{}id$}[\atright,\solidarrow]
+\enddc
+\end{lstlisting}
+
+produzem o seguinte diagrama:
+
+$$
+\begindc{\commdiag}[200]
+ \obj(1,4){$A^B$}
+ \obj(1,1){$C$}
+ \obj(3,4){$A$}
+ \obj(3,1){$C\times{}B$}
+ \obj(6,4){$A^B\times{}B$}
+ \mor{$C$}{$A^B$}{$f$}
+ \mor{$C\times{}B$}{$A$}{$\bar f$}[\atleft,\dashArrow]
+ \mor{$A^B\times{}B$}{$A$}{$ev$}[\atright,\solidarrow]
+ \mor{$C\times{}B$}{$A^B\times{}B$}{$f\times{}id$}[\atright,\solidarrow]
+\enddc
+$$
+
+O meio ambiente {\tt begindc}, {\tt enddc} permite-nos construir um
+grafo por colocação dos objectos num referencial ortonormado tendo
+a origem em (0,0). As arestas (morfismos) vão ligar pares de nós
+(objectos) entre si.
+
+\section{Comandos Disponíveis}
+
+De seguida apresenta-se a descrição dos comandos, a sua sintaxe e
+a sua funcionalidade. Os argumentos entre parêntesis rectos são
+opcionais.
+
+\begin{description}
+\item[\tt $\backslash$begindc\{\#1\}[\#2\mbox{]}] -- entrada no ambiente de
+ escrita de grafos:
+
+ \begin{tabular}{r@{ -- }l}
+ {\tt \#1} & tipo de grafo\\
+ \multicolumn{2}{l}{\quad $0\equiv\backslash$commdiag, diagrama comutativo;}\\
+ \multicolumn{2}{l}{\quad $1\equiv\backslash$digraph, grafo orientado;}\\
+ \multicolumn{2}{l}{\quad $2\equiv\backslash$undigraph, grafo não orientado;}\\
+ \multicolumn{2}{l}{\quad $3\equiv\backslash$cdigraph, grafo orientado, com
+ objectos circunscritos;}\\
+ \multicolumn{2}{l}{\quad $4\equiv\backslash$cundigraph, grafo não orientado,
+ com objectos circunscritos.}\\
+ {\tt \#2} & factor de escala (opcional)\\
+ \multicolumn{2}{l}{\quad valor por omissão: 300}
+ \end{tabular}
+
+\item[\tt $\backslash$enddc] -- saída do meio ambiente para a
+ escrita de grafos.
+
+\item[{\tt $\backslash$obj(\#1,\#2)[\#3]\{\#4\}[\#5]}:] comando de colocação
+ dos nós (objectos).
+
+ \begin{tabular}{r@{ -- }l}
+ {\tt \#1} e {\tt \#2}& coordenadas do centro da caixa que vai
+ conter o texto\\
+ {\tt \#3} & etiqueta para identificar o objecto (opcional)\\
+ {\tt \#4} & texto (conte{\'u}do do nó)\\
+ {\tt \#5} & colocação relativa do objecto (opcional)\\
+ \multicolumn{2}{l}{\qquad\quad $0\doteq\backslash$pcent, centrado}\\
+ \multicolumn{2}{l}{\qquad\quad $1\doteq\backslash$north, norte}\\
+ \multicolumn{2}{l}{\qquad\quad $2\doteq\backslash$northeast, nordeste}\\
+ \multicolumn{2}{l}{\qquad\quad $3\doteq\backslash$east, este}\\
+ \multicolumn{2}{l}{\qquad\quad $4\doteq\backslash$southeast, sudeste}\\
+ \multicolumn{2}{l}{\qquad\quad $5\doteq\backslash$south, sul}\\
+ \multicolumn{2}{l}{\qquad\quad $6\doteq\backslash$southwest, sudoeste}\\
+ \multicolumn{2}{l}{\qquad\quad $7\doteq\backslash$west, oeste}\\
+ \multicolumn{2}{l}{\qquad\quad $8\doteq\backslash$northwest, noroeste}
+ \end{tabular}
+
+A etiqueta explícita-se quando não é possível usar o objecto como
+forma de identificação do nó, por exemplo num dado grafo não orientado
+os nós podem não ter conteúdo e como tal serem todos iguais em termos
+de identificação:
+
+Em alguns casos, por exemplo comandos dos \LaTeX\ complexos, pode ser
+necessário explicitar o argumento {\tt \#3} mesmo que seja através da
+etiqueta vazia {\tt []}. Esse especificar da etiqueta vazia torna-se
+necessário para que o mecanismo interno do DCpic de comunicação entre
+comandos (pilhas) não se baralhe e entre num ciclo infinito.
+
+
+$$
+\begindc{\undigraph}[200]
+\obj(1,1)[1]{}
+\obj(3,2)[2]{}
+\obj(5,1)[3]{}
+\obj(3,4)[4]{}
+\mor{1}{2}{}
+\mor{1}{3}{}
+\mor{2}{3}{}
+\mor{4}{1}{}
+\mor{4}{3}{}
+\mor{2}{4}{}
+\enddc
+$$
+foi produzido por:
+\begin{lstlisting}
+\begindc{\undigraph}[200]
+\obj(1,1)[1]{}
+\obj(3,2)[2]{}
+\obj(5,1)[3]{}
+\obj(3,4)[4]{}
+\mor{1}{2}{}
+\mor{1}{3}{}
+\mor{2}{3}{}
+\mor{4}{1}{}
+\mor{4}{3}{}
+\mor{2}{4}{}
+\enddc
+\end{lstlisting}
+
+
+O parâmetro referente à colocação do objecto só é relevante quando se
+pensa na identificação dos nós num dado grafo orientado (ou não), por
+exemplo o grafo ``Around the Word''~\cite{Harary72}:
+
+$$
+\begindc{\undigraph}[70]
+\obj(6,4){18}[\south]
+\obj(18,4){17}[\south]
+\obj(8,7){11}[\west]
+\obj(12,8){12}[\south]
+\obj(16,7){13}[\east]
+\obj(8,11){10}[\west]
+\obj(10,12){6}[\northwest]
+\obj(12,10){5}
+\obj(14,12){4}[\northeast]
+\obj(16,11){14}[\east]
+\obj(2,16){19}
+\obj(6,15){9}
+\obj(9,16){8}
+\obj(11,14){7}
+\obj(13,14){3}
+\obj(15,16){2}
+\obj(18,15){15}
+\obj(22,16){16}
+\obj(12,19){1}[\northeast]
+\obj(12,22){20}
+\mor{18}{17}{}\mor{18}{11}{}\mor{18}{19}{}
+\mor{11}{12}{}\mor{11}{10}{}\mor{12}{13}{}
+\mor{12}{5}{}\mor{10}{6}{}\mor{10}{9}{}
+\mor{5}{6}{}\mor{5}{4}{}\mor{13}{17}{}
+\mor{13}{14}{}\mor{9}{19}{}\mor{9}{8}{}
+\mor{6}{7}{}\mor{4}{3}{}\mor{4}{14}{}
+\mor{19}{20}{}\mor{8}{1}{}\mor{8}{7}{}
+\mor{7}{3}{}\mor{3}{2}{}\mor{2}{1}{}
+\mor{2}{15}{}\mor{14}{15}{}\mor{17}{16}{}
+\mor{16}{20}{}\mor{1}{20}{}\mor{15}{16}{}
+\enddc
+$$
+foi produzido por
+\begin{lstlisting}
+\begindc{\undigraph}[70]
+\obj(6,4){18}[\south]
+\obj(18,4){17}[\south]
+\obj(8,7){11}[\west]
+\obj(12,8){12}[\south]
+\obj(16,7){13}[\east]
+\obj(8,11){10}[\west]
+\obj(10,12){6}[\northwest]
+\obj(12,10){5}
+\obj(14,12){4}[\northeast]
+\obj(16,11){14}[\east]
+\obj(2,16){19}
+\obj(6,15){9}
+\obj(9,16){8}
+\obj(11,14){7}
+\obj(13,14){3}
+\obj(15,16){2}
+\obj(18,15){15}
+\obj(22,16){16}
+\obj(12,19){1}[\northeast]
+\obj(12,22){20}
+\mor{18}{17}{}\mor{18}{11}{}\mor{18}{19}{}
+\mor{11}{12}{}\mor{11}{10}{}\mor{12}{13}{}
+\mor{12}{5}{}\mor{10}{6}{}\mor{10}{9}{}
+\mor{5}{6}{}\mor{5}{4}{}\mor{13}{17}{}
+\mor{13}{14}{}\mor{9}{19}{}\mor{9}{8}{}
+\mor{6}{7}{}\mor{4}{3}{}\mor{4}{14}{}
+\mor{19}{20}{}\mor{8}{1}{}\mor{8}{7}{}
+\mor{7}{3}{}\mor{3}{2}{}\mor{2}{1}{}
+\mor{2}{15}{}\mor{14}{15}{}\mor{17}{16}{}
+\mor{16}{20}{}\mor{1}{20}{}\mor{15}{16}{}
+\enddc
+\end{lstlisting}
+
+
+
+\item[{\tt $\backslash$mor\{\#1\}\{\#2\}[\#5,\#6]\{\#7\}[\#8,\#9]}:]
+ Comando de colocação da seta (morfismo) de ligação de dois objectos
+ -- Primeira variante.
+
+ A numeração errada dos argumentos é aqui feita propositadamente,
+ aquando da explicação da segunda variante deste comando
+ compreender-se-á o porquê desta opção de escrita.
+
+ \begin{longtable}{r@{ -- }p{32em}}
+ {\tt \#1} & referência do nó de partida\\
+ {\tt \#2} & referência do nó de chegada\\
+ {\tt \#5} e {\tt \#6} & distância do centro dos objectos às
+ extremidades inicial e final respectivamente da seta. Valores por
+ omissão: 10, 10 (para diagramas) 2, 2 (para os grafos)\\
+ {\tt \#7} & texto, ``nome'' do morfismo\\
+ {\tt \#8} & colocação do nome do morfismo em relação à seta. Valor
+ por omissão, $\backslash$atleft. \\
+ \multicolumn{2}{l}{\hspace*{4.5em} 1 $\doteq\backslash$atright, à direita}\\
+ \multicolumn{2}{l}{\hspace*{4.5em} -1 $\doteq\backslash$atleft, à esquerda}\\
+ {\tt \#9} & tipo da seta. Valor por omissão, $\backslash$solidarrow.\\
+ \multicolumn{2}{l}{\hspace*{4.5em} 0 $\doteq\backslash$solidarrow, seta sólida} \\
+ \multicolumn{2}{l}{\hspace*{4.5em} 1 $\doteq\backslash$dashArrow, seta tracejada} \\
+ \multicolumn{2}{l}{\hspace*{4.5em} 2 $\doteq\backslash$dotArrow, seta ponteada} \\
+ \multicolumn{2}{l}{\hspace*{4.5em} 3 $\doteq\backslash$solidline, linha sólida} \\
+ \multicolumn{2}{l}{\hspace*{4.5em} 4 $\doteq\backslash$dashline, linha a tracejado} \\
+ \multicolumn{2}{l}{\hspace*{4.5em} 5 $\doteq\backslash$dotline, linha a ponteado} \\
+ \multicolumn{2}{l}{\hspace*{4.5em} 6 $\doteq\backslash$injectionarrow, seta de
+ injecção. Valor anterior 3 (vers\~ao $<$ 4.2) } \\
+ \multicolumn{2}{l}{\hspace*{4.5em} 7 $\doteq\backslash$aplicationarrow, seta de
+ aplicação. Valor anterior 4 (vers\~ao $<$ 4.2) } \\
+ \multicolumn{2}{l}{\hspace*{4.5em} 8 $\doteq\backslash$surjectivearrow, seta de
+ função sobrejectiva. Valor anterior 5 (vers\~ao $<$ 4.2) }\\
+ \multicolumn{2}{l}{\hspace*{4.5em} 9 $\doteq\backslash$equalline, linha dupla}\\
+ \multicolumn{2}{l}{\hspace*{4.5em} 10
+ $\doteq\backslash$doublearrow, seta dupla}\\
+ \multicolumn{2}{l}{\hspace*{4.5em} 11
+ $\doteq\backslash$doubleopposite, seta dupla em sentidos opostos}\\
+ \multicolumn{2}{l}{\hspace*{4.5em} 12
+ $\doteq\backslash$nullarrow, seta nula, serve o propósito de
+ acrescentar etiquetas as outras ``setas''.}\\
+ \end{longtable}
+
+\item[{\tt $\backslash$mor(\#1,\#2)(\#3,\#4)[\#5,\#6]\{\#7\}[\#8,\#9]}:]
+ Comando de colocação da seta (morfismo) de ligação de dois objectos
+ -- Segunda variante.
+
+ \begin{longtable}{r@{ -- }p{32em}}
+ {\tt \#1} e {\tt \#2} & coordenadas do nó de partida\\
+ {\tt \#3} e {\tt \#4} & coordenadas do nó de chegada\\
+ \end{longtable}
+
+ Todos os outros argumentos têm o significado já explicado (por
+ isso a numeração errada). É de notar que para a primeira variante é
+ feito o cálculo das coordenadas dos nós de forma automática e depois
+ são passados esses valores para a segunda variante do comando.
+
+
+\item[{\tt $\backslash$cmor(\#1) \#2(\#3,\#4)\{\#5\}[\#6]}] comando para a
+ especificação de setas curvas. O algoritmo de construção das setas é
+ o do \PiCTeX\ o que implica que se está a especificar uma linha
+ quadrática através de um número ímpar de pontos.
+
+ \begin{tabular}{c@{---}l}
+ {\tt \#1} & lista de pontos, em número ímpar \\
+ {\tt \#2} & direccionamento da seta \\
+ \multicolumn{2}{l}{\qquad 0 $\doteq\backslash$pup, apontar para cima}\\
+ \multicolumn{2}{l}{\qquad 1 $\doteq \backslash$pdown, apontar para
+ baixo}\\
+ \multicolumn{2}{l}{\qquad 2 $\doteq \backslash$pright, apontar para a
+ direita}\\
+ \multicolumn{2}{l}{\qquad 3 $\doteq \backslash$pleft, apontar para a
+ esquerda}\\
+ {\tt \#3} & abcissa do morfismo\\
+ {\tt \#4} & ordenada do morfismo\\
+ {\tt \#5} & morfismo\\
+ {\tt \#6} & tipo de ``seta'', valor por omissão: 0, seta
+ sólida.\\
+ \multicolumn{2}{l}{\hspace*{4.5em} Os restantes valores poss\'\i veis
+ s\~ao os descritos na variante anterior.}\\
+
+ \end{tabular}
+
+ O comando {\tt cmor} no caso em que não tem o último parâmetro opcional
+ tem de ser seguido por um espaço. O espaço antes do direccionamento
+ da seta é obrigatório.
+
+ No caso de se ter o valor 2 (``$\backslash$solidline'') o valor para o
+ direccionamento da seta não é tipo em conta, no entanto dado se
+ tratar de um do parâmetro obrigatório é necessário dar-lhe um valor
+\end{description}
+
+
+\section{Alguns Exemplos}
+
+
+\subsection{Setas Duplas, Transformações Naturais, \ldots}
+
+É de notar que alguns casos aparentemente omissos na actual versão
+podem perfeitamente ser construídos através de uma utilização
+imaginativa dos actuais comandos. Por exemplo os seguintes diagramas:
+
+$$
+\begindc{\commdiag}[30]
+\obj(5,5){$A$}
+\obj(20,5){$B$}
+\mor{$A$}{$B$}{$f$}[\atright,\doublearrow]
+\mor{$A$}{$B$}{$g$}[\atleft,\nullarrow]
+\enddc
+\qquad\qquad\qquad
+\begindc{\commdiag}[140]
+\obj(5,5){$A$}
+\obj(9,5){$B$}
+\mor(5,6)(9,6){$\downarrow\sigma$}[\atright,\solidarrow]
+\mor{$A$}{$B$}{}
+\mor(5,4)(9,4){$\downarrow\tau$}
+\enddc
+$$
+
+Podem ser construídos com a actual versão. Eis como:
+
+
+\begin{lstlisting}
+\begindc{\commdiag}[30]
+\obj(5,5){$A$}
+\obj(20,5){$B$}
+\mor{$A$}{$B$}{$f$}[\atright,\doublearrow]
+\mor{$A$}{$B$}{$g$}[\atleft,\nullarrow]
+
+\begindc{\commdiag}[14]
+\obj(5,5){$A$}
+\obj(9,5){$B$}
+\mor(5,6)(9,6){$\downarrow\sigma$}[\atright,\solidarrow]
+\mor{$A$}{$B$}{}
+\mor(5,4)(9,4){$\downarrow\tau$}
+\enddc
+\end{lstlisting}
+
+
+\subsection{Grafos Orientados com Objectos Circunscritos}
+
+
+$$
+\begindc{\cdigraph}[250]
+\obj(1,5){A}
+\obj(1,4){B}
+\obj(1,1){C}
+\obj(5,5){E}
+\obj(5,3){F}
+\obj(5,1){G}
+\mor{A}{E}[80,80]{5}
+\mor{A}{F}[80,80]{3}
+\mor{B}{F}[80,80]{6}[\atright,\solidarrow]
+\mor{B}{E}[80,80]{1}
+\mor{C}{F}[80,80]{5}
+\mor{C}{G}[80,80]{7}
+\enddc
+$$
+
+Foi produzido através dos seguintes comandos:
+
+
+\begin{lstlisting}
+\begindc{\commdiag}[250]
+\obj(1,5){A}
+\obj(1,4){B}
+\obj(1,1){C}
+\obj(5,5){E}
+\obj(5,3){F}
+\obj(5,1){G}
+\mor{A}{E}[80,80]{5}
+\mor{A}{F}[80,80]{3}
+\mor{B}{F}[80,80]{6}[\atright,\solidarrow]
+\mor{B}{E}[80,80]{1}
+\mor{C}{F}[80,80]{5}
+\mor{C}{G}[80,80]{7}
+\enddc
+\end{lstlisting}
+
+\subsection{Diferentes Tipos de Setas/Linhas}
+
+
+\begin{lstlisting}
+\begindc{\commdiag}[250]
+\obj(10,10)[A]{$OOOOOO$}
+\obj(15,10)[A0]{$A_0$}
+\obj(14,11)[A1]{$A_1$}
+\obj(13,12)[A2]{$A_2$}
+\obj(12,13)[A3]{$A_3$}
+\obj(10,14)[A4]{$A_4$}
+\obj(9,13)[A5]{$A_5$}
+\obj(8,12)[A6]{$A_6$}
+\obj(7,11)[A7]{$A_7$}
+\obj(6,10)[A8]{$A_8$}
+\obj(7,9)[A9]{$A_9$}
+\obj(9,8)[A10]{$A_{10}$}
+\obj(12,8)[A11]{$A_{11}$}
+\mor{A}{A0}{$a_0$}[\atright,\solidarrow]
+\mor{A}{A1}{$a_1$}[\atright,\dashArrow]
+\mor{A}{A2}{$a_2$}[\atright,\dotArrow]
+\mor{A}{A3}{$a_3$}[\atright,\solidline]
+\mor{A}{A4}{$a_4$}[\atright,\dashline]
+\mor{A}{A5}{$a_5$}[\atleft,\dotline]
+\mor{A}{A6}{$a_6$}[\atleft,\injectionarrow]
+\mor{A}{A7}{$a_7$}[\atleft,\aplicationarrow]
+\mor{A}{A8}{$a_8$}[\atleft,\surjectivearrow]
+\mor{A}{A9}{$a_9$}[\atleft,\equalline]
+\mor{A}{A10}{$a_{10}$}[\atleft,\doublearrow]
+\mor{A}{A11}{$a_{11}$}[\atleft,\doubleopposite]
+\mor{A}{A11}{$a_{12}$}[\atright,\nullarrow]
+\enddc
+\end{lstlisting}
+
+$$
+\begindc{\commdiag}[250]
+\obj(10,10)[A]{$OOOOOO$}
+\obj(15,10)[A0]{$A_0$}
+\obj(14,11)[A1]{$A_1$}
+\obj(13,12)[A2]{$A_2$}
+\obj(12,13)[A3]{$A_3$}
+\obj(10,14)[A4]{$A_4$}
+\obj(9,13)[A5]{$A_5$}
+\obj(8,12)[A6]{$A_6$}
+\obj(7,11)[A7]{$A_7$}
+\obj(6,10)[A8]{$A_8$}
+\obj(7,9)[A9]{$A_9$}
+\obj(9,8)[A10]{$A_{10}$}
+\obj(12,8)[A11]{$A_{11}$}
+\mor{A}{A0}{$a_0$}[\atright,\solidarrow]
+\mor{A}{A1}{$a_1$}[\atright,\dashArrow]
+\mor{A}{A2}{$a_2$}[\atright,\dotArrow]
+\mor{A}{A3}{$a_3$}[\atright,\solidline]
+\mor{A}{A4}{$a_4$}[\atright,\dashline]
+\mor{A}{A5}{$a_5$}[\atleft,\dotline]
+\mor{A}{A6}{$a_6$}[\atleft,\injectionarrow]
+\mor{A}{A7}{$a_7$}[\atleft,\aplicationarrow]
+\mor{A}{A8}{$a_8$}[\atleft,\surjectivearrow]
+\mor{A}{A9}{$a_9$}[\atleft,\equalline]
+\mor{A}{A10}{$a_{10}$}[\atleft,\doublearrow]
+\mor{A}{A11}{$a_{11}$}[\atleft,\doubleopposite]
+\mor{A}{A11}{$a_{12}$}[\atright,\nullarrow]
+\enddc
+$$
+
+\subsection{Diagramas com Setas Curvas}
+
+
+
+\begin{lstlisting}
+\begindc{\commdiag}[30]
+\obj(14,11){$A$}
+\obj(39,11){$B$}
+\mor(14,12)(39,12){$f$}
+\mor(39,10)(14,10){$g$}
+\cmor((10,10)(6,11)(5,15)(6,19)(10,20)(14,19)(15,15))
+ \pdown(2,20){$id_A$}
+\cmor((40,7)(41,3)(45,2)(49,3)(50,7)(49,11)(45,12))
+ \pleft(54,3){$id_B$}
+\enddc
+
+\begindc{\commdiag}[30]
+\obj(10,15)[A]{$A$}
+\obj(40,15)[Aa]{$A$}
+\obj(25,15)[B]{$B$}
+\mor{A}{B}{$f$}
+\mor{B}{Aa}{$g$}
+\cmor((10,11)(11,7)(15,6)(25,6)(35,6)(39,7)(40,11))
+ \pup(25,3){$id_A$}
+\enddc
+\end{lstlisting}
+
+$$
+\begindc{\commdiag}[30]
+\obj(14,11){$A$}
+\obj(39,11){$B$}
+\mor(14,12)(39,12){$f$}%[\atright,\solidarrow]
+\mor(39,10)(14,10){$g$}%[\atright,\solidarrow]
+\cmor((10,10)(6,11)(5,15)(6,19)(10,20)(14,19)(15,15))
+ \pdown(2,20){$id_A$}
+\cmor((40,7)(41,3)(45,2)(49,3)(50,7)(49,11)(45,12))
+ \pleft(54,3){$id_B$}
+\enddc
+\qquad
+\begindc{\commdiag}[30]
+\obj(10,15)[A]{$A$}
+\obj(40,15)[Aa]{$A$}
+\obj(25,15)[B]{$B$}
+\mor{A}{B}{$f$}%[\atright,\solidarrow]
+\mor{B}{Aa}{$g$}%[\atright,\solidarrow]
+\cmor((10,11)(11,7)(15,6)(25,6)(35,6)(39,7)(40,11))
+ \pup(25,3){$id_A$}
+\enddc
+$$
+
+\subsection{Um Exemplo Complexo}
+
+O diagrama seguinte foi proposto por Feruglio~\cite{Feruglio94} como
+um caso de teste. Como \'e poss\'\i vel ver o DCpic produz o diagrama
+correctamente a partir de uma especifica\c c\~ao simples.
+
+
+\begin{lstlisting}
+\newcommand{\barraA}{\vrule height2em width0em depth0em}
+\newcommand{\barraB}{\vrule height1.6em width0em depth0em}
+\begindc{\commdiag}[350]
+\obj(1,1)[Gr]{$G$}
+\obj(3,1)[Grstar]{$G_{r^*}$}
+\obj(5,1)[H]{$H$}
+\obj(2,2)[SigmaG]{$\Sigma^G$}
+\obj(6,2)[SigmaH]{$\Sigma^H$}
+\obj(1,3)[Lm]{$L_m$}
+\obj(3,3)[Krm]{$K_{r,m}$}
+\obj(5,3)[Rmstar]{$R_{m^*}$}
+\obj(1,5)[L]{$L$}
+\obj(3,5)[Lr]{$L_r$}
+\obj(5,5)[R]{$R$}
+\obj(2,6)[SigmaL]{$\Sigma^L$}
+\obj(6,6)[SigmaR]{$\Sigma^R$}
+\mor{Gr}{SigmaG}{$\lambda^G$}
+\mor{Grstar}{Gr}{$i_5$}[\atleft,\aplicationarrow]
+\mor{Grstar}{H}{$r^*$}[\atright,\solidarrow]
+\mor{H}{SigmaH}{$\lambda^H$}[\atright,\dashArrow]
+\mor{SigmaG}{SigmaH}{$\varphi^{r^*}$}[\atleft,\solidarrow]
+\mor{Lm}{Gr}{$m$}[\atright,\solidarrow]
+\mor{Lm}{L}{$i_2$}[\atleft,\aplicationarrow]
+\mor{Krm}{Lm}{$i_3\quad$}[\atright,\aplicationarrow]
+\mor{Krm}{Rmstar}{$r$}
+\mor{Krm}{Lr}{$i_4$}[\atright,\aplicationarrow]
+\mor{Krm}{Grstar}{\barraA$m$}
+\mor{Rmstar}{R}{$i_6$}[\atright,\aplicationarrow]
+\mor{Rmstar}{H}{\barraB$m^*$}
+\mor{L}{SigmaL}{$\lambda^L$}
+\mor{Lr}{L}{$i_1\quad$}[\atright,\aplicationarrow]
+\mor{Lr}{R}{$r$}
+\mor{R}{SigmaR}{$\lambda^R$}[\atright,\solidarrow]
+\mor{SigmaL}{SigmaG}{$\varphi^m$}[\atright,\solidarrow]
+\mor{SigmaL}{SigmaR}{$\varphi^r$}
+\mor{SigmaR}{SigmaH}{$\varphi^{m^*}$}
+\enddc
+\end{lstlisting}
+
+\newcommand{\barraA}{\vrule height2em width0em depth0em}
+\newcommand{\barraB}{\vrule height1.6em width0em depth0em}
+$$\begindc{\commdiag}[350]
+\obj(1,1)[Gr]{$G$}
+\obj(3,1)[Grstar]{$G_{r^*}$}
+\obj(5,1)[H]{$H$}
+\obj(2,2)[SigmaG]{$\Sigma^G$}
+\obj(6,2)[SigmaH]{$\Sigma^H$}
+\obj(1,3)[Lm]{$L_m$}
+\obj(3,3)[Krm]{$K_{r,m}$}
+\obj(5,3)[Rmstar]{$R_{m^*}$}
+\obj(1,5)[L]{$L$}
+\obj(3,5)[Lr]{$L_r$}
+\obj(5,5)[R]{$R$}
+\obj(2,6)[SigmaL]{$\Sigma^L$}
+\obj(6,6)[SigmaR]{$\Sigma^R$}
+\mor{Gr}{SigmaG}{$\lambda^G$}
+\mor{Grstar}{Gr}{$i_5$}[\atleft,\aplicationarrow]
+\mor{Grstar}{H}{$r^*$}[\atright,\solidarrow]
+\mor{H}{SigmaH}{$\lambda^H$}[\atright,\dashArrow]
+\mor{SigmaG}{SigmaH}{$\varphi^{r^*}$}[\atleft,\solidarrow]
+\mor{Lm}{Gr}{$m$}[\atright,\solidarrow]
+\mor{Lm}{L}{$i_2$}[\atleft,\aplicationarrow]
+\mor{Krm}{Lm}{$i_3\quad$}[\atright,\aplicationarrow]
+\mor{Krm}{Rmstar}{$r$}
+\mor{Krm}{Lr}{$i_4$}[\atright,\aplicationarrow]
+\mor{Krm}{Grstar}{\barraA$m$}
+\mor{Rmstar}{R}{$i_6$}[\atright,\aplicationarrow]
+\mor{Rmstar}{H}{\barraB$m^*$}
+\mor{L}{SigmaL}{$\lambda^L$}
+\mor{Lr}{L}{$i_1\quad$}[\atright,\aplicationarrow]
+\mor{Lr}{R}{$r$}
+\mor{R}{SigmaR}{$\lambda^R$}[\atright,\solidarrow]
+\mor{SigmaL}{SigmaG}{$\varphi^m$}[\atright,\solidarrow]
+\mor{SigmaL}{SigmaR}{$\varphi^r$}
+\mor{SigmaR}{SigmaH}{$\varphi^{m^*}$}
+\enddc
+$$
+
+
+%\bibliographystyle{plain}
+%\bibliography{pedro}
+
+\newcommand{\noopsort}[1]{} \newcommand{\singleletter}[1]{#1}
+\begin{thebibliography}{1}
+
+\bibitem{Feruglio94}
+{Gabriel Valiente} Feruglio.
+\newblock Typesetting commutative diagrams.
+\newblock {\em TUGboat}, 15(4):466--484, 1994.
+
+\bibitem{Harary72}
+Frank Harary.
+\newblock {\em Graph Theory}.
+\newblock Addison-Wesley, Reading, Massachusetts, 1972.
+
+\bibitem{Herrlich73}
+Horst Herrlich and George Strecker.
+\newblock {\em Category Theory}.
+\newblock Allyn and Bacon Inc., 1973.
+
+\bibitem{Knuth86}
+Donald~E. Knuth.
+\newblock {\em The {\TeX}book}.
+\newblock Addison-Wesley Publishing Company, Reading, Massachusetts, 1986.
+
+\bibitem{Lamport94}
+Leslie Lamport.
+\newblock {\em {\LaTeX}: A Document Preparation System}.
+\newblock Addison-Wesley Publishing Company, Reading,Massachusetts, 2nd
+ edition, 1994.
+
+\bibitem{Pierce98}
+Benjamin Pierce.
+\newblock {\em Basic Category Theory for Computer Scientists}.
+\newblock Foundations of Computing. The MIT Press, London, England, 1998.
+
+\end{thebibliography}
+
+\appendix
+\section{O Código}
+
+{\scriptsize
+\verbatiminput{dcpic.sty}}
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End: