diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/dcpic/dcpic.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/dcpic/dcpic.sty | 127 |
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 |