summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/dcpic/dcpic.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/dcpic/dcpic.sty')
-rw-r--r--Master/texmf-dist/tex/latex/dcpic/dcpic.sty127
1 files changed, 87 insertions, 40 deletions
diff --git a/Master/texmf-dist/tex/latex/dcpic/dcpic.sty b/Master/texmf-dist/tex/latex/dcpic/dcpic.sty
index b1a65327c08..9a613845837 100644
--- a/Master/texmf-dist/tex/latex/dcpic/dcpic.sty
+++ b/Master/texmf-dist/tex/latex/dcpic/dcpic.sty
@@ -1,15 +1,29 @@
-% $Id: dcpic.sty,v 1.24 2002/11/25 13:51:57 pedro Exp $
+% $Id: dcpic.sty,v 1.31 2007/12/13 17:34:57 pedro Exp pedro $
%% DC-PiCTeX
-%% Realizado por Pedro Quaresma de Almeida, Coimbra
-%% 11/1990 (vers{\~a}o 1.0); 10/1991 (vers{\~a}o 1.1);
-%% 9/1993 (vers{\~a}o 1.2); 3/1995 (vers{\~a}o 1.3);
-%% 7/1996 (vers{\~a}o 2.1);
-%% 5/2001 (vers{\~a}o 3.0); 11/2001 (vers{\~a}o 3.1);
-%% 1/2002 (vers{\~a}o 3.2)
-%% 5/2002 (versão 4.0)
-\immediate\write10{Package DCpic 2002/05/16 v4.0}
+%% Copyright (c) 1990-2007 Pedro Quaresma de Almeida, Coimbra
+%% 11/1990 (version 1.0);
+%% 10/1991 (version 1.1);
+%% 9/1993 (version 1.2);
+%% 3/1995 (version 1.3);
+%% 7/1996 (version 2.1);
+%% 5/2001 (version 3.0);
+%% 11/2001 (version 3.1);
+%% 1/2002 (version 3.2)
+%% 5/2002 (version 4.0);
+%% 3/2003 (version 4.1);
+%% 12/2004 (version 4.1.1)
+%% 3/2007 (version 4.1.2)
-%% Copyright (c) 1990-2002 Pedro Quaresma <pedro@mat.uc.pt>
+\immediate\write10{Package DCpic 2007/03/01 v4.1.2}
+
+\ProvidesPackage{dcpic}[2007/03/01 v4.1.2]
+
+%% Version X.Y.Z
+%% X - major versions
+%% Y - minor versions
+%% Z - bug corrections
+%%
+%% Copyright (c) 1990-2007 Pedro Quaresma <pedro@mat.uc.pt>
%% The DCpic package is free software; you can redistribute it and/or
%% modify it under the terms of the GNU General Public License as
%% published by the Free Software Foundation; either version 2 of the
@@ -25,7 +39,7 @@
%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
%%
%%
-%% Coimbra, 16 de Maio de 2002
+%% Coimbra, 13 de Dezembro de 2007
%% Pedro Quaresma de Almeida
%%
%% DCpic is a package of \TeX\ macros for graph modelling in a
@@ -62,10 +76,12 @@
%%
%% The environment:
%% \begindc{#1}[#2]
-%% Tipo do grafo
-%% 0 = "commdiag" (diagrama comutativo)
-%% 1 = "digraph" (grafo orientado)
-%% 2 = "undigraph" (grafo não orientado)
+%% #1 - Graph type
+%% 0 = "commdiag" (commutative diagram)
+%% 1 = "digraph" (direct graph)
+%% 2 = "undigraph" (undirect graph)
+%% 3 = "cdigraph" with incircled objects
+%% 4 = "cundigraph" with incircled objects
%% (optional) #2 - magnification factor (default value, 30)
%%
%% \enddc
@@ -76,7 +92,7 @@
%% (optional) #3 - Label, to be used in the morphims command, if not
%% present the #4 will be used to that purpose
%% #4 - Object contents
-%% #5 - placement of the object (default value \north)
+%% (optional) #5 - placement of the object (default value \north)
%% 0="\pcent", center
%% 1="\north", north
%% 2="\northeast", northeast
@@ -119,36 +135,39 @@
%%
%% Now we can describe all the arguments
%%
-%% #1 and #2 - coordenates (beginning)
-%% #3 and #4 - coordenantes (ending)
-%%(optional)#5,#6 - correction factor (defaul value, 10 and 10)
-%% #5 - actual beginning of the edge
-%% #6 - actual ending of the edge
-%% #7 - text (morphism label)
+%% #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
+%% #8 - label placement
%% 1 = \atright, at right, default value
%% -1 = \atleft, at left
-%% #9 - edge type
+%% #9 - edge type
%% 0 = "\solidarrow", default edge
%% 1 = "\dasharrow"
%% 2 = "\solidline"
-%% 3 = "\injectionarrow"
-%% 4 = "\aplicationarrow"
+%% 3 = "\dashline"
+%% 4 = "\dotline"
+%% 5 = "\injectionarrow" --- old value 3
+%% 6 = "\aplicationarrow" --- old value 4
+%% 7 = "\surjectivearrow" --- old value 5
%%
%% Note: insert a space after the command.
%%
%% Curved Morphisms (quadratic edges):
%% \cmor(#1) #2(#3,#4){#5}[#6]
-%% #1 - list of points (odd number)
-%% #2 - tip direction
+%% #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
-%% #6 - edge type
+%% #3 and #4 - coordenates of the label
+%% #5 - morphism label
+%%(optional)#6 - edge type
%% 0 ="\solidarrow", default value
%% 1 = "\dasharrow"
%% 2 = "\solidline"
@@ -231,7 +250,7 @@
%% foi acrescentado o tipo de seta de aplica{\c c}{\~a}o
%% (op{\c c}{\~a}o 4) a dist{\^a}ncia da etiqueta {\`a} seta respectiva
%% passou a ser fixa (10 unidades de medida).
-%% 15/7/1996 (versão 2.1)
+%% 15/7/1996 (vers{\~a}o 2.1)
%% O comando "\mor" passou a ter uma sintaxe distinta. Os
%% par{\^a}metros 5 e 6 passaram a ser a dist{\^a}ncia entre os
%% objectos e os extremos da seta o par{\^a}metro 7 {\'e} o nome do
@@ -263,7 +282,7 @@
%% querer especificar:
%% "commdiag" (0), para diagramas comutativos
%% "digraph" (1), para grafos orientados
-%% "undigraph" (1), para grafos não orientados
+%% "undigraph" (2), para grafos não orientados
%% O comando "obj" modificou a sua sintaxe passou a ter um (após
%% a especificação das coordenadas, um argumento opcional, um
%% argumento obrigatório, e um argumento opcional. O primeiro
@@ -278,6 +297,16 @@
%% especificada pelo último dos argumentos deste comando, o
%% valor por omissão é o "norte".
%%
+%% 3/2003 (versão 4.1)
+%% A pedido de Jon Barker <jeb1@soton.ac.uk> criei um novo tipo
+%% de seta, a seta de sobrejecção.
+%% Para já a dupla seta só fica bem nas setas horizontais ou
+%% verticais.
+%% 12/2004 (versão 4.1.1)
+%% Nova versão das setas de sobrejecção que corrigue
+%% completamente os problemas da solução anterior.
+%% 3/2007 (versão 4.1.2)
+%% Acrescenta linhas a tracejado e a ponteado
%%-----------------//-------------
\catcode`!=11 % ***** THIS MUST NEVER BE OMITTED (Ver PiCTeX)
@@ -408,8 +437,11 @@
\def\solidarrow{0}
\def\dasharrow{1}
\def\solidline{2}
-\def\injectionarrow{3}
-\def\aplicationarrow{4}
+\def\dashline{3}
+\def\dotline{4}
+\def\injectionarrow{5}
+\def\aplicationarrow{6}
+\def\surjectivearrow{7}
%% Name definitions for edge label placement
\def\atright{-1}
\def\atleft{1}
@@ -852,16 +884,26 @@
\!distnomemor{\number\x}{\number\y}{\number\xl}{\number\yl}{#7}{\dnm}%
\!ucoord{\number\y}{\number\yl}{\number\xmed}{\number\dnm}{\number\d}{\xc}{-#8}%
\!ucoord{\number\x}{\number\xl}{\number\ymed}{\number\dnm}{\number\d}{\yc}{#8}%
-\ifcase #9 % seta s{\'o}lida
+\ifcase #9 % Seta S{\'o}lida
\arrow <4pt> [.2,1.1] from {\xa} {\ya} to {\xb} {\yb}
-\or % seta a tracejado
+\or % Seta a Tracejado
\setdashes
\arrow <4pt> [.2,1.1] from {\xa} {\ya} to {\xb} {\yb}
\setsolid
-\or % linha s{\'o}lida
+\or % Linha S{\'o}lida
+ \setlinear
+ \plot {\xa} {\ya} {\xb} {\yb} /
+\or % Linha Tracejado
+ \setdashes
+ \setlinear
+ \plot {\xa} {\ya} {\xb} {\yb} /
+ \setsolid
+\or % Linha a Ponteado
+ \setdots
\setlinear
\plot {\xa} {\ya} {\xb} {\yb} /
-\or % seta de injec{\c c}{\~a}o
+ \setsolid
+\or % Seta de Injec{\c c}{\~a}o
%% C{\'a}lculos auxiliares
%%
%% 3 valor para o raio do "rabo" da "seta"
@@ -881,7 +923,7 @@
\arrow <4pt> [.2,1.1] from {\xa} {\ya} to {\xb} {\yb}
%% e do seu "rabo"
\circulararc -180 degrees from {\xa} {\ya} center at {\xd} {\yd}
-\or % seta de aplica{\c c}{\~a}o ("|-->")
+\or % Seta de Aplica{\c c}{\~a}o ("|-->")
\auxa=3% valor para o meio-segmento do "rabo" da "seta"
%% c{\'a}lculo dos pontos (xmed,ymed) e (xd,yd) para o segmento de recta que
%% define o "rabo" da seta
@@ -894,6 +936,11 @@
%% e do seu "rabo"
\setlinear
\plot {\xmed} {\ymed} {\xd} {\yd} /
+\or % Seta de Sobrejec{\c c}{\~a}o ("-->>")
+ \arrow <4pt> [.2,1.1] from {\xa} {\ya} to {\xb} {\yb}
+%% e da segunda "seta"
+ \setlinear
+ \arrow <6pt> [0,.72] from {\xa} {\ya} to {\xb} {\yb}
\fi
%% Coloca{\c c}{\~a}o do nome do morfismo.
%% Se os morfismos s{\~a}o horizontais ou verticais constro{\'\i} uma caixa