Está en la página 1de 144

Diseo Grfico en LATEX

Grficos Matemticos de Alta Calidad


z

x
1 ()

2 ()

y u1

x u1
N

3 ()
r 4 ()

S
f 1 ()m + r 1 ()mr

xr

r xr

I
r 5 ()

yr

r yr

Jorge Mario Garca Usuga


Anbal Muoz Loaiza
Efran Alberto Hoyos Salcedo

Diseo grfico en LATEX


Jorge Mario Garca Usuga
14 de diciembre de 2007

J. M. Garca, A. Muoz L. E. A. Hoyos

Diseo Grfico en LATEX


Grficos Matemticos de Alta Calidad

No est permitida la reproduccin total o parcial de esta obra por


cualquier medio o mtodo sin autorizacin escrita de los autores.

Derechos Reservados
Armenia Quindo Colombia 2007
ISBN: 978-958-44-2285-9

PREFACIO

Para muchos usuarios de LATEX , se hace imprescindible la inclusin


de material grfico dentro de sus documentos matemticos. Generalmente, el tema es algo desagradable para las personas que estn dando
sus primeros pasos en LATEX , pues se deben tener archivos separados
del documento fuente para su posterior compilacin. Hasta hace algunos aos se empezaron a implementar paquetes con la capacidad
de hacer grficos matemticos y no matemticos dentro de nuestros
documentos TEX , esto se logr con paquetes como PSTricks y XY-pic
entre otros, los cuales permitieron crear grficos a partir de cdigos
tipo TeX.
Grficos matemticos como los ejes coordenados, diagramas de flujo,
diagramas conmutativos, grfico de curvas en R2 y R3 entre otros, se
incluan en LATEX , hacindolos en otros programas y luego exportndolos a un formato compatible como ps o bmp. Esto produca una
incompatibilidad entre los tipos de letra usados por el software para
hacer las graficas y las fuentes usadas por LaTeX. Paquetes como
PSTricks y XY-pic presentan una forma muy matemtica"para realizar
este tipo de dibujos y producir artculos, libros y dems produccin
escrita, con grficos de excelente calidad. Como ejemplo del poder de
dichos paquetes, se presenta la portada de este libro, la cual se hizo
enteramente con PSTricks y XY-pic.
3

El libro est dividido en tres captulos. El primero hace una extensa


revisin del paquete PSTricks, incluyendo ejemplos con su respectivo
cdigo fuente. El segundo muestra dos herramientas muy tiles para
aquellas personas que no gustan de la programacin en LATEX y el
ltimo captulo, es una recopilacin de ejemplos hechos con XY-pic,
orientados a la construccin de diagramas de dinmicas ecolgicas y
epidemiolgicas. El libro est dirigido a usuarios avanzados de LATEX ,
pues, en los ejemplos se usan macros e instrucciones que se asume el
usuario ya debe conocer. Si el lector no tiene conocimiento de dichas
instrucciones refirase a los documentos [11],[12],[9] y [6].
Esperamos que este material sirva de apoyo a docentes, alumnos y
TEX-ncratas que gusten de grficos matemticos de alta calidad en
sus documentos.

NDICE GENERAL

1. Grficos con PSTricks


1.1. El entorno . . . . . . . . . . . . . . . . . . .
1.2. Puntos . . . . . . . . . . . . . . . . . . . . .
1.3. Lneas y polgonos . . . . . . . . . . . . . .
1.3.1. Rectas simples . . . . . . . . . . . .
1.3.1.1. Flechas . . . . . . . . . . .
1.3.2. Rectas con el comando qline . . . .
1.3.3. Polgonos . . . . . . . . . . . . . . .
1.3.4. Frames con \psframes . . . . . . . .
1.4. Crculos, elipses y arcos . . . . . . . . . . .
1.4.1. Crculos . . . . . . . . . . . . . . . .
1.4.2. Seccin de crculo . . . . . . . . . . .
1.4.3. Elipses . . . . . . . . . . . . . . . . .
1.4.4. Arcos . . . . . . . . . . . . . . . . .
1.5. Curvas . . . . . . . . . . . . . . . . . . . . .
1.5.1. Los comandos pscurve, psecurve y
1.6. Manejo de Colores . . . . . . . . . . . . . .
1.6.1. Creacin de nuevos colores . . . . . .
1.6.2. Texturas . . . . . . . . . . . . . . . .
1.6.3. Degradados . . . . . . . . . . . . . .
1.7. Manejo de objetos . . . . . . . . . . . . . .
5

. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
psccurve
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .

9
10
12
15
15
16
16
17
18
18
18
19
19
20
21
22
24
24
28
30
32

NDICE GENERAL
1.7.1. El comando \rput
. . . . . . . . . . . . . . .
1.7.2. Resortes . . . . . . . . . . . . . . . . . . . . . .
1.7.3. Ejes coordenados . . . . . . . . . . . . . . . . .
1.7.4. Grillas . . . . . . . . . . . . . . . . . . . . . . .
1.8. Manejo de texto . . . . . . . . . . . . . . . . . . . . .
1.8.1. El comando \uput . . . . . . . . . . . . . . . .
1.8.2. Texto en recuadros . . . . . . . . . . . . . . . .
1.8.2.1. Sombras . . . . . . . . . . . . . . . . .
1.8.3. Texto sobre curvas . . . . . . . . . . . . . . . .
1.8.4. Texto con efectos especiales . . . . . . . . . . .
1.9. Trazado de curvas . . . . . . . . . . . . . . . . . . . .
1.9.1. Curvas a partir de su ecuacin . . . . . . . . .
1.9.2. Curvas Paramtricas . . . . . . . . . . . . . . .
1.9.3. Regiones sombreadas . . . . . . . . . . . . . . .
1.10. Herramientas para rboles, grafos y diagramas . . . . .
1.10.1. Nodos . . . . . . . . . . . . . . . . . . . . . . .
1.10.2. Conectores . . . . . . . . . . . . . . . . . . . .
1.10.3. Etiquetas . . . . . . . . . . . . . . . . . . . . .
1.10.4. rboles . . . . . . . . . . . . . . . . . . . . . .
1.10.4.1. Etiquetas para los nodos de los rboles
1.11. Manejo de objetos 3D con PSTricks . . . . . . . . . . .
1.11.1. El paquete pst-3dplot . . . . . . . . . . . . .
1.11.2. El eje cordenado 3D . . . . . . . . . . . . . . .
1.11.3. Ubicacin de objetos con \pstThreeDPut . . .
1.11.4. Puntos . . . . . . . . . . . . . . . . . . . . . . .
1.11.5. Lneas rectas . . . . . . . . . . . . . . . . . . .
1.11.6. Tringulos . . . . . . . . . . . . . . . . . . . . .
1.11.7. Cuadros y rectngulos . . . . . . . . . . . . . .
1.11.8. Cajas . . . . . . . . . . . . . . . . . . . . . . .
1.11.9. Circunferencias y elipses . . . . . . . . . . . . .
1.11.10.Esferas . . . . . . . . . . . . . . . . . . . . . . .
1.11.11.Curvas paramntricas en 3D . . . . . . . . . . .
1.11.12.Grfica de funciones . . . . . . . . . . . . . . .

2. Herramientas para grficos con PSTricks


2.1. JpicEdt . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1. Ventanas . . . . . . . . . . . . . . . . . . . . .

33
34
37
40
42
42
43
44
44
46
47
48
50
51
54
54
54
59
61
65
66
67
67
69
69
70
71
72
73
74
76
77
80
87
87
89

NDICE GENERAL
2.1.2. Herramientas de edicin . . . . . . . .
2.1.3. Preferencias y configuracin . . . . . .
2.1.4. Otras herramientas de JpicEdt . . . .
2.1.5. Cmo pasar de JpicEdt a LATEX? . .
2.1.6. Ejemplos en JpicEdt . . . . . . . . . .
2.2. LATEXDraw . . . . . . . . . . . . . . . . . . .
2.2.1. Herramientas de diseo . . . . . . . .
2.2.2. Configuracin de objetos . . . . . . .
2.2.3. Cmo pasar de LATEXDraw a LATEX?
2.2.4. Ejemplos en LATEXDraw . . . . . . . .

7
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

93
96
97
102
102
111
112
114
114
114

3. Conceptos Generales de XY- pic


119
3.1. Diagramas de dinmicas ecolgicas y epidemiolgicas . 120
3.2. Diagramas conmutativos . . . . . . . . . . . . . . . . . 130

NDICE GENERAL

CAPTULO 1
Grficos con PSTricks
PSTricks es un paquete que esta incluido en LATEX con base en las
libreras macros de TEX- PostScript, fue creado por Timothy Van
Zandt de la Universidad de Princeton en 1993. Estas libreras son
compatibles con AMS-TEX y AMS-LATEX. El paquete fue diseado
especficamente para grficos matemticos de alta calidad, utilizando
tcnicas de grficos vectorizados, proporcionando as una calidad que
otros paquetes no pueden alcanzar. Con PSTricks se pueden incluir estilos de lneas, objetos geomtricos como rectngulos, tringulos; ejes
coordenados, herramientas para grficos de diagramas de flujo, grafos,
mayas, objetos 3D, colores y efectos de texto, entre otros.
La instalacin de PSTricks, es muy fcil, en la versin para Windows
MIKTEX 2.5 ya viene pre instalado y no requiere manipular archivos
para su configuracin; para versiones inferiores, se debe tener cuidado con la ubicacin de los archivos. PSTricks tambin est disponible
para Linux, Mac y Unix.
Empezaremos por poner las libreras en el prembulo de nuestro documento
\usepackage{pstricks}
\usepackage{pst-plot}
9

1.1. El entorno

10
Paquete
Pst-plot
Pst-char
Pst-text
Pst-tree
Pst-coil
Pst-node

Funcin
til para grficos que conlleven rectas,
polgonos, ejes y curvas
Permite incluir texto con efectos especiales
Muy similar al anterior, pero este permite
poner texto a lo largo de curvas
til para la contruccin de rboles
Zig-zags y resortes en electrnica
Ideal para grafos y diagramas de flujo
Cuadro 1.1: Mdulos de PSTricks

Sin embargo, es bueno que para trabajar con todas las opciones, hay
que usar un paquete que los una a todos, este se incluye de la siguiente
manera:
\usepackage{pst-all}

PSTrick tambin incluye paquetes como pst-node especial para grafos,


el cuadro 1.1 muestra los diferentes mdulos y su uso:

1.1 El entorno
Para incluir una grfica con PSTricks en nuestro documento, debemos
invocar el entorno pspicture con la siguiente secuencia de instrucciones:
\begin{pspicture}(x,y)(x,y)
\rput(0,0){hola}
\end{pspicture}
Los parmetros x, y y x , y son las esquinas opuestas de un rectngulo
imaginario. Nuestra grfica se puede salir de dicho rectngulo, pero
usando \begin{pspicture*}(x,y)(x,y) se recorta todo lo que sobre salga del rectngulo delimitado. El anterior cdigo nos devolvera
el siguiente resultado

1. Grficos con PSTricks

11

hola

Nada del otro mundo, sin embargo, podemos disponer de una malla
que nos gue en la ubicacin de nuestros objetos en PSTricks, para
esto creamos un nuevo objeto de la siguiente manera y lo ubicamos
antes del inicio del documento: \begin{document}.
\newpsobject{malla}{psgrid}{subgriddiv=1,griddots=10,
gridlabels=6pt}
Esto nos permitir crear una malla til para la ubicacin de nu-estros
objetos

\begin{pspicture}(-2,-2)(2,2) \malla
\rput(0,0){hola}
\end{pspicture}

El resultado es el siguiente:

hola

-1

-2
-2

-1

1.2. Puntos

12

El comando \rput se usa para ubicar objetos en el espacio delimitado,


ms adelante estudiaremos la versatilidad de este comando. Por ahora,
observemos que aparece una malla numerada alrededor de nuestra
grfica, podemos ubicar ahora otros objetos con la ayuda de dicha
cuadrcula. Ubicaremos la palabra mundo en la posicin (1, 1)
\begin{pspicture}(-2,-2)(2,2)
\malla
\rput(0,0){hola}
\rput(1,-1){mundo}
\end{pspicture}

hola

-1

mundo

-2
-1

-2

Si deseo que la malla sea ms fina o por el contrario con la cuadricula ms grande, podemos cambiar dicho parmetro con la instruccin \psset{unit=1}, slo debemos cambiar el valor de 1 por el que
necesitemos y ubicar esta instruccin antes del \begin{pspicture}.
\psset{unit=1} permite confugurar nuestro grfico. se ubica antes
del \begin{pspicture} y se pueden predeterminar algunas opciones
como el color, la escala, el grosor de las lneas, etc.
2

\psset{unit=0.6}
\begin{pspicture}(-2,-2)(2,2)
\malla
\rput(0,0){hola}
\rput(1,-1){mundo}
\end{pspicture}

1
0

hola

-1

mundo

-2
-2

-1

1.2 Puntos
PSTricks permite la inclusin de puntos con el siguiente comando
\psdots[par](x1,y1)(x2,y2)(xn,yn)
El siguiente ejemplo colocaremos 9 puntos con estilos diferentes:

1. Grficos con PSTricks

13

0
0

\psset{unit=1.2, dotsize=5pt 0}
\begin{pspicture}(0,0)(9,1)\malla
\psdots(0.5,0.5)
\psdots[dotstyle=+](1.5,0.5)
\psdots[dotstyle=triangle](2.5,0.5)
\psdots[dotstyle=triangle*](3.5,0.5)
\psdots[dotstyle=square](4.5,0.5)
\psdots[dotstyle=square*](5.5,0.5)
\psdots[dotstyle=pentagon](6.5,0.5)
\psdots[dotstyle=pentagon*](7.5,0.5)
\psdots[dotstyle=|](8.5,0.5)
\end{pspicture}

En el cuadro 1.2 ilustraremos los diferentes estilos de puntos mostrados en el ejemplo anterior. Adems de estos estilos de puntos podemos
adicionar algunas otras opciones.
dotsize=dim
Con esta opcin podemos cambiar el tamao del punto, por defecto
es 2pt
dotscale=num1 num2
Con ella podemos escalar el tamao de un punto, con el primer nmero
el tamao horizontal y con el segundo el tamao vertical. Por defecto
es 1
dotangle=angle
Los puntos son rotados por el ngulo determinado por el parmetro
angle, por omisin es cero.
En muchas ocasiones es importante ubicar puntos en nuestras grficas,
el siguiente ejemplo muestra la utilidad de estas opciones:

1.2. Puntos

14
Estilo

Ejemplo

*
+
|

+ +
|

triangle
triangle*
square
square*
pentagon
pentagon*
Cuadro 1.2: Estilos de Puntos en PSTricks

\psset{unit=0.5}
\begin{pspicture}(0,-2.3)(4.9,2.3)
\psdots[dotsize=0.266](2.8,0.6)
\rput(0.6,-1.6)
{\psaxes[linewidth=0.04](0,0)(0,0)(4,4)}
\psdots[dotsize=0.17,dotangle=-66.0]
(1.6,1.0)
\psdots[dotsize=0.4,dotstyle=triangle](3.6,-0.5)
\psdots[dotsize=0.4,dotstyle=pentagon*](4.6,-0.7)
\end{pspicture}

4
3
2
1
0
0

1. Grficos con PSTricks

15

1.3 Lneas y polgonos


Las lneas y los polgonos son una de las herramientas ms versatiles
en PSTricks. Con los puntos y las rectas se pueden crear una gran
variedad de figuras y formas muy comunes en matemticas como: ejes
coordenados, digramas lineales, rboles, etc. A continuacin presentamos su configuracin bsica.

1.3.1.

Rectas simples

\psline[par]{flechas}(x0,y0)(x1,y1)...(xn,yn)
Esta instruccion dibuja una linea a travz de las coordenas establecidas
por los puntos (x0 , y0 )(x1 , y1 ) . . . (xn , yn )
La instruccin \psline tiene los siguientes parametros:
linearc=dim
Por omisin es 0pt y hace referencia al arco con el que se dibujan las
curvas (si estamos dibujando un polgono). Dicha dimensin debe ser
positiva.
linewidth=n
Con esta opcin podemos cambiar el ancho de la lnea, se puede inicializar en cero. Por defecto es 0.8pt
linestyle=
La opcin permite cambiar la forma como se pinta la lnea, esta puede
ser solid que es la opcin por defecto, dashed ofrece una lnea a trozos y dotted una lnea punteada.
dash= n b
Permite cambiar el patrn de negro o blanco en la lnea a trozos por
omisin son 5pt y 3pt. Si queremos una lnea igualemte espaciada
podemos cambiar la opcin a 5pt 5pt para obtener el efecto deseado.
dotsep= n
Al igual que en dash, dotsep permite cambiar el patrn de separacin

1.3. Lneas y polgonos

16

de los puntos en las lneas punteadas. Por omisin es 3pt


linecolor= color
Permite cambiar el color de la lnea, por omisin es black, en la seccin 1.6 mostraremos otros colores posibles con PSTricks.
doubleline= n
Permite trazar una lnea doble o sencilla, por defecto es false, es decir
sencilla, si la queremos doble cambiamos n por true.
Veamos el siguiente ejemplo:
3

\psset{unit=2.4}
\begin{pspicture}(0,0)(4,3)
\malla
\psline(0,1.5)(4,1.5)
\psline[linecolor=blue,
doubleline=true,
linestyle=dotted ](0,0.5)(4,0.5)
\psline[linecolor=red,
linestyle=dashed ](0,2.5)(4,2.5)
\end{pspicture}

0
0

1.3.1.1.

Flechas

Las opciones de flechas se pueden implementar para construir ejes coordenados o diagramas de flujo, rboles, etc, para este propsito cambiamos el prametro entre las llaves {}, a continuacin en el cuadro
1.3 mostraremos las diferentes estilos de flechas.

1.3.2.

Rectas con el comando qline

Para contruir flechas simples podemos usar el comando qline (x0 , y0 )


(x1 , y1 ), el cual dibuja una recta entre los puntos sin parmetros de
grosor, estilos o flechas, veamos el siguiente ejemplo:

1. Grficos con PSTricks


Parmetro
->
<>>-<<
|<>||<->|
[([-]
o**-*

Ejemplo

17
Parmetro
<->
->>
<<->>
->|
-<
-|
|-|
-]
-)
(-)
-o
-*
o-o

Ejemplo

Cuadro 1.3: Estilos de flechas para rectas en PSTricks


1

0
0

\psset{unit=2.4}

1.3.3.

\begin{pspicture}(0,0)(1,2)
\malla
\qline(0,0)(3,1)
\end{pspicture}

Polgonos

Este comando es muy similar a psline, y dibuja un polgono cerrado


que une el primer punto (x0 , y0 ) con el ltimo (xn , yn ).
\pspolygon[par](x0,y0)(x1,y1)(x2,y2)...(xn,yn)$
Veamos el siguiente ejemplo:
2

\psset{unit=2.4}
\begin{pspicture}(0,0)(2,2)
\malla
\pspolygon[linearc=.2]
(0,1)(1,0)(2,1)(1,2)
\end{pspicture}

0
0

1.4. Crculos, elipses y arcos

18

1.3.4.

Frames con \psframes

Esta instruccin dibuja un rectngulo entre las esquinas opuestas (x0 , y0 )


y (x1 , y1 )
\psframe[par](x0,y0)(x1,y1)
2

\psset{unit=2.4}
\begin{pspicture}(0,0)(2,2)
\malla
\psframe(0.5,0.5)(1.5,1.5)
\end{pspicture}

0
0

1.4 Crculos, elipses y arcos


1.4.1.

Crculos

Para dibujar crculos, elipses y arcos, PSTricks implementa el siguiente


comando
\pscircle[par](x0,y0){r}
La instruccin simplemente dibuja una circunferencia con centro en
(x0 , y0 ) y radio r
Por ejemplo:
3

\psset{unit=1.5}
\begin{pspicture}(0,0)(3,3)
\malla
\pscircle[linewidth=2pt]
(1,1){1}
\pscircle[linestyle=dashed]
(1.5,1.5){1}
\pscircle[linestyle=dotted]
(1.5,2){1.2}
\end{pspicture}

0
0

1. Grficos con PSTricks

19

Los parmetros son los mismos que podemos encontar para dibujar
rectas. En el ejemplo anterior podemos ver el manejo de estas opciones.

1.4.2.

Seccin de crculo

PSTricks implemeta la instruccin \pswedge para dibujar secciones de


crculos, muy usados en estadstica y geometra:
\pswedge[par](x0,y0){r}{ang1}{ang2}
La instruccin requiere un punto como centro (x0 , y0 ), y con el radio
r dibujar una seccin de crculo entre los ngulos arg1 y arg2.
3

\psset{unit=2.8}
\begin{pspicture}(0,0)(3,3)
\malla
\pswedge[linewidth=2pt]
{1}{0}{70}
\pswedge[linewidth=2pt]
{2}{0}{70}
\pswedge[linewidth=2pt]
(3,3){2}{180}{270}

0
1

1.4.3.

Elipses

Al igual que con el crculo las elipses necesitan un centro (x0 , y0 ), pero,
para lograr el efecto requieren dos radios r1 y r2 .
\psellipse[par](x0,y0)(r1,r1)
veamos el siguiente ejemplo :
3

\psset{unit=2.2}
\begin{pspicture}(0,0)(4,3)\malla
\psellipse[linestyle=dashed]
(2,1)(2,1)
\psellipse(2,1.5)(1,1.5)

0
0

1.4. Crculos, elipses y arcos

20

1.4.4.

Arcos

Los arcos requieren de un centro (x, y) que se tomar como base para
la circunferencia imaginria con la cual trazaremos el arco, un radio r
que es la distancia entre el centro y el arco, y dos ngulos angA, angB
que al igual que en la seccin de crculos sirve para denotar el inicio y
el fin del arco.
\psarc[par]{flechas}(x,y){r}{angA}{angB}
La funcion psarc utiliza los siguientes parmetros extra:
showpoints=
Se usa para mostar una lnea punteada del centro de la circunferencia
imaginria a los extremos del arco, por omisin es false .
arcsepA= y arcsepB=
Estos parmetros que por defecto son 0pt, se usa para que parte del
arco tambien quede dibujado con lineas punteadas, comenzando por
angA o por angB, dependiendo de la functn que usemos.
arcsep=
Con esta opcin podemos hacer lo mismo que con las opciones arcsepA
y arcsepB pero simultneamente por ambos extremos del arco.
Ejemplo:
3

\psset{unit=2.2}
\begin{pspicture}(0,0)(4,3)
\malla
\psarc[showpoints=true,
arcsepA=2](0.2,0.2){1.5}{0}{90}
\psarc[showpoints=true,
arcsepB=2](3.8,0.2){1.5}{90}{180}
\psarc[showpoints=true,
arcsep=1](2,3){1.5}{190}{350}

0
0

Para hacer arcos con flechas se une la instruccin \psarcn con la sigu-

1. Grficos con PSTricks

21

iente notacin:
\psarcn[par]{flecha}(x,y){r}{angA}{angB}
El arco es dibujado en sentido horario, y tiene una opcin {flecha}
con la cual podemos dibujar flechas como se indica en el cuadro 1.3.
Ejemplo:
3

\psset{unit=2.2}
\begin{pspicture}(0,0)(4,3)
\malla
\psarc{o-o}(0.2,0.2)
{1.5}{0}{90}
\psarc{<->}(3.8,0.2)
{1.5}{90}{180}
\psarc[arcsep=1]{>>-<<}(2,3){1.5}
{190}{350}
\end{pspicture}

0
0

1.5 Curvas
Para dibujar curvas, PSTricks utiliza algortmos de interpolacin de
puntos, una de las ms simples nos permite hacer una curva entre cuatro puntos; veamos la instruccin psbezier.
\psbezier[par]{flechas}(x0,y0)(x1,y1)(x2,y2)(x3,y3)
Como podemos observar utiliza los mismos parmetros que las anteriores instruciones y cuatro puntos (x0 , y0 ), (x1 , y1 ), (x2 , y2 ), (x3 , y3 ).
La curva comienza en el punto (x0 , y0 ), pero es tangente a una lnea
recta entre el primer punto y el segundo, luego la curva termina en
el punto (x3 , y3 ) pero tangente a una lnea imaginaria entre el tercero
y cuarto punto. Al igual que con la instruccin \psarc esta tambin
tiene la opcin showpoints para ver las lneas imaginarias, veamos un
ejemplo:

1.5. Curvas

22
3

\psset{unit=2.2}
\begin{pspicture}(0,0)(4,3)
\malla
\psbezier[showpoints=true]{->}
(0,0)(1,3)(3,0)(4,3)

0
0

La intruccin \parabola presenta la siguiente sintaxis:


\parabola[par]{flechas}(x0,y0)(x1,y1)
Dibuja una parbola que comienza en el punto (x0 , y0 ) y tiene como
mximo o mnimo el punto (x1 , y1 ) dependiendo si el ultimo punto
esta por encima o por debajo del primer punto.
Ejemplo:
3

\psset{unit=2.2}
\begin{pspicture}(0,0)(4,3)
\malla
\parabola{<->}(0,0)(2,3)
\parabola{>-o}(1,3)(2,0)
\end{pspicture}

0
0

1.5.1.

Los comandos pscurve, psecurve y psccurve

El comando psbezier y parabola slo pueden dibujar curvas simples


con no ms de 4 puntos determinados; con estas nuevas instrucciones
podemos dibujar curvas mucho ms elaboradas y definidas, con la cantidad de puntos que necesitemos, sin embargo, es necesario tener en

1. Grficos con PSTricks

23

cuenta las siguientes opciones:


curvature= n m p
Por defecto este parmetro es de 1 0.1 0, y se utiliza para modificar
la forma de la curva, el primer valor hace la curva ms firme. El segundo parmetro hace que la curva se apriete si el ngulo formado
por los puntos es mayor a 45 grados, la curva es ms suelta. El tercer
parmetro es similar al segundo, pero afecta la abertura de la curva
haciendola ms o menos abierta en los vrtices. Sin embargo es bueno
dejar los valores predeterminados por PSTricks.
La instruccin pscurve genera una curva abierta con los mismos parmetros estudiados anteriormente. La opcin showpoints muestra los puntos
de interpolacin.
3

\psset{unit=2.2}
\begin{pspicture}(0,0)(4,3)
\malla
\pscurve[showpoints=true]{<->}
(0,0)(1,2)(2,3)(3,3)(4,2)
\end{pspicture}

0
1

psecurve es muy similar al anterior, pero la curva no pasan por el


primer y ltimo punto, el algoritmo trata de unir los extremos lo mejor
posible, el siguiente ejemplo es igual al anterior pero usando psecurve.
3

\psset{unit=2.2}
\begin{pspicture}(0,0)(4,3)
\malla
\psecurve[showpoints=true]{<->}
(0,0)(1,2)(2,3)(3,3)(4,2)
\end{pspicture}

0
0

1.6. Manejo de Colores

24

Por ltimo tenemos psccurve la cual es similar a pscurve pero sta


genera una curva cerrada uniendo el primer y ltimo punto:
3

\psset{unit=2.2}
\begin{pspicture}(0,0)(4,3)
\malla
\psccurve[showpoints=true]{<->}
(0,0)(1,2)(2,3)(3,3)(4,2)
\end{pspicture}

0
0

1.6 Manejo de Colores


En PStricks se puede trabajar con los siguientes colores:

red

green

blue

cyan
magenta
yellow
PSTricks tambin maneja colores en escala de grises:
Negro (black), gris oscuro (darkgray), gris (gray), gris claro (lightgray),
y blanco (white)

1.6.1.

Creacin de nuevos colores

Adems de estos colores podemos definir nuevos con las siguientes instrucciones: newgray y newrgbcolor

1. Grficos con PSTricks

25

\newgray{color}{n}
Este comando se utiliza para generar nuevos tonos de gris, color ser
el nombre de nuestro nuevo color, n es la intensidad entre 0 y 1, donde
0 es negro y blanco es 1.

\newrgbcolor{color}{r g b}

Esta instruccin se usa para generar nuevos coleres con el formato


RGB (red, green y azul), color ser el nombre de nuestro nuevo color
y {r,g,b} son nmeros entre 0 y 1.
newhsbcolor

\newhsbcolor{color}{h s b}

La anterior instruccin se usa para generar nuevos colores con el formato HSB (hue, saturation, brightness), {color} ser el nombre de
nuestro nuevo color y {h,s,b} son nmeros entre 0 y 1.
newcmykcolor

\newcmykcolor{color}{c m y k}
Esta instruccin se usa para generar nuevos colores con el formato
CMYK (Cian, magenta, yellow, black), {color}ser el nombre de nuestro nuevo color y {c,m,y,k} son nmeros entre 0 y 1.
Ejemplo:

1.6. Manejo de Colores

26
3

Favoritismo en los editores de texto

LATEX

-1

Word
Otros

-2

-3
0

\psset{unit=2.0}
\begin{pspicture}(0,-3)(8,3)\malla
\newgray{girisclaro}{0.9}
\newrgbcolor{elcolorlatex}{0.1 0.1 1.0}
\newhsbcolor{elcolorword}{0.1 0.9 1.0}
\newcmykcolor{elcolorotro}{0.1 0.3 0.3 0.3}
\pspolygon[linewidth=0.01,fillstyle=solid,
fillcolor=girisclaro](0.8,1.8)(0.8,2.3)
(6.3,2.3)(6.3,1.8)
\pswedge[linewidth=0.04,fillstyle=solid,
fillcolor=elcolorlatex](3.7,-0.3){1.86}{53.8}{271.5}
\pswedge[linewidth=0.04,fillstyle=solid,
fillcolor=elcolorword](3.7,-0.3){1.86}{347.2}{54.3}
\pswedge[linewidth=0.04,fillstyle=solid,
fillcolor=elcolorotro](3.7,-0.3){1.86}{268.6}{347.0}
\rput(3.6,2.0){Favoritismo en los editores de texto}
\rput(2.7,0.1){\LaTeX}
\rput(4.6,0){Word}
\rput(4.3,-1.1){Otros}
\end{pspicture}
Para usuarios avanzados de PostScript, no es recomendado usar col-

1. Grficos con PSTricks

27

ores cmyk y HSB, pues en algunas ocasiones requiere de otros controladores y puede generar errores al compilar. Se recomienda hacer
RGB para generar nuevos colores.
Recordemos que con el comando \psset{...} podemos configurar
opciones de color y con el comando fillcolor podemos indicar que
todos los objetos creados de ah en adelante sean dibujados con ese
color de relleno, la opcin linecolor sirve para definir el color de las
lineas de contorno. Veamos el siguiente ejemplo:
2

\psset{unit=2.0,
fillcolor=yellow,linecolor=blue}
\begin{pspicture}(0,0)(2,2)
\malla
\psellipse(1,.5)(1,.5)
\end{pspicture}

0
0

Podemos ver en el ejemplo anterior que la elipse, aunque est pintada


de contorno azul, no se rellen de color amarillo, as que para ello,
debemos tener en cuenta los siguientes parmetros:
linewidth=n
Con este determinamos el ancho de la lnea de cualquier objeto (lneas,
crculos, etc), por defecto es 8pt.
fillstyle=s
Este comando permite definir el estilo de llenado de los objetos, este
puede ser none, el cual hace que el objeto no tenga ningn relleno. La
opcin solid, permite que se pueda rellenar un objeto bien sea con
un color o con una textura.
Para definir un color de llenado, se usa el comando fillcolor=c,
donde c es uno de los colores antes mencionado. Veamos un ejemplo:

1.6. Manejo de Colores

28
5

0
0

1.6.2.

\psset{unit=1.0}
\begin{pspicture}(0,0)(3,5)
\malla
\psellipse[fillstyle=solid,
fillcolor=lightgray,
linecolor=red](1,.5)(1,.5)
\psellipse[fillstyle=solid,
fillcolor=red,
linecolor=blue](2,2)(0.5,0.5)
\psframe[fillstyle=solid,
fillcolor=green,
linecolor=magenta](0,5)(1,4)
\pscircle[fillstyle=solid,
fillcolor=cyan,
linecolor=green](2,4){1}
\end{pspicture}

Texturas

Recordemos que fillstyle=s con la opcin solid puede dibujar un


objeto con un relleno que puede ser un color o una textura, el cuadro
1.4 muestra las opciones para rellenado con texturas
Nombre
none
vlines
hlines
crosshatch
gradient

efecto
Es el valor por defecto, no rellena el objeto
con ningn color o textura
lneas verticales con una inclinacin de 45o
lneas horizontales con una inclinacin de
45o
Lineas cruzadas verticales y horizontales a
45o
Da al objeto una textura de degradado entre dos colores
Cuadro 1.4: Texturas en PSTricks

En el siguiente ejemplo se usan los mismos objetos que en el ejemplo


anterior, pero esta vez usaremos las texturas mencionadas, excepto el
gradiente al cual dedicaremos ms tiempo:

1. Grficos con PSTricks

29

0
0

\psset{unit=1.0}
\begin{pspicture}(0,0)(3,5)

\malla
\psellipse[fillstyle=vlines]
(1,.5)(1,.5)
\psellipse[fillstyle=hlines]
(2,2)(0.5,0.5)
\psframe[fillstyle=none]
(0,5)(1,4)
\pscircle[fillstyle=crosshatch]
(2,4){1}
\end{pspicture}

El cuadro 1.5 muestra otras opciones que se pueden aplicar a las texturas, como cambiar el ngulo de inclinacin, el color de las lneas, etc.

Nombre
hatchsep
hatchwidth
hatchcolor
hatchangle

efecto
Separacin entre lneas, por defecto es 4pt
Grosor de las lneas, por defecto es 0.8pt
Color de las lneas, por defecto es negro
Inclinacin de las lneas

Cuadro 1.5: Parmetros adicionales para texturas


Veamos el siguiente ejemplo:

0
0

\psset{unit=1.0}

\begin{pspicture}(0,0)(3,3)
\malla
\psellipse[fillstyle=hlines,
hatchcolor=red,hatchangle=22]
(2,0.5)(0.5,0.5)
\psframe[fillstyle=vlines,
hatchangle=0 ](0,1)(1,0)
\pscircle[fillstyle=crosshatch,
hatchsep=2pt](1.5,2){0.5}
\end{pspicture}

1.6. Manejo de Colores

30

1.6.3.

Degradados

Uno de los efectos ms vistosos y usados de PSTricks es el degradado,


slo necesitamos poner fillstyle=gradient y podemos obtener un
efecto de degradado lineal en dos colores:
3

\psset{unit=1.5}
\begin{pspicture}(0,0)(3,3)
\malla
\psframe[fillstyle=gradient]
(2.8,1)(0.2,3)
\end{pspicture}

0
0

Las siguientes opciones determinan la configuracin del degradado:


gradbegin=color
Es usada para escoger el color inicial del degradado, por defecto es
azul oscuro.
gradend=color
Es usada para escoger el color final del degradado, por defecto es azul
claro.
gradmidpoint=n
n debe ser un nmero entre 0 y 1, y se utiliza para escoger la posicin
del punto intermedio del degradado.
gradangle=ang
Denota el lgulo de rotacin para el degradado medido en grados, el
valor por defecto es 0.
gradlines=n
Determina el nmero de lneas del degradado, el valor predeterminado
es 500, mientras ms lneas ms fino es el efecto del degradado.

1. Grficos con PSTricks

31

El siguiente ejemplo muestra el poder de los degrados para grficos


matemticos:
Nivel de

N4
N3

N2

N1

M1

M2

M3

M4

Mquinas

\psset{unit=1.5}
\begin{pspicture}(0,-3.5)(9.5,3.5)
\psline[linewidth=0.04cm]{->}(1.6,-2.7)(1.6,2.7)
\psline[linewidth=0.04cm]{->}(1.6,-2.7)(7.6,-2.7)
\psframe[linewidth=0.02,fillstyle=gradient,
gradlines=2000,gradmidpoint=1.0](2.7,1.2)(2.1,-2.7)
\psframe[linewidth=0.02,fillstyle=gradient,
gradlines=2000,gradbegin=red,gradend=cyan,
gradmidpoint=1.0](3.9,-0.04)(3.3,-2.7)
\psframe[linewidth=0.02,fillstyle=gradient,
gradlines=2000,gradbegin=magenta,
gradend=yellow,gradmidpoint=1.0](5.2,1.9)(4.6,-2.7)
\psframe[linewidth=0.02,fillstyle=gradient,
gradlines=2000,gradbegin=green,gradend=red,
gradmidpoint=1.0](6.4,-1.6)(5.8,-2.7)
\psline[linewidth=0.03cm,linestyle=dashed,
dash=0.16cm 0.16cm](1.6,-1.6)(6.3,-1.6)

32

1.7. Manejo de objetos

\psline[linewidth=0.03cm,linestyle=dashed,
dash=0.16cm 0.16cm](1.6,1.9)(5.1,1.9)
\psline[linewidth=0.03cm,linestyle=dashed,
dash=0.16cm 0.16cm](1.7,0)(3.7,0)
\psline[linewidth=0.03cm,linestyle=dashed,
dash=0.16cm 0.16cm](1.7,1.2)(2.4,1.2)
\rput(8.6,-3.1){\psframebox[linewidth=0.04]{Mquinas}}
\rput(1.4,3.1){\psframebox[linewidth=0.04]
{Nivel de $\alpha$}}
\rput(2.3,-3.1){$M_1$}
\rput(3.5,-3.1){$M_2$}
\rput(4.8,-3.1){$M_3$}
\rput(6,-3.1){$M_4$}
\rput(1.0,-1.6){$N_1$}
\rput(1.0,0){$N_2$}
\rput(1.0,1.2){$N_3$}
\rput(1.0,1.9){$N_4$}
\end{pspicture}
En PSTricks existe algo que se llama comandos estrella, los cuales dan
atributos por defecto a los objetos que vamos a dibujar, por ejemplo:
\pscircle*[linestyle=dashed](1.5,1.5){1}
Como podemos ver aparece un * despus de invocar el comado \pscircle,
con esto le indicamos al compilador de LATEX que rellene el objeto
con el color determinado por linecolor, linewidth toma el valor de
0, fillstyle toma el valor de solid, linestyle el valor de none y
fillcolor toma el valor determinado por linecolor. Debemos tener
especial cuidado en configurar los valores anteriormente mencionados
si queremos usar los comandos estrella, pues, pueden producir una
grfica no deseada.

1.7 Manejo de objetos


En los ejemplos anteriores hemos visto el uso de algunos comandos
como \rput para ubicar objetos, tambien usamos el objeto malla que

1. Grficos con PSTricks

33

hemos creado a partir de un nuevo comando. En esta seccin estudiaremos ms a fondo el uso de estas herramientas:

1.7.1.

El comando \rput

Ya hemos tenido algn contacto con este comando, pues lo hemos aplicado en ejemplos anteriores. Veamos sus parmetros completos:
\rput[P]{Ang}(x,y){Obj}
El comando ubica un objeto obj que puede ser un texto una tabla o
una grfica en un punto (x, y), con el argumento P podemos cambiar
la posicin en que se coloca la caja de LATEX, por defecto este valor es
[c], lo que nos indica que el objeto aparece centrado en la posicin
(x, y). Adems de [c] existen otros valores con los que podemos hacer
que los objetos no aparezcan en el centro, el siguiente grfico ilustra
los dems valores:
tl

tr

br

Objeto

l
Caja imaginaria

Es fcil ver de donde vienen los dems valores (left, top, etc). El
parmetro ang determina el ngulo de rotacin del objeto y se mide en
grados sexagesimales entre -360 y 360, sin embargo, se pueden abreviar algunos ngulos especiales, como los de 90, 180, etc, el cuadro 1.6
muestra las abreviaciones:
Veamos el siguiente ejemplo:

1.7. Manejo de objetos

34
ngulo
N
L
D
R
W
S
E

letra
0o
90o
180o
270o
90o
180o
270o

Cuadro 1.6: ngulos espciales

Dimetro

Re
cta
Ta
ng
ent
e

Recta Se
cante

\psset{unit=1.0}
\begin{pspicture}(0,-2)(5,2)
\psline[linewidth=0.04cm]{<->}(1.5,1.9)(4.8,-0.1)
\psline[linewidth=0.04cm]{<->}(4.6,-1.8)(0.0,-1.1)
\pscircle[linewidth=0.04](2.4,-0.4){1.5}
\psline[linewidth=0.04cm](2.5,1.1)(2.5,-1.9)
\rput{-30.0}(3.4,1.1){Recta Tangente}
\rput{-8.0}(2.6,-1.3){Recta Secante}
\rput{W}(2.2,-0.3){Dimetro}
\end{pspicture}

1.7.2.

Resortes

Este objeto permite construir curvas en forma de resortes o zig-zags,


La estructura del comando es la siguiente:

1. Grficos con PSTricks

35

\pscoil[par]{flechas}(x1,y1)(x2,y2)
El cual extiende un resorte del punto (x1 , y1 ) hasta (x2 , y2 ). El siguiente comando permite hacer el efecto de zig-zags con los mismos
parametros:
\pszigzag[par]{flechas}(x1,y1)(x2,y2)
Para configurar la apariencia de los resortes y zig-zags se tiene las opciones mostradas en el cuadro 1.7.
Parmetro

Efecto

coilwidth=n

Ampla o reduce el ancho del resorte o zigzag, por defecto es 1cm.


Con h > 0 esta opcin determina el
nmero de repeticiones del zig-zag o resorte. Mientras ms pequeo sea este valor
ms repeticiones se harn.
Representa la longitud del brazo que est
en el punto (x1 , y1 ) del resorte.
Es la longitud del brazo que est en el punto (x2 , y2 ) del resorte.
Provoca que coilArmB y coilArmA tengan
el mismo valor.
Cambia el ngulo con que se dibujan los
resortes, por defecto es 45 pero se puede
modificar 0 ang < 90, este parmetro
no afecta a los zig-zags.
Por defecto es 10, y determina la suavidad
con que se dibujan los resortes, no afecta
a los zig-zags.

coilheight=h

coilArmA=n
coilArmB=n
coilArm=n
coilaspect=ang

coilinc=ang

Cuadro 1.7: Parmetros de los resortes y zig-zags


Este ejemplo muestra la versatilidad de ambos comandos:

1.7. Manejo de objetos

36
B1

M1
l2

r1

R1

l1
m1
\psset{unit=0.8}
\begin{pspicture}(0,-2.5)(9.5,2.4)
\psline(0,-1.8)
\psline(0,-1.8)(2.1,-1.8)
\psline(3.2,-1.8)(4.9,-1.8)
\psline(4.9,-1.8)(4.9,-0.2)
\psline(5.5,0.18)(4.9,0.7)
\psline(4.9,0.7)(4.9,1.9)
\psline(4.9,1.9)(2.8,1.9)
\psline(1.6,1.9)(0.0,1.9)
\psframe(2.8,2.4)(1.6,1.5)
\psdots[dotsize=0.2](5.5,0.2)
\rput(2.1,2.0){$B_1$}
\rput(4.2614064,0.39890626){$R_1$}
\rput(2.4,-1.1){$l_1$}
\rput(1.1,0.8){$l_2$}
\psframe(8.4,2)(7.2,1.1)
\pscircle(7.8,-1.4){0.5}
\rput(7.8,1.5){$M_1$}
\rput(7.8,-2.3){$m_1$}
\rput(9.1,0.5){$r_1$}
\pszigzag[coilheight=0.2]{o-*}
(0,0)(0,1.8)
\pszigzag[coilheight=0.1]{o-*}
(2.1,-1.8)(3.2,-1.8)
\pscoil[coilheight=0.5]{*-*}
(7.8,1.1)(7.8,-0.9)

1. Grficos con PSTricks

1.7.3.

37

Ejes coordenados

Los ejes coordenados son uno de los objetos ms utilizados en la composicin de textos matemticos, PSTricks tiene una herramienta llamada psaxes, con la cual podemos dibujar casi cualquier tipo de eje
cordenado, veamos la sintaxis:
psaxes[par]{flechas}(x0,y0)(x1,y1)(x2,y2)
Lo anterior, permite que se dibuje un eje coordenado entre el rectngulo con vrtices opuestos (x1 , y1 ) y (x2 , y2 ) y el origen del sistema
est en (x0 , y0 ). El comando psaxes tiene los siguientes parmetros
(cuadro 1.8)

Parmetro
labels=

showorigin=

Efecto
all es el valor por defecto y provoca que se pongan
las etiquetas de los ejes x y y, x/y dibuja la etiqueta para el correspondiente eje y none no dibuja
ninguna etiqueta.
false/true Con esta opcin podemos hacer que
aparezca o no el origen de los ejes .

axesstyle=

Por defecto es axes y hace que el eje se dibuje


con las dos lneas rectas usuales, frame dibuja un
frame o rectngulo y none no dibuja los ejes.

Ox= y Oy=

Determina el nmero donde comienzan a numerarse los ejes, por defecto es 0.


Representa el incremento entre etiquetas, por defecto es 1.

Dx= y Dy=
dx= y dy=

determina la distancia entre las marcas (ticks).

Cuadro 1.8: Parmetros de los ejes

Ejemplo:

1.7. Manejo de objetos

38

3
2

f (x)

0 1 2 3 4 5 6 7 8 9

\psset{unit=0.8}
\begin{pspicture}(0,-3)(5,3)
\rput(0.3,-2.1){\psaxes[linewidth=0.04,
tickstyle=bottom,dx=0.5cm,dy=1.2cm]
{<->}(0,0)(5,0)(0,5)}
\psbezier[linewidth=0.04]{<->}
(0.0,-1.7)(1.6,-2.9)(1.9,1.7)(4.9,0.2)
\rput(5.1,0.71){$f(x)$}
\psline[linewidth=0.04cm,
linestyle=dashed,
dash=0.16cm 0.16cm](3.7,0.5)(3.7,-2.1)
\end{pspicture}

El cuadro 1.9 muestra la forma en que se pueden configurar los ticks


(lneas que acompaan a las etiquetas de los ejes).
Ejemplo:

1. Grficos con PSTricks


Parmetro

39

Efecto

ticks=

Por defecto es all y sirve para mostrar las lineas


que acompaan a los nmeros en los ejes, si queremos que aparesca solo los del eje x o y utilizamos
la opcin x/y,con none se eliminan de ambos ejes.

tickstyle=

Este parmetro determina la ubicacin de las


lneas que acompaan a las etiquetas de los ejes.
full es el valor por defecto y hace que estas lneas
se extiendan por ambos lados de los ejes, botton
hace la misma accin al lado donde estan las etiquetas, y top lo hace al lado opuesto.

ticksize=n

Determina la longitud de las marcas, por defecto


es 3pt.

Cuadro 1.9: Parmetros de los ticks


3

-1

-2

1
1

-3
-3

-2

-1

\psset{unit=1.0}
\begin{pspicture}(-3,-3.22)(6.0,3.22)\malla
\psaxes[linewidth=0.02,
arrowlength=1.4]{<->}(0,0)(-3,-3)(3,3)
\pscircle[linewidth=0.04,dimen=outer](0,0){2.0}
\psline[linewidth=0.04cm]{<->}(-1,3)(3.5,0)
\pscircle[linewidth=0.04](3,2){1.0}
\end{pspicture}

Ejemplo:

1.7. Manejo de objetos

40

4,5
4,0
3,5
3,0
2,5
2,0
1,5
1,0
0,5
0
0

1,5

3,0

4,5

6,0

7,5

9,0

\psset{unit=1.0}
\begin{pspicture}(0.5,0.5)(5,5.5)
\psaxes[Dx=1.5,Dy=0.5]{->}(10,5)
\psplot[linecolor=blue]{0}{10.5}
{x 180 mul 1.52 div cos 2 mul 2.5 add}
\psplot[linecolor=red]{0}{10.5}
{x 180 mul 1.52 div sin 2 mul 2.5 add}
\end{pspicture}

El la seccin 1.9.1 estudiaremos la funcin \psplot.

1.7.4.

Grillas

Las grillas o mallas son un complemento ideal para trabajar con los
ejes coordenados, inclusive pueden hacer las veces de ste si asi se requiere, su sintxis es la siguiente:
\psgrid[par](x1,y1)(x2,y2)
La ejecucin del comando anterior produce una malla en el rectngulo con extremos (x1 , y1 ) y (x2 , y2 ), si no ubicamos estas coordenas, \psgrid ubicara una malla en las coordenadas establecidas por
\begin{pspicture}(x1,y1)(x2,y2) . El cuadro 1.10 muestra los diferentes parmetros para configurarla:

1. Grficos con PSTricks


Parmetro

41

Efecto

gridwidth= n

Determina el ancho de las lneas principales de


la grilla, por defecto es 0.8pt.

subgridwidth= n

Igual al anterior pero con las lneas secundarias

gridcolor= color

Es el color de las lneas principales, por defecto


es black.
Color de las lneas secundarias, por defecto es
gray.

subgridcolor= color
gridlabels=n

Tamao de los nmeros que enmarcan la grilla,


por defecto es 10 pt.

gridlabelcolor = color

Color de los nmeros que enmarcan la grilla,


por defecto es black.

griddots=n

Las lneas principales son punteadas con n puntos por unidad y n > 0.
Igual al anterior pero con la grilla segundaria y
n > 0.

sub griddots=n

Cuadro 1.10: Parmetros de \psgrid


3

Ejemplo:
2

0
-2

-1

-1

\psset{unit=0.8}
\begin{pspicture}(0,-2.8)(8.6,2.8)
\rput(0.3,0.4){\psgrid[gridwidth=0.02,
subgridwidth=0.01,gridlabels=6.0pt,
subgridcolor=blue](0,0)(0,0)(2,2)}
\rput(6.76,-1.3) {\psgrid[gridwidth=0.02,
subgridwidth=0.01,
gridlabels=5.0pt,subgriddiv=8,griddots=1,unit=1.3cm,
gridcolor=gray,subgridcolor=black](2,0)(-2,-1)(2,3)}

1.8. Manejo de texto

42
\end{pspicture}
{\footnotesize\begin{verbatim}

1.8 Manejo de texto


El texto es una parte fundamental en la elaboracin de documentos
matemticos, PSTricks posee herramientas para la inclusin de texto
cientfico en nuestros libros o arctculos, ya hemos visto que lo podemos hacer con el comando \rput, sin embargo es posible hacer muchos
otros efectos que se pueden utilizar en presentaciones o ecuaciones muy
elaboradas.

1.8.1.

El comando \uput

Con este comando podemos ubicar etiquetas en nuestros grficos, tiene


la siguiente sintxis:
\uput{s}[r]{ang}(x,y){objeto}
El parmetro s hace que la etiqueta aparezca separada del punto (x, y)
una distancia determinada, por defecto es 5pt. La opcin r determina
el ngulo de la etiqueta.
Ejemplo:
4

11

12

10
2

3
8

4
7

0
0

\psset{unit=1.5}
\begin{pspicture}(0,0)(4,4)
\malla
\pscircle(2,2){2}
\uput{2.1cm}[0](2,2){$3$}
\uput{2.1cm}[30](2,2){$2$}
\uput{2.1cm}[60](2,2){$1$}
\uput{2.1cm}[90](2,2){$12$}
\uput{2.1cm}[120](2,2){$11$}
\uput{2.1cm}[150](2,2){$10$}
\uput{2.1cm}[180](2,2){$9$}

1. Grficos con PSTricks

43
(2.5,2.1)(3,2)(2.5,1.9)(2,2)
\pspolygon[fillstyle=solid,
fillcolor=lightgray](2,2)
(1.5,2.2)(0.9,2.7)(1.5,2.4)(2,2)
\qline(2,2)(2.5,0.5)
\end{pspicture}

\uput{2.1cm}[210](2,2){$8$}
\uput{2.1cm}[240](2,2){$7$}
\uput{2.1cm}[270](2,2){$6$}
\uput{2.1cm}[300](2,2){$5$}
\uput{2.1cm}[330](2,2){$4$}
\pspolygon[fillstyle=solid,
fillcolor=lightgray](2,2)

1.8.2.

Texto en recuadros

Estos comandos son independientes de PSTricks, as mismo se pueden


usar en otros contextos. Su tamao depende de la cantidad de texto
que se les aplique. La sintxis es la siguiente y es igual para todas:
\psframebox[par]{texto}
Las opciones par son las que estudiamos en las secciones anteriores y
texto es lo que deseamos enmarcar. El ejemplo siguiente mostrar la
sintaxis y el resultado obtenido:
4

\psframebox

\psdiabox

\psdblframebox

\pscirclebox
1

\pstribox

0
0

\psovalbox
5

\psset{unit=1.8}
\begin{pspicture}(0,0)(7,4)\malla
\rput[tl](0,3.5){\psframebox{$\backslash$psframebox}}
\rput[tl](0,2.5){\psdblframebox{$\backslash$psdblframebox}}
\rput[tl](0,1.5){\pstribox{$\backslash$pstribox}}
\rput[tl](4,3.5){\psdiabox{$\backslash$psdiabox}}
\rput[tl](4.5,2.5){\pscirclebox{$\backslash$pscirclebox}}

1.8. Manejo de texto

44

\rput[tl](4.5,.8){\psovalbox{$\backslash$psovalbox}}
\end{pspicture}

1.8.2.1.

Sombras

En realidad cualquier figura cerrada de PSTricks puede generar sombra, como los polgonos cerrados, los crculos, las cajas de texto, etc.
Para ubicar este efecto slo se usa el parmetro shadows=true/false,
el cual, por defecto es false .
Otro parmetro que se usa es el shadowsize=n, el cual cambia el
tamao de la sombra y por defecto es 3pt. shadowangle=ang se usa
para ubicar el ngulo de la sombra, por defecto es -45, pero se puede
usar entre -360 y 360 grados. Por ltimo est shadowcolor=color el
cual se usa para poner color a la sombra que por defecto es darkgray.
2

0
0

\psset{unit=1.5}
\begin{pspicture}(0,0)(2,2)
\malla
\rput(1,1.5)
{\pscirclebox[fillstyle=solid,

1.8.3.

fillcolor=blue, shadow=true]
{\white \Huge $\Lambda$}}
\rput(1,0.5)
{\pscirclebox[fillstyle=solid,
fillcolor=red, shadow=true,
shadowangle=45]
{\white \Huge $\Pi$}}
\rput(0.5,1)
{\pscirclebox[fillstyle=solid,
fillcolor=cyan, shadow=true,
shadowcolor=yellow]
{\white \Huge $\Omega$}}
\rput(1.5,1)
{\pscirclebox[fillstyle=solid,
fillcolor=magenta, shadow=true,
shadowsize=5pt]
{\white \Huge $\Phi$}}
\end{pspicture}

Texto sobre curvas

Para aplicar este efecto usamos la instruccin:


\pstextpath[pos]{curva}{texto}

1. Grficos con PSTricks

45

El argumento pos puede tomar los siguientes valores: l para ubicar


el texto a la izquierda de la curva, [c] para ubicarlo al centro, y por
ltimo [r] para ubicarlo a la derecha. Se puede usar cualquier curva
de PSTricks (circunferencia, polgonos, rectas, etc), para el parmetro
curva.
Ejemplo.

para c
s
e
on
r
il b
rsid
e
v
i

oc

0
0

er p
ar a
2

ib

on
yc

Del
Q
u i n d

r es

Un

ad

er
oc

Ser

l
r
se
3

\psset{unit=1.5}
\begin{pspicture}(0,0)(4,4)\malla
\pstextpath[c]{\psarcn[linestyle=none]
(2,2){1.7cm}{180}{0}}{\Huge \green \bf Universidad }
\rput(2,2){\Huge \green \bf Del}
\pstextpath[c]{\psarc[linestyle=none]
(2,2){1.7cm}{180}{0}}{\Huge \green \bf Quindo}
\pstextpath[c]{\psarcn[linestyle=none]
(2,2){3.7cm}{180}{0}}{\Huge \blue \bf
Ser libres para conocer}
\pstextpath[c]{\psarc[linestyle=none]
(2,2){3.7cm}{180}{0}}
{\Huge \blue \bf y conocer para ser libres}

1.8. Manejo de texto

46
\end{pspicture}

Ejemplo:
2

Es

ta

es

la h

ncin s
u
f
in(
sa
o
x)
m
r
e

0
0

\psset{unit=1.8cm}
\begin{pspicture}(0,0)(6,2)\malla
\pstextpath[c]{\pscurve[linestyle=none]
(0,1.5)(1.5,0.5)(4,1.5)(6,0.5)}
{\Huge Esta es la hermosa funcin $\sin (x)$}
\end{pspicture}

1.8.4.

Texto con efectos especiales

Como ya hemos visto podemos agregar color, tamao y forma al texto,


ahora con la instruccin pscharpath agregaremos efectos en el contorno del texto:
\pscharpath[par]{texto}
Ejemplo:

\pscharpath[linestyle=dashed]{ \Huge Universidad del Quindo}

\pscharpath[linestyle=none, fillstyle=gradient]
{ \Huge Universidad del Quindo}

1. Grficos con PSTricks

47

1.9 Trazado de curvas

En la seccin 1.5.1 trazamos curvas con los comandos pscurve, psecurve, psccurve, sin embargo, podemos tener algunas limitantes dado
que la curva resultante no necesariamente es la que debera pasar por
los puntos indicados. Para ello, PSTricks dise las siguientes funciones especializadas en la interpolacin de puntos:

Primero debemos designar la lista de puntos que vamos a dibujar, eso


lo hacemos con el comando:

\savedata{\fun}[{x1,y1},...{xn,yn}]

Una vez guardados los puntos procedemos a dibujarlos, eso lo logramos


con el siguiente comando:

\dataplot[par]{\fun}

Con la opcin \fun le asignamos cualquier nombre a la lista de puntos,


siempre que no sea un comando LATEX. La funcin readdata hace
el mismo efecto que savedata, pero sta lo puede leer de un archivo.
Si observamos, la grfica no es exacta, debido a que slo usamos 10
puntos, pero si utilizamos 100, nuestro grfica sera muy exacta pero
consumira ms recursos del sistema. Con este comando podemos cargar los puntos desde un archivo y estos pueden ser tomados desde otro
programa como el Matematica.

Ejemplo:

1.9. Trazado de curvas

48

f (x) = esin(x)

\psset{unit=1}
\begin{pspicture}(0,0)(5,3)
\psaxes[linewidth=0.04,dx=1.8cm,
dy=1.8cm]{<->}(0,0)(5,0)(0,3)
\savedata{\funcion}[{0,1}, {0.36,1.43},
{0.87,2.15}, {1.51,2.71}, {2.26,2.15},
{2.76,1.43}, {3.13,1.0}, {4.06,0.46},
{4.45,0.3}, {5.032,0.38}]
\dataplot[linewidth=0.01, plotstyle=curve,
linecolor=red]{\funcion}
\rput(3.8,2){\large $f(x)=e^{\sin (x)}$}
\end{pspicture}

1.9.1.

Curvas a partir de su ecuacin

Para graficar una curva, lo ideal es tener los puntos a partir de la


ecuacin, para eso PSTricks implementa la siguiente funcin:
\psplot[op]{x1}{x2}{fun}
La cual grafica una curva con el dominio (x1 , x2 ), la funcin f un debe
entrarse en notacin sufija de PostScript, la cual mostraremos en el
cuadro 1.11.
Sin embargo, es necesario tener presente que siempre se debe usar la
variable x, las funciones seno y coseno slo aceptan grados sexagesimales. La funcin psplot slo admite computos simples, por lo que
no podemos graficar funciones muy complejas. Se debe tener especial

1. Grficos con PSTricks

49

Sintxis
x neg
x y add
x y sub
x y mul
x y div
x y exp
x sqrt
x log
x ln
x sin
x cos

Significado
x
x+y
xy
x.y
x
y

xy

x
log10 x
ln x
sin x
cos x

Cuadro 1.11: Principales funciones de PostScript


cuidado con las funciones que presenten asntotas, pues generan un
error (divisin por cero) y debemos sacarlas del dominio.
Ejemplo:
f (x) = sin(100x)

f (x) =

x+1
x2 +1

2
1
4 3 2 1
1

f (x) = ex

f (x) =

4
\psset{unit=0.4}
\begin{pspicture}(-5,-5)(8,5)%\malla

1
x

1.9. Trazado de curvas

50

\psaxes[linewidth=0.04,dx=0.71cm,
dy=0.71cm]{<->}(0,0)(-5,-5)(5,5)
\psplot[linewidth=0.03, plotstyle=curve,
linecolor=blue]{-5}{5}{x 100 mul sin}
\psplot[linewidth=0.03, plotstyle=curve,
linecolor=green]{-5}{5}{ x 1 add x 2 exp 1 add div}
\psplot[linewidth=0.03, plotstyle=curve,
linecolor=magenta]{-5}{1.5}{2.7 x exp}
\psplot[linewidth=0.03, plotstyle=curve,
linecolor=yellow]{-5}{-0.2}{1 x div}
\psplot[linewidth=0.03, plotstyle=curve,
linecolor=yellow]{0.2}{5}{1 x div}
\psdots[dotstyle=square*, linecolor=blue](4,4)
\rput(6.2,4){$f(x)=\sin (100x)$}
\psdots[dotstyle=square*, linecolor=green](4,3)
\rput(6,3){$f(x)=\frac{x+1}{x^2 + 1}$}
\psdots[dotstyle=square*, linecolor=magenta](4,-2)
\rput(6,-2){$f(x)=e^x$}
\psdots[dotstyle=square*, linecolor=yellow](4,-3)
\rput(6,-3){$f(x)=\frac{1}{x}$}
\end{pspicture}

1.9.2.

Curvas Paramtricas

El comando parametricplot es muy similar psplot, slo se requiere


dar un dominio y una funcin paramtrica.
\parametrcplot[par]{t1}{t2}{x(t)y(t)}
El parmetro par se usa para las opciones de lnea que ya hemos usado, (t1 , t2 ) es el dominio de la funcin y las funciones x(t), y(t) las
cuales se deben escribir con la sintaxis de PostScript, una seguida de
la otra sin comas ni puntos. (vea el cuadro 1.11).
Veamos los siguientes ejemplos:

1. Grficos con PSTricks

51

-1

-2

-3
-3

-2

-1

\psset{unit=2}
\begin{pspicture}(-3,-3)(3,3)\malla
\rput(1.5,1.5){\parametricplot[linewidth=0.1,
plotpoints=300]{0}{360}{2 t mul sin t cos mul
2 t mul sin t sin mul}}
\rput(-2.5,1.5){\parametricplot[linewidth=0.1,
plotpoints=300]{0}{360}{0.5 1.5 t cos mul add t
cos mul 0.5 1.5 t cos mul add t sin mul}}
\rput(-1.5,-2){\parametricplot[linewidth=0.1,
plotpoints=300]{0}{360}{0.5 1.5 t cos mul add t
sin mul 0.5 1.5 t cos mul add t cos mul}}
\rput(1.5,-1.5){\parametricplot[linewidth=0.1,
plotpoints=300]{0}{360}{1.5 t sin mul 1.5 t cos mul}}
\end{pspicture}

1.9.3.

Regiones sombreadas

Para implementar sombreado de regiones entre curvas, PSTricks dispone


de la funcin pscuston la cual nos permite dibujar una textura entre
dos curvas, que pueden ser psline, pscurve o psecurve, en realidad
se puede hacer sobre cualquier tipo de curva, teniendo cuidado puesto

1.9. Trazado de curvas

52

que se pueden producir graves mensajes de error. Veamos la sintaxis:


\pscuston[par]{curvas \fill[op]}
La funcin rellena la regin limitada por las curvas con las opciones
5 de llenado implementadas en fill[par].veamos un ejemplo:
4
3
2
1
0
0

\psset{unit=0.8}

\begin{pspicture}(0,0)(6,5)
\pscustom[linestyle=none]
{\pscurve(0,0)(2,3)
(3,3.5)(4,3)(6,0)
\fill[fillstyle=solid,
fillcolor=lightgray]}
\psaxes(6,4)
\pscurve(0,0)(2,3)
(3,3.5)(4,3)(6,0)
\end{pspicture}

Veamos un ejemplo de relleno entre dos curvas:

6
5
4
3
2
1
0
0

\begin{pspicture}(0,0)(6,7)
\pscustom[linestyle=none]{
\psline(1,0.1)(1,1.5)
\pscurve(1,1.5)(2,2.5)(3,4)(4,6)
\psline(4,6)(4,0.5)
\psline(4,0.5)(0,0)
\fill[fillstyle=vlines ]}
\psaxes{->}(6,7)
\pscurve(0,1)(1,1.5)(2,2.5)
(3,4)(4,6)(4.5,6.5)
\psline(4,0.5)(0,0)
\psline(4,0.5)(5,0.65)
\psline[linestyle=dashed]
(1,0.1)(1,1.5)
\psline[linestyle=dashed]
(4,0.5)(4,6)
\end{pspicture}

\psset{unit=0.6}

En el ejemplo anterior podemos observar los siguientes detalles:

1. Grficos con PSTricks

53

En primer lugar, los puntos de las curvas deben seguir una


secuencia, en este caso primero se ubica la lnea recta vertical \psline(1,0.1)(1,1.5), luego aparece la curva (que es la
ms importante); \pscurve(1,1.5)(2,2.5)(3,4)(4,6), posteriormente la otra recta vertical; \psline(4,6)(4,0.5) y por ltimo la recta \psline(4,0.5)(0,0), que hace las veces de curva
inferior, que en otros casos puede ser otra curva o el mismo eje
x;
Luego de dibujar la regin sombreada, podemos redibujar las
curvas e inclusive agregarles ms detalles, como por ejemplo hacerlas ms largas o asignarles etiquetas.
Ejemplo:
6
5
4
3
2
4 3 2 1 0

\psset{unit=0.6}
\begin{pspicture}(-4,0)(4,5)
\pscustom[linestyle=none]{
\psline(-3,1)(-3,3)
\pscurve(-3,3)(-2,1.5)(-1,2)(0,4)(1,2)(2,1.5)(3,3)
\psline(3,3)(3,1)
\pscurve(3,1)(2,0.5)(1,0.8)(0,0)(-1,0.8)(-2,0.5)(-3,1)
\fill[fillstyle=solid, fillcolor=lightgray]}
\psaxes[linewidth=0.04,Oy=1](0,0)(-4,0)(4,5)
\psline[linestyle=dashed](-3,0)(-3,3)
\psline[linestyle=dashed](3,3)(3,0)
\pscurve(-3,3)(-2,1.5)(-1,2)(0,4)(1,2)(2,1.5)(3,3)
\pscurve(3,1)(2,0.5)(1,0.8)(0,0)(-1,0.8)(-2,0.5)(-3,1)
\end{pspicture}

1.10. Herramientas para rboles, grafos y diagramas

54

1.10 Herramientas para rboles, grafos y diagramas


PSTricks ofrece una variada gama de herramientas para crear grficos
tipo rboles y diagramas. Para realizar este tipo de grficos se han
dividido los comandos en 3 tipos; Nodos, Conectores y Etiquetas.

1.10.1.

Nodos

En el cuadro 1.12 observaremos los distintos tipos de nodos:


Nodo

Descripcin

\pnode(x,y){nom}

Con l ubicamos en la coordenada (x, y) un


nodo y le asignamos un nombre con nom

\dotnode[op](x,y){nom}

Este nodo es similar al anterior, pero el


nodo aparece con forma de punto y se le
asigna un nombre con nom . Adems que
se puede agregar opciones de puntos como
las vistas en la cuadro 1.2
En este caso, el nodo es de forma circular
con un radio r.

\cnode[op](x,y){r}{nom}
\Cnode[op](x,y){nom}

Es similar al anterior, pero el radio se


establece de antemano con el parmetro
\psset{radius=...}.

\rnode{nom}{texto}

En este caso se dibuja un borde rectangular invisible, y se tiene la posibilidad de


agregar texto, que puede ser en modo normal o modo matemtico. Este comando no
tiene el caracterstico punto (x, y), as que
debemos usar el comando \rput para ubicarlo.

Cuadro 1.12: Nodos de PSTricks


La tabla 1.13 muestra otros tipos de nodos similares a rnode con
formas geomtricas:

1.10.2.

Conectores

A continuacion mostraremos los diferentes tipos de conectores con su


respectivo ejemplo, tanto del nodo como de su conector:

1. Grficos con PSTricks

55

Nodo

Descripcin

\trinode[op]{nom}{texto}

Nodo en forma triangular.

\ovalnode[op]{nom}{texto}

Nodo en forma ovalada.

\dianode[op]{nom}{texto}

Nodo en forma de rombo.

\circlenode[op]{nom}{texto}

Nodo en forma circular.

Cuadro 1.13: Nodos tipo \rnode de PSTricks


Conectores \ncline.
La estructura bsica de un conector es la siguiente:
\ncline[par]{flechas}{n1}{n2}
Con los parmetros par podemos cambiar la forma del conector (lneas
punteadas, guiones, etc), el segundo parmetro es el tipo de flechas y
los dos ltimos son el nombre de los conectores, en este caso el conector
va de n1 a n2.
5
4

Pt

3
2

a1

a2

0
0

\psset{unit=0.5}
\begin{pspicture}(0,0)(6,4)
\malla
\rput(3,3){\circlenode{P1}{$P_t$}}
\rput(1,1){\circlenode{a1}{$a_1$}}
\rput(5,1){\circlenode{a2}{$a_2$}}
\ncline{->}{P1}{a1}
\ncline{<-}{P1}{a2}
\ncline{<->}{a1}{a2}
\end{pspicture}

Conectores \ncarc.
Es similar al anterior, pero los nodos se unen por medio de arcos. El
usuario debe tener en cuenta que los arcos se construyen como un
parmetro arcangle, el cual determina el ngulo entre arco y la lnea
recta que une los nodos, su valor por defecto es 8 grados sexagesimales.

1.10. Herramientas para rboles, grafos y diagramas

56
5
4

Pt
a2

3
2
1

a1

0
0

\begin{pspicture}(0,0)(6,5)\malla
\rput(1,4){\circlenode{P1}{$P_t$}}
\rput(1,1){\trinode{a1}{$a_1$}}
\rput(5,3){\ovalnode{a2}{$a_2$}}
\ncarc[arcangle=250]{<->}{P1}{a1}
\ncarc{<-}{P1}{a2}
\ncarc{<->}{a1}{a2}
\end{pspicture}

\psset{unit=0.6}

Conectores \ncdiag.
En este caso se une los nodos con un segmento diagonal, adems se
pueden usar las opciones \armA,\armB, con los cuales se puede cambiar
la longitud del brazo de salida y de llegada, que por defecto es 10pt.
\angleA,\angleB, son los ngulos de llegada y salida del conector y su
valor por defecto es 0. Igualmente, podemos usar la opcin linearc
que se utiliza para vrtices redondeados.
5
4

a2

Pt

3
2

a1

1
0
0

\psset{unit=0.6}
\begin{pspicture}(0,0)(6,5)

\malla
\rput(2,4){\dianode{P1}{$P_t$}}
\rput(2,1){\dianode{a1}{$a_1$}}
\rput(5,4){\dianode{a2}{$a_2$}}
\ncdiag[armA=15pt, armB=15pt,
angleA=45,angleB=90]{<->}{P1}{a2}
\ncdiag[angleA=270,angleB=270]
{<->}{a2}{P1}
\ncdiag[angleA=180,angleB=180,
linearc=10pt]{<->}{a1}{P1}
\end{pspicture}

Conectores \ncdiagg.
Es igual al anterior, pero sin el brazo para el segundo nodo.
5
4

a2

Pt

3
2

a1

1
0
0

\psset{unit=0.6}

\begin{pspicture}(0,0)(6,5)\malla
\rput(1,4){\dianode{P1}{$P_t$}}
\rput(3,1){\dianode{a1}{$a_1$}}
\rput(5,4){\dianode{a2}{$a_2$}}
\ncdiagg[angleA=0,angleB=90]{->}
{P1}{a2}
\ncdiagg[angleA=180,angleB=180,
linearc=10pt]{->}{a1}{P1}
\end{pspicture}

1. Grficos con PSTricks

57

Conectores \nccurve.
Este conector traza curvas en forma de Bzier, se debe tener cuidado
en la posicin de los nodos, pues si estn ubicados muy cerca, la curva
parecer una recta.
5
4

Pt
a2

3
2
1

a1

0
0

\begin{pspicture}(0,0)(6,5)\malla
\rput(2,4){\dianode{P1}{$P_t$}}
\rput(1,1){\trinode{a1}{$a_1$}}
\rput(6,3){\ovalnode{a2}{$a_2$}}
\nccurve[angleA=45,angleB=90]
{<->}{P1}{a2}
\nccurve[angleA=270,angleB=270]
{<->}{a2}{P1}
\nccurve[angleA=180,angleB=180]
{<->}{a1}{P1}
\end{pspicture}

\psset{unit=0.6}

Conectores \ncbar.
Este conector tiene la particularidad de que forma ngulos rectos entre
los conectores y los nodos, si es necesario se extienden los brazos de
los conectores, adems el ngulo de llegada y el de salida son el mismo
y se controlan con el parmetro angleA.
5
4

Pt
a2

3
2
1

a1

0
0

\psset{unit=0.6}
\begin{pspicture}(0,0)(6,5)\malla
\rput(2,4){\dianode{P1}{$P_t$}}
\rput(5,1){\trinode{a1}{$a_1$}}
\rput(6,3){\ovalnode{a2}{$a_2$}}
\ncbar[angleA=90]{<->}{P1}{a2}
\ncbar[angleA=270]{<->}{a2}{P1}
\ncbar[angleA=180]{<->}{a1}{P1}
\end{pspicture}

Conectores \ncangle.
Es similar al anterior, pero los conectores se unen por medio de ngulos
rectos nicamente. Para controlar la forma, se usan los parmetros
armA,armB,angleA,angleB y linearc.

1.10. Herramientas para rboles, grafos y diagramas

58
5
4

Pt

a2

a1

1
0
0

\psset{unit=0.6}
\begin{pspicture}(0,0)(6,5)\malla

\rput(3,4){\dianode{P1}{$P_t$}}
\rput(5,1){\dianode{a1}{$a_1$}}
\rput(1,2){\dianode{a2}{$a_2$}}
\ncangle[angleA=180, angleB=180]
{->}{P1}{a2}
\ncangle[angleA=270, angleB=270]
{<->}{a2}{a1}
\ncangle[angleA=0, angleB=270]
{<->}{a2}{P1}
\ncangle[angleA=90, angleB=0]
{<->}{a1}{P1}
\end{pspicture}

Conectores \ncangles.
Tiene el mismo efecto que \ncangle , pero usa un segmento adicional
para unir los nodos.
3

\begin{pspicture}(0,0)(4,3)\malla
\rput(1,1){\dianode{a1}{$a_1$}}
\rput(3,2){\dianode{a2}{$a_2$}}
\ncangles[angleA=180,
angleB=180]{->}{a1}{a2}
\ncangles[angleA=90,
angleB=0]{<->}{a2}{a1}
\end{pspicture}

a2

a1

0
0

\psset{unit=0.6}

Conectores \ncloop.
Este conector es til para hacer loops en grafos, se puede cambiar el
parmetro loopsize que por omisin es 1cm. Para este tipo de grfico
es mejor usar nccircle.
5
4

Pt

a2

a1

1
0
0

\psset{unit=0.6}
\begin{pspicture}(0,0)(6,5)\malla
\rput(3,4){\ovalnode{P1}{$P_t$}}
\rput(5,1){\ovalnode{a1}{$a_1$}}
\rput(1,2){\ovalnode{a2}{$a_2$}}
\ncloop[angleA=0, angleB=45,
loopsize=1cm,
linearc=0.1]{->}{a1}{a1}
\ncloop[angleA=90, angleB=0,
linearc=0.1]{->}{P1}{P1}

1. Grficos con PSTricks


\nccurve[angleA=270,
angleB=270]{<->}{a2}{a1}
\nccurve[angleA=0,
angleB=270]{<->}{a2}{P1}

59
\nccurve[angleA=90,
angleB=0]{<->}{a1}{P1}
\end{pspicture}

Conectores \nccircle.
Adems de la sintaxis normal de los conectores, en el caso de \nccircle
se debe adicionar un parmetro ms que corresponde al radio del loop.
La separacin entre el arco y el borde del nodo se puede determinar
por el parmetro nodesepA.
5
4

Pt

a2

a1

1
0
0

\psset{unit=0.6}
\begin{pspicture}(0,0)(6,5)
\malla
\rput(3,4){\ovalnode{P1}{$P_t$}}
\rput(5,1){\ovalnode{a1}{$a_1$}}

1.10.3.

\rput(1,2){\ovalnode{a2}{$a_2$}}
\nccircle[angleA=200,
nodesepA=0pt ]{->}{a1}{0.4cm}
\nccircle[angleA=90,
nodesepA=0pt ]{->}{a2}{0.5cm}
\nccircle[angleA=10,
nodesepA=0pt ]{->}{P1}{0.5cm}
\nccurve[angleA=0,
angleB=180]{<->}{a2}{a1}
\nccurve[angleA=90,
angleB=270]{<->}{a2}{P1}
\nccurve[angleA=90,
angleB=270]{<->}{a1}{P1}
\end{pspicture}

Etiquetas

Las etiquetas se le asignan a los conectores de los diagramas, deben


ubicarse despus de construir el conector, y se asume que el conector
va de izquierda a derecha.
La tabla 1.14 muestra otros tipos de nodos similares a rnode con formas geomtricas:
Aqu mostraremos los tipos de etiquetas y los parmetros opcionales
como nrot . En el siguiente ejemplo ubicamos etiquetas con el parmetro
\npos, que es un nmero entre 0 y 1 y determina donde aparece la
etiqueta. El comando * provoca que la etiqueta borre los objetos que
estn debajo de ella, en caso contrario, la etiqueta ser transparente.

1.10. Herramientas para rboles, grafos y diagramas

60

Etiqueta

Descripcin

\ncput[op]{etiqueta}

La etiqueta va sobre la lnea del


conector.

\naput[op]{etiqueta}

La etiqueta va encima del conector.

\nbput[op]{etiqueta}

La etiqueta va debajo del conector.

\tvput[op]{etiqueta}

La etiqueta va en la misma linea del


conector. Se usa en conectores verticales.

\tlput[op]{etiqueta}

Igual a la anterior solo que la etiqueta


se ubica a la izquierda del conector.

\tlput[op]{etiqueta}

En este caso la etiqueta se ubica a la


derecha del conector.

Cuadro 1.14: Etiquetas para conectores en PSTricks


5
4

a2

Pt

3
a1

1
0
0

\begin{multicols}{2}
\psset{unit=0.6}
\begin{pspicture}(0,0)(6,5)

\malla
\rput(1,2.5){\ovalnode{P1}
{$P_t$}}\rput(5,1){\ovalnode{a1}
{$a_1$}}\rput(5,4)
{\ovalnode{a2}{$a_2$}}
\nccurve[angleA=0, angleB=0]{<->}
{a2}{a1}\ncput*{$\alpha_1$}
\nccurve[angleA=90, angleB=0]
{<->}{a2}{P1}
\ncput*[npos=0.5]{$\beta_2$}
\nccurve[angleA=270, angleB=0]
{<->}{a1}{P1}
\ncput*[npos=0.7]{$\gamma_3$}
\end{pspicture}

En el siguiente ejemplo se usar la etiqueta \naput y \nbput con


el parmetro labelsep, la cual nos determina la separacin entre el
conector y la etiqueta, por defecto es 0.5pt.
5
4

Pt

a1

a2

1
0
0

\psset{unit=0.6}
\begin{pspicture}(0,0)(6,5)
\malla
\rput(3.5,4){\dianode{P1}{$P_t$}}
\rput(1,2){\dianode{a1}{$a_1$}}
\rput(4,2){\dianode{a2}{$a_2$}}
\ncbar[angleA=0, angleB=180]
{->}{P1}{a2}

1. Grficos con PSTricks


\naput[labelsep=0.3pt]{$\xi$}
\ncbar[angleA=90]{->}
{a1}{a2}\nbput{$\lambda$}

61
\end{pspicture}

Para el siguiente caso, usaremos la etiqueta \tvput con el parmetro


nrot, el cual determina la rotacin de la misma con un ngulo entre
-360 y 360 grados sexagesimales, por defecto dicho parmetro es cero.
5

a2

to
rec
r
o
inc

3
2

a1

Pt

0
0

\psset{unit=0.6}
\begin{pspicture}(0,0)(6,5)
\malla
\rput(5,1){\ovalnode{P1}{$P_t$}}
\rput(1,1){\ovalnode{a1}{$a_1$}}
\rput(5,4){\ovalnode{a2}{$a_2$}}
\ncline{->}{P1}{a2}\tvput{$\xi$}
\ncline{->}{a1}{a2}
\naput*[nrot=35]{incorrecto }
\end{pspicture}

Ahora veremos las etiquetas \tlput, \trput.


5
4

P1

P2

3
2

a1

a2

0
0

\psset{unit=0.6}
\begin{pspicture}(0,0)(6,5)
\malla
\rput(1,4)

1.10.4.

{\dianode{P1}{$P_1$}}
\rput(1,1)
{\ovalnode{a1}{$a_1$}}
\rput(5,1)
{\ovalnode{a2}{$a_2$}}
\rput(5,4)
{\dianode{P2}{$P_2$}}
\ncline{->}
{P1}{P2}\ncput*{$\xi$}
\ncline{->}
{P1}{a1}\tlput{$\psi$}
\ncline{->}
{P2}{a2}\trput{$\varphi$}
\end{pspicture}

rboles

La sintaxis de un rbol es la siguiente:


\pstree[par]{raiz}{ramas}

1.10. Herramientas para rboles, grafos y diagramas

62

Para implementar un grfico de rbol debemos tener en cuenta la ubicacin de la raz y las ramas, adems la forma de ubicar los conectores.
El cuadro 1.15 ilustrar los tipos de nodos.
Nodo

Descripcin

\Tp[op]
\Tdot[op]

Nodo invisible.
Nodo en forma de punto.

\Tf[op]

Nodo en forma de cuadro.

\Tfan[op]

Nono invisible conectado a su nodo predecesor por una figura triangular.

\Tc[op]{r}
\TC[op]

Nodo circular con radio r.


Igual al anterior pero el radio se establece
por defecto con el parmetro radius en el
psset{...}. Por omisin es 2.5mm

\Tr[op]{texto}

Nodo rectangular invisible con texto.

\Tcircle[op]{texto}

Nodo circular con texto.

\Toval[op]{texto}

Nodo ovalado con texto.

\Ttri[op]{texto}

Nodo triangular con texto.

\Tdia[op]{texto}

Nodo en forma de rombo con texto.

\Tn[op]{texto}

Nodo con texto pero conectado a su predecesor por una lnea invisible. Slo se puede
usar en las hojas del rbol no en su raz.

Cuadro 1.15: Nodos para los rboles en PSTricks


Para el manejo de rboles, se debe tener especial cuidado con la ubicacion de hojas y subarboles. Al implementarlos, nos damos cuenta
que es fcil caer en erorres por la ubicacn incorrecta de los nodos.
6

\psset{unit=0.6}
\begin{pspicture}(0,0)(6,6)
\rput[tl](1.5,5.5)
{\pstree{\TC}{\Tdia{$h$}
\Tdot \pstree{\TC}{\Tc{1mm}
\Ttri{} }} }

0
0

1. Grficos con PSTricks

63

Adems de los tipos de nodos, podemos controlar la forma en que


se crea el rbol, por ejemplo, si queremos que nuestro rbol sea de
derecha a izquierda o de abajo hacia arriba, etc, slo cambiamos las
opciones que se muestran en el cuadro 1.16.
Nodo

Descripcin

treemode=

Determina la direccin del rbol,


Dconstruye el rbol hacia abajo, U lo
construye hacia arriba, R y L derecha e
izquierda.
Determina el tipo de conector (\ncline,
\ncarc,etc ) .

edge=
nodesep=

Es la distancia entre el nodo y el conector,


por defecto es 0pt.

levelsep=

Determina la distancia entre los niveles de


un rbol, por defecto es 2cm.

treesep=

Me indica la distancia entre los descendientes de un mismo nodo, por defecto es


0.75cm.

Cuadro 1.16: Parmetros para el trazado de rboles

C
R
Q
Z
N

\psset{unit=0.6}
\begin{pspicture}(0,0)(6,6)
\rput[tl](1.5,5.5)
{\pstree[levelsep=1cm,
arrows=->]{\Tcircle{$\mathbb{C}$}}
{ \pstree{\Tcircle{$\mathbb{R}$}}
{\pstree{\Tcircle{$\mathbb{Q}$}}
{\pstree{\Tcircle{$\mathbb{Z}$}}
{\Tcircle{$\mathbb{N}$} } }
\Tcircle{$\mathbb{I}$}} }}
\end{pspicture}

En este caso mostraremos que una grfica hecha con PSTricks se puede
poner en el entorno figure como si fusemos a cargar un archivo
grfico. Para el caso el rbol genealgico de los hijos de Borin.1 .
1

J.R.R. Tolkien, Apndices del Seor de los Anillos. Ediciones Minotauro. 2001

64

1.10. Herramientas para rboles, grafos y diagramas

Balin

Fundin I

Dawlin

Borin

Farin

in

Grin

Glin

Gimli

Figura 1.1: Genealoga de los hijos de Borin

1. Grficos con PSTricks


\begin{figure}[htbp]
\centering \psset{unit=1.2}
\begin{pspicture}(0,-6)(13,6)
\rput[tl](0.5,5.5){\pstree[edge=\nccurve,
angleB=180, treemode=R,treesep=2.5cm, arrows=->]
{ \Toval{\scriptsize Borin} }{
\pstree{\Toval{\scriptsize Farin} }
{\pstree{\Toval{\scriptsize Fundin I}}
{\Toval{\scriptsize Balin}
\Toval{\scriptsize Dawlin}
\pstree{\Toval{\scriptsize Grin}}{\Toval{\scriptsize in}
\pstree{
\Toval{\scriptsize Glin}}{\Toval{\scriptsize Gimli}}}}}}
\end{pspicture}
\caption{Genealoga de los hijos de Borin }
\label{hijosborin}
\end{figure}

1.10.4.1.

65

Etiquetas para los nodos de los rboles

Las etiquetas de los conectores del rbol se ubican exactamente despus del comando de cada nodo, su sintaxis es muy simple ~{etiqueta}.
El parmetro tnpos= posiciona la etiqueta con relacin al nodo. b es
abajo (por defecto es b), a arriba y r y l son derecha e izquierda. Con
tnsep= podemos cambiar la distancia entre el nodo y la etiqueta, por
defecto es 5pt. Las etiquetas para los conectores se colocan inmediatamente despus del primer nodo, con el comando naput, es decir, si
tenemos dos nodos A y B, se ubicar despus del nodo A.
Ejemplo:2

J.R.R. Tolkien, El Silmarrillion. Ediciones Minotauro. 2001

1.11. Manejo de objetos 3D con PSTricks

66

Vanyar
Los hermosos

Calaquedi
m
aA
ron
Fue

Elfos

No

fuer

Eldar

on
aA
m

Noldor
Los Sabios

Avari
Moriquendi

Telerin
Los Elfos del mar

\psset{unit=0.6}
\begin{pspicture}(0,-6)(13,6)
\pstree[treemode=R,levelsep=3.8cm,treesep=2.5,arrows=->]
{\Toval{\scriptsize Elfos}}{
\pstree{\Toval[tnpos=a]{\scriptsize Eldar}
~{ \textit{ \scriptsize Calaquedi}}\naput[nrot=:U]
{\tiny Fueron a Amn} }{\Toval[tnpos=b]
{\scriptsize Vanyar}~{ \textit{
\scriptsize Los hermosos}}
\Toval[tnpos=b]{\scriptsize Noldor}
~{ \textit{ \scriptsize Los Sabios}}
\Toval[tnpos=b]{\scriptsize Telerin}
~{\textit{ \scriptsize Los Elfos del mar}}}
\Toval[tnpos=b]{\scriptsize Avari}~{ \textit{
\scriptsize Moriquendi}}\naput[nrot=:U]{\tiny No fueron a Amn}}
\end{pspicture}

1.11 Manejo de objetos 3D con PSTricks


PSTricks ofrece toda una librera para dibujar objetos tridimensionales
como esferas, planos, vectores, superficies, etc. Para el manejo de esta

1. Grficos con PSTricks

67

librera es necesario que el usuario est familiarizado con los conceptos


de Clculo Multivariado, es decir, con la ubicacin de puntos en el
espacio, manejo de ecuaciones en R3 y otros conceptos.

1.11.1.

El paquete pst-3dplot

Con este paquete, podemos usar los comandos necesarios para dibujar
los objetos 3D, adems, se pueden incluir otros objetos matemticos
como ecuaciones y objetos 2D. Si usted no tiene este paquete, lo pude
conseguir en la siguiente direcccin:
http://ctan.org/tex-archive/
graphics/pstricks/contrib/pst-3dplot/

1.11.2.

El eje cordenado 3D

El eje coordenado de la librera es el mismo que podemos encontrar


en cualquier libro de Clculo, con el eje z perpendicular al eje y y al
z
eje x:

Sin embargo, para acceder a este espacio necesitamos un punto de


referencia o punto de visin, imaginemos que estamos parados junto
al eje coordenado; estando all podemos dar la vuelta, subir y bajar

1.11. Manejo de objetos 3D con PSTricks

68

la mirada, levantar el eje coordenado para observar los objetos desde


abajo, en fin, necesitamos mover la vista para visualizar mejor los objetos que vamos a dibujar.
Para resolver el problema, PSTricks toma como punto de partida 2
ngulos especiales y . El ngulo representa la rotacin horizontal
con valores positivos en sentido antihorario. El ngulo controla la
rotacin vertical u ortogonal del plano. Por defecto, los ngulos son
= 45 y = 45, si queremos cambiar el punto de vista del plano,
cambiamos los parmetros en el psset{...}.veamos el ejemplo:
z
z

z
x
y

y
x

\psset{unit=1.0}
\begin{pspicture}(0,-1)(13,5)
\rput(3,2){\pstThreeDCoor[Alpha=45, Beta=45,
linecolor=red,xMax=3,yMax=3,zMax=3]}
\rput(8,2){\pstThreeDCoor[Alpha=-60, Beta=10,
linecolor=green,xMax=4,yMax=3,zMax=3]}
\rput(11,2){\pstThreeDCoor[Alpha=45, Beta=50,
linecolor=blue,xMax=4,yMax=3,zMax=3]}
\end{pspicture}

En en ejemplo anterior, podemos ver que se pueden cambiar algunos


parmetros, entre ellos esta xMin, xMax, yMin, yMax, zMin, zMax, los
cuales determinan los lmites de los ejes con *Min le damos el lmite
inferior y con *Max configuramos el lmite superior. Tambin podemos
cambiar el ancho de las lneas o su forma. Debemos tener en cuenta donde ubicamos los parmetros Alpha y Beta, si lo hacemos en el
\psset todos los objetos rotarn al unsono con el eje, si lo hacemos
en los parmetros de \pstThreeDCoor, slo los ejes rotarn, los dems

1. Grficos con PSTricks

69

objetos no.

1.11.3.

Ubicacin de objetos con \pstThreeDPut

Este comando es muy similar a rput de la versin 2D, a continuacin


la sintaxis:
\pstThreeDPut[par](x,y,z){obj}
Esta orden ubica en la posicin (x, y, z) el objeto obj con diferentes
opciones, las cuales mostraremos en los diferentes ejemplos.
z
1

x
1

\psset{unit=1.0}
\begin{pspicture}(-6,-3)(6,3)
\pstThreeDCoor[linecolor=red,xMax=4,yMax=4,zMax=3]
\pstThreeDPut(1,2,3){$\varpi_2$}
\pstThreeDPut(2,0,3){$\xi_1$}
\pstThreeDPut(3,3,0){$\zeta_1$}
\end{pspicture}

1.11.4.

Puntos

Como ya es sabido, los puntos son de los objetos matemticos ms


usados, PSTricks3D implementa la siguiente funcin:
\pstThreeDDot[par](x,y,z)
El comando ubica un punto con coordenadas (x, y, z) con las opciones
de colores que ya hemos visto, adems del parmetro drawCoor que

70

1.11. Manejo de objetos 3D con PSTricks

puede ser false\true , lo cual provoca que se dibujen las lneas paralelas a los ejes. Veamos un ejemplo:
z

y
x

\psset{unit=1.0, Alpha=80}
\begin{pspicture}(-6,-3)(6,3)
\pstThreeDCoor[linecolor=red,xMax=4,yMax=4,zMax=3]
\pstThreeDDot[drawCoor=true](1,1,2)
\pstThreeDDot[drawCoor=true](0,-2,1)
\pstThreeDDot[drawCoor=true](4,2,-0.5)
\end{pspicture}

1.11.5.

Lneas rectas

La sintaxis para una lnea en el espacio tridimensional es la siguiente:


\pstThreeDLine[par](x1,y1,z1)(x2,y2,z2)
La cual dibuja una recta del punto (x1 , y1 , z1 ) al punto (x2 , y2 , z2 ), las
opciones son las tpicas que hemos visto en la versin 2D.
Ejemplo:

1. Grficos con PSTricks


z

v1

71

v3
v2

\psset{unit=1.0, Alpha=45, Beta=45}


\begin{pspicture}(-6,-3)(6,3)
\pstThreeDCoor[xMax=4,yMax=4,zMax=3]
\pstThreeDLine[linewidth=2pt,
linecolor=blue, arrows=->](0,0,0)(1,2,5)
\pstThreeDLine[linewidth=2pt,
linecolor=blue, arrows=->](0,0,0)(-3,2,0)
\pstThreeDLine[linewidth=2pt,
linecolor=blue, arrows=->](0,0,0)(4,0,3)
\rput(-2,0.5){$\vec{v}_1$}
\rput(1.5,0.5){$\vec{v}_2$}
\rput(1,2){$\vec{v}_3$}
\end{pspicture}

Como podemos observar, hemos usado el comando rput, en lugar de


la versin 3D, si usted no conoce la ubicacin de los puntos en 3D, lo
puede hacer con la versin 2D sin ningn problema.

1.11.6.

Tringulos

Para dibujar tringulos, PSTricks3D implementa el siguiente comando:


\pstThreeDTriangle[par](P1)(P2)(P3)
El parmetro drawCoor que puede ser false\true dibuja las rectas
paralelas a los ejes, fillstyle debe estar en solid para que el tringulo sea llenado, de lo contrario, se dibujar transparente. El color se
escoje con fillcolor . Los parmetros P1,P2,P3 son los puntos de
los vrtices del tringulo.

1.11. Manejo de objetos 3D con PSTricks

72

\psset{unit=1.0, Alpha=45, Beta=45}


\begin{pspicture}(-6,-3)(6,3)
\pstThreeDCoor[xMax=4,yMax=4,zMax=3]
\pstThreeDTriangle[linewidth=1pt](3,-1,5)(1,1,5)(1,2,5)
\pstThreeDTriangle[drawCoor=true,linecolor=blue,
linewidth=1pt, fillstyle=solid, fillcolor=yellow]
(3,1,2)(1,4,2)(0,2,2)
\pstThreeDTriangle[drawCoor=true,linecolor=red,
linewidth=1pt, fillstyle=solid, fillcolor=green]
(3,0,4)(1,0,1)(0,0,2)
\end{pspicture}

1.11.7.

Cuadros y rectngulos

La sintaxis es la siguiente:
\pstThreeDSquare[Op](v1)(v2)(v3)
En este caso, se dibuja un cubo o paraleleppedo imaginario, luego
aparecen los vectores v1 , v2 y v3 . El primer vector determina el punto de origen del cuadro, los otros dos determinan el ancho y largo del
cuadro. Estos vectores en realidad son los puntos finales de los vectores.
Ejemplo:

1. Grficos con PSTricks

73
z

\psset{unit=1.0, Alpha=45, Beta=15}


\begin{pspicture}(-6,-3)(6,3)
\pstThreeDCoor[xMax=4,yMax=4,zMax=3]
\pstThreeDSquare[fillcolor=blue,fillstyle=solid,
drawCoor=true,dotstyle=*](1,1,3)(0,3,0)(1,0,0)
\pstThreeDSquare[fillcolor=green,fillstyle=solid,
drawCoor=true,dotstyle=*](1,1,1)(4,0,0)(0,5,0)
\end{pspicture}

1.11.8.

Cajas

Una caja es un caso especial de los Cuadros de la seccin anterior, la


sintaxis es la siguiente:
\pstThreeDBox[par](v1)(v2)(v3)(v4)
El primer punto (punto final de un vector) es el punto de inicio de
nuestra caja, los dems vectores determinan el ancho, el alto y la profundidad.
Ejemplo:

1.11. Manejo de objetos 3D con PSTricks

74

\psset{unit=1.0, Alpha=45, Beta=15}


\begin{pspicture}(-6,-3)(6,3)
\pstThreeDCoor[xMax=4,yMax=4,zMax=3]
\pstThreeDBox[fillcolor=yellow,
fillstyle=solid](0,0,0)(3,0,0)(0,3,0)(0,0,1)
\end{pspicture}

1.11.9.

Circunferencias y elipses

En el siguiente grfico podemos observar los componentes de una


elipse:

a
F1

e
e

a
r1

F2
r2

Ahora bien, lo que tenemos es: dos focos F1 y F2 , los dimetros a y b


y adems la exentricidad determinada por e.
(x x0 )2 (y y0 )2
+
=1
a2
b2

(1.1)

1. Grficos con PSTricks

75

La ecuacin 1.1 es la frmula generalizada de una elipse con centro


en (x0 , y0 ), eje mayor a y eje menor b, (tambin llamados radios de
la elipse).La exentricidad e determina que tan alargada o deforme es
la elipse y debe ser 0 < e 1, si e = 1 la elipse se convierte en
una circunferencia. La informacin anterior es de vital importancia si
necesitamos dibujar elipses o circunferencias.

Adems, de esta informacin, podemos cambiar algunos parmetros


de la elipse como el arco, permitiendo dibujar parte de la elipse o circunferencia, esto lo logramos cambiando los parmetros que controlan
el ngulo de inicio y el terminal; beginAngle que por defecto es 0 y
endAngle que es 360, stos valores indican que se dibujar toda la
elipse.

Recuerde que como estamos en el espacio tridimensional, es muy comn


que veamos una circunferencia como una elipse o viceversa, es recomendable que se ajusten los parmetros de visin (Alpha y Beta)
para que sta distorsin no cause malos entendidos.

la elipse entonces tiene la siguiente sintxis:

\pstThreeDEllipse[OP](cx,cy,cz)(ux,uy,uz)(vx,vy,vz)

El primer punto (cx, cy, cz) es el extremo de un vector c, este punto


ser el centro de nuestra elipse, en la ecuacion 1.1 seran (x0 , y0 ). El
punto (ux, uy, uz) y (vx, vy, vz) son los extremos de los vectores que
me indicarn los valores de a y b.

Ejemplo:

1.11. Manejo de objetos 3D con PSTricks

76

\psset{unit=1.0, Alpha=45, Beta=25}


\begin{pspicture}(-4,-3)(4,3)
\pstThreeDCoor[xMin=-4,xMax=4,yMin=-4,
yMax=4,zMax=3, arrows=<->]
\pstThreeDEllipse[linecolor=blue,
linewidth=1.5pt](0,0,0)(3,0,0)(0,2,0)
\pstThreeDEllipse[linecolor=blue,
linewidth=1.5pt](0,0,0.5)(2.5,0,0)(0,1.5,0)
\pstThreeDEllipse[linecolor=blue,
linewidth=1.5pt](0,0,1)(2,0,0)(0,1,0)
\pstThreeDEllipse[beginAngle=0,endAngle=180,
linecolor=green](0,0,2)(1,0,0)(0,1,0)
\pstThreeDEllipse[beginAngle=180,endAngle=360,
linecolor=magenta](0,0,2)(1,0,0)(0,1,0)
\end{pspicture}

Observe que la ltima elipse en realidad son dos semicircunferencias,


una verde y la otra magenta, la perspectiva provoca que se vean como
elipses.

1.11.10.

Esferas

La sintaxis es la siguiente:
\pstThreeDSphere[OP](x,y,z){r}

1. Grficos con PSTricks

77

EL comando dibuja una esfera con centro en el punto (x, y, z) y de


radio r, las opciones son las antes estudiadas.
z

\psset{unit=0.8, Alpha=45, Beta=25}


\begin{pspicture}(-4,-3)(4,3)
\pstThreeDCoor[xMin=-4,xMax=4,yMin=-4,
yMax=4,zMax=3, arrows=<->]
\pstThreeDSphere[linewidth=0,
linecolor=green](0,0,2){0.8}
\pstThreeDSphere[linewidth=0,
linecolor=blue](2,0,0){0.8}
\pstThreeDSphere[linewidth=0,
linecolor=blue](0,2,0){0.8}
\end{pspicture}

1.11.11.

Curvas paramntricas en 3D

PSTricks implementa la siguiente funcin:


\parametricplotThreeD[par](t1,t2)(u1,u2){x(t,u)
y(t,u) z(t,u)}
Slo es posible usar las variables u y t. Los parmetros t1 , t2 son los
lmites de t, u1 , u2 son los lmites inferior y superior de u. Recuerde que
x(t, u), y(t, u) y z(t, u) se deben ingresar en la notacin PostScript
como lo vimos en la seccin 1.9.1.

1.11. Manejo de objetos 3D con PSTricks

78
Ejemplo:

\psset{unit=0.8, Alpha=45, Beta=25}


\begin{pspicture}(-4,-2)(4,4)
\pstThreeDCoor[xMin=-4,xMax=4,yMin=-4,
yMax=4,zMax=3, arrows=<->]
\parametricplotThreeD[linecolor=blue,
linewidth=.25pt,xPlotpoints=200,
plotstyle=curve,arrows=->](0,3.2){
t 360 mul cos t mul
t 360 mul sin t mul t}
\end{pspicture}

Ejemplo:

1. Grficos con PSTricks

79

\psset{unit=2.6, Alpha=45, Beta=25}


\begin{pspicture}(-2,-2)(2,3)
\pstThreeDCoor[xMin=-2,xMax=2,yMin=-2,
yMax=2,zMax=3, arrows=<->]
\parametricplotThreeD[linecolor=blue,
linewidth=.25pt,xPlotpoints=200,
plotstyle=curve,arrows=->](0,360)(0,360){
u sin t cos mul
u sin t sin mul
u cos}
\parametricplotThreeD[linecolor=blue,
linewidth=.25pt,xPlotpoints=200,
plotstyle=curve,arrows=->](0,360)(0,360){
t sin u cos mul
t sin u sin mul
t cos}
\end{pspicture}

1.11. Manejo de objetos 3D con PSTricks

80

1.11.12.

Grfica de funciones

Para graficar funciones en el espacio, PSTricks implementa la funcin:


\psplotThreeD[OP](x0,xt)(y0,yt){f(x,y)}
La funcion, recuerden, debe estar en lenguaje PostScript , slo se
admiten variables x y y. El comando dibuja la grfica de la funcin
f (x, y) en el dominio determinado por (x0 , xt ) para x y (y0 , yt ) para la
variable y. Adems, se debe tener encuenta los siguientes parmetros
(ver cuadro 1.17 ).
Opcin

Valor

plotstyle

Puede ser dots, line, polygon, curve,


ecurve, ccurve, none (valor por defecto).
y determina la forma de las lneas con que
se dibuj la curva.
Puede ser false/true y por omisin es
false. Muestra los puntos.

showpoints
showpoints

Puede ser false/true y por omisin es


false. Muestra los puntos.

xPlotpoints y yPlotpoints

Por defecto es 25, y determina la cantidad


de puntos a graficar.

hiddenLine

Por defecto es false y hace que se dibujen


las lneas.

Cuadro 1.17: Opciones de la funcin \psplotThreeD


Ejemplo:
\psset{unit=1.5, Alpha=45, Beta=20}
\begin{pspicture}(-3,-1.5)(6,5.5)
\pstThreeDCoor[xMin=-4,xMax=4,yMin=-4,
yMax=4,zMax=3, arrows=<->]
\psplotThreeD[plotstyle=line,linecolor=blue,
yPlotpoints=40,xPlotpoints=30, linewidth=0.5pt]
(-1.5,1.5)(-1.5,1.5)
{
x 2 exp y 2 exp add x 5 div sub
}

1. Grficos con PSTricks

81

\rput[tl](2,2){$f(x,y)=x^2 + y^2 - \frac{x}{5}$ }


\end{pspicture}

z
f (x, y) = x2 + y 2

x
5

Recuerde que usted tiene el control sobre el dominio de las variables x


y y, no sobre la variable z, tenga presente este detalle pues su grfica
puede salir de la zona delimitada.

Ejemplo:

82

1.11. Manejo de objetos 3D con PSTricks


z

f (x, y) = cos(100x) sin(100y)

\psset{unit=1.5, Alpha=45, Beta=30}


\begin{pspicture}(-3,-1.5)(3,4)
\pstThreeDCoor[xMin=-4,xMax=4,yMin=-4,
yMax=4,zMax=3, arrows=<->]
\psplotThreeD[plotstyle=line,linecolor=blue,
yPlotpoints=40,xPlotpoints=30, linewidth=0.5pt,
hiddenLine=true](-2,2)(-2,2)
{
x 100 mul cos y 100 mul sin sub
}
\rput[tl](-2,3.5){$f(x,y)=\cos (100x) - \sin (100y) $ }
\end{pspicture}

Ejemplo:

1. Grficos con PSTricks

83
z

f (x, y) = sin (180x)

\psset{unit=1.0, Alpha=45, Beta=30}


\begin{pspicture}(-3,-2)(3,3)
\pstThreeDCoor[xMin=-4,xMax=4,yMin=-4,
yMax=4,zMax=3, arrows=<->]
\psplotThreeD[plotstyle=ecurve,linecolor=blue,
yPlotpoints=40,xPlotpoints=30, linewidth=0.5pt,
hiddenLine=true](-2,2)(-2,2)
{
x 180 mul sin 2 exp
}
\rput[tl](-3,2.5){$f(x,y)=\sin ^2 (180x) $ }
\end{pspicture}

Ejemplo:

1.11. Manejo de objetos 3D con PSTricks

84

z
f (x, y) =

y2

x2

y
x

\psset{unit=1.0, Alpha=60, Beta=30}


\begin{pspicture}(-3,-2)(3,3)
\psplotThreeD[plotstyle=line,linecolor=blue,
yPlotpoints=60,xPlotpoints=60, linewidth=0.5pt,
hiddenLine=true, showpoints=true](-1.3,1.3)(-1.3,1.3)
{
y 2 exp x 2 exp sub
}
\pstThreeDCoor[xMin=-2,xMax=2,yMin=-2, yMax=2,zMax=3, arrows=<->]
\rput[tl](-3,2.5){$f(x,y)=y^2-x^2$ }
\end{pspicture}

Ejemplo:

1. Grficos con PSTricks

f (x, y) = 1 x2 + y 2

85

1
3

y
x

\psset{unit=1.0, Alpha=60, Beta=30}


\begin{pspicture}(-3,-2)(3,3)
\psplotThreeD[plotstyle=line,linecolor=blue,
yPlotpoints=60,xPlotpoints=60,
linewidth=0.5pt, hiddenLine=true,
showpoints=true](-1.3,1.3)(-1.3,1.3)
{
1 x 2 exp y 2 exp add 1 3 div exp sub
}
\pstThreeDCoor[xMin=-2,xMax=2,yMin=-2,
yMax=2,zMax=1.5, arrows=<->]
\rput[tl](-3,2.5){$f(x,y)=1-\left(x^2 +y^2
\right)^{\frac{1}{3}}$ }
\end{pspicture}

86

1.11. Manejo de objetos 3D con PSTricks

CAPTULO 2
Herramientas para grficos con
PSTricks
Para muchos usuarios de PSTricks, puede ser tedioso el uso de cdigos
ms parecidos a un lenguaje de programacin como Pascal o C++,
que a un editor de grficos matemticos. El usuario de LATEX quiere
que sus grficos matemticos queden con la mejor calidad, sin embargo, muchos de ellos no desean ni tienen tiempo de construir una
grfica matemtica con base en instrucciones. Adems, hay grficos
muy sencillos (o muy complejos) que no merecen que se tome el tiempo necesario en construirlos de la forma tradicional.
Para este tipo de usuarios, se desarroll software como el JpicEdt
y LatexDraw, estos programas permiten construir grficos vectorizados y exportar su cdigo a LATEX y PSTricks. En este captulo
mostraremos cmo implementar grficos matemticos con estos programas.

2.1 JpicEdt
Este programa fue desarrollado por Sylvain Rainal del E.N.S.E.A departamento de fsica. Es un software libre y puede ser redistribuido
87

88

2.1. JpicEdt

y/o modificarlo bajo los trminos de la Licencia Pblica General de


GNU segn es publicada por la Free Software Foundation. Como se
mencion anteriormente, el software es un editor de grficos vectorizados que permite exportar a cdigo PSTricks, Emulated LATEX y
Epic/Eepic.
El JpicEdt fue desarrollado en Java, el cual debe estar instalado
en el computador previamente. La instalacin es muy sencilla, slo se
hace doble clic en el archivo jpicedt-install-1_4_pre_5.jar, luego,
se procede a dar los parmetros de instalacin, el programa se ubicar en su computador automticamente. Como JpicEdt esta hecho
en Java, puede funcionar en cualquier plataforma (Windows, Linux
y Mac.). Para bajarlo y obtener ms informacin, consulte la pgina
http://jpicedt.sourceforge.net/site/index.php?language=en.

Figura 2.1: Interfase principal de JPicEdt

2. Herramientas para grficos con PSTricks

2.1.1.

89

Ventanas

JpicEdt tiene 3 ventanas principales, la primera de ella es la de trabajo.

En la parte superior de esta ventana, aparecen varios mens desplegables, el primero de ellos permite cambiar la malla o cuadrcula del
rea de trabajo, luego aparece un botn para activar o desactivar el
magnetismo de la malla, es decir, la forma en como los objetos se
acomodan e los vrtices de la malla del rea de trabajo. Luego aparece
otro men desplegable para cambiar la intensidad del magnetismo de
la malla, la cual va de 10 a 0.625; sta es muy importante para la
construccin de nuestros grficos matemticos.
En la parte media de la ventana, se encuentra el rea de trabajo, el
cual, esta enmarcado con una malla, en la parte superior e izquierda
se encuentra la regla, una utilidad para medir o referenciar nuestros
grficos. En la parte inferior izquierda aparece una etiqueta donde se
resalta la posicin del mouse sobre el rea de trabajo.
Luego aparece la ventana de atributos, la cual, me permite cambiar
las propiedades o atributos de los objetos que se construyan.

90

2.1. JpicEdt

La ventana consta de ocho submenus: Lleno, Rayar, Trazo, Sombra, Flechas, Polydots, Text y una opcin llamada PSTricks.
Lleno: Con esta opcin, podemos
escojer el color de relleno de los
objeto cerrados, es decir, figuras
planas cerradas (crculos, elipses,
polgonos). La ventana muestra
las opciones de colores en paletas
RGB, HSB y colores predefinidos
por PSTricks.
Adems, tiene un men desplegable que permite escojer el tipo de
textura o relleno para nuestros objetos, las opciones que maneja son:
transparente (por defecto), solido, lneas verticales transparentes, lneas
verticales con color de fondo, lneas horizontales transparentes y con
fondo, y dos opciones para trama en forma de ladrillo con fondo transparente y con color de fondo.
Como hemos visto, no debemos preocuparnos por el cdigo en PSTricks
para la inclusin de nuevos colores, JpicEdt lo hace automaticamente,
Adems la ventana cuenta con una opcin de color reciente, que le
permite al usuario seguir trabajando con los mismos colores.

2. Herramientas para grficos con PSTricks

91

Rayar: Esta opcin permite cambiar las formas de las texturas que
se impusieron a los objetos en la
opcin de lleno. Tiene tres opciones, la primera, puesta en la
parte superior izquierda, permite
cambiar el ancho de las lneas de
las texturas; si estas son muy anchas, se puede obtener un color
slido.
La segunda opcin permite cambiar la separacin entre las lneas de
la textura y la ltima opcin modifica el ngulo de inclinacin de las
lneas. En la parte inferior se presenta un men de colores similar a
la pestaa anterior donde se pueden escoger colores de la forma RGB,
HSB y predeterminado por PSTricks.

Trazo: En esta pestaa, encontramos las opciones para el entorno de los objetos. Inicialmente
aparece un menu desplegable que
me permite selecionar la forma del
contorno, puede ser invisible, normal, en guiones y punteada. En la
parte superior derecha aparece la
opcin de ancho de la lnea.

Los dos comandos en la zona media, son usados para ajustar la separacin entre los guiones y el ancho de los mismos. Tambien, all aparece
la opcin para la lneas punteadas, con este comando se pueden cambiar la separacin de los puntos. La opcin Overstrike hace que las
lneas pierdan la capacidad de ser transparentes.
Sombra: Esta opcin permite aplicarle el efecto de sombra a los objetos planos cerrados (polgonos, crculos, etc)

92

2.1. JpicEdt

Slo tiene dos parmetros, el primero modifica el ancho de la sombra


y el segundo el ngulo donde esta se va a proyectar.
Flechas: Permite implementar el
efecto de flechas a las lneas con
las mismas opciones que aparecen
en la seccin 1.3.1.1. La pestaa
ofrece la posibilidad de cambiar
el tipo de flecha al comienzo y
al final de la lnea, la forma y el
tamao de la misma.
Polydots: Esta pestaa permite el ngulo de los puntos, tamao y
activar los puntos de una curva escala.
o una lnea recta, la pestaa presenta un men desplegable con
los tipos de puntos dados por
PSTricks. Las diferentes opciones
de esta pestaa permiten cambiar
Text: Para los efectos de texto,
la pestaa ofrece la posibilidad de
cambiar el punto de referencia de
la etiqueta con el texto,
permitiendo ponerla en la parte inferior, superior, izquierda o derecha,
adems, permite cambiar el ngulo de rotacin del texto. La pestaa
tambien incluye una herramienta para enmarcar el texto en rectngulos o crculos.

2. Herramientas para grficos con PSTricks

93

PSTricks: En esta pestaa podemos incluir opciones de PSTricks


que el software no maneja, slo
debemos escribirlas en el espacio
de PS custom y oprimir el botn
aceptar.

2.1.2.

Herramientas de edicin

La ventana de Caja de tiles


presenta las herramientas de edicin bsicas para contruir nuestros grficos matemticos. Iniciamlente, esta ventana la encontraremos junto a las que aparecen por omisin cuando el programa arranca, si no es el caso, vaya
al men tiles y all encontrar
las mismas opciones. Tambien la
podemos encontrar en el men
Ventanas/Caja de tiles.

Para el manejo de estas herramietas, se debe tener en cuenta que los


objetos a modificarse deben estar seleccionados. En realidad, cualquier
persona que haya tenido contacto con programas como FreeHand o
CorelDraw no tendr dificultad en manejarlo. Enseguida, mostraremos
el uso de las diferentes herramientas de edicin.

2.1. JpicEdt

94
Permite hacer zoom en la grfica que estamos
construyendo.

Selecciona los objetos que componen la grfica.


Permite editar los nodos que componen las curvas
Bezier.
Al seleccionar uno o varios obejto, podemos moverlos
con este comando.

Escala los objetos seleccionados, bien sea en forma


vertical u horizontal.
Rota los objetos seleccionados.
Permite la inclusin de texto. Si es texto cientfico,
recuerde ponerlo entre los comandos $
Permite crear lneas rectas.

Herramienta para crear rectngulos.


Herramienta para crear paralelogramos.
Permite construir curvas bezier, el fin de la curva se
logra haciendo clic derecho.
Igual a la anterior, pero la curva bezier es cerrada

2. Herramientas para grficos con PSTricks


Herramienta para la creacin de elipses y
circunferencias.
Comando para crear tortas o secciones de crculos.
Esta herramienta es similar a la anterior, pero el arco
se une por una cuerda.
Tambien es similar a la anterior, pero sin la cuerda.

Esta herramieta se llama herramienta cerrada, pero


su diferencia consiste en imprimir a la elipse el efecto
de perspectiva.
Torta con efecto de perspectiva.
Arco y cuerda con efecto de perspectiva.
Arco sin cuerda con efecto de perspectiva.

Circunferencia determinada por tres puntos, los


cuales estan sobre la circunferencia.
Torta determinada por tres puntos.
Arco con cuerda determinada por tres puntos.
Arco sin cuerda determinada por tres puntos.

95

2.1. JpicEdt

96
Curva poligonal abierta Smood
Curva poligonal cerrada Smood
Curva de interpolacin abierta
Curva de interpolacin cerrada
Edicin de puntos de anclaje para ampliar o
disminuir el tamao.

2.1.3.

Preferencias y configuracin

JpicEdt puede ser configurado desde la ventana de preferencias, la


cual, se localiza en el men Editar/Preferencias; esta opcin abre
un menu con los siguientes items.
General: Esta pestaa permite configurar la apariencia de las ventanas, el estilo de estas, as como el idioma; que puede
ser, ingls, francs, espaol y alemn. Tambien aparece
la fuente y el formato por defecto en que se exportar el
cdigo, recuerde que puede ser PSTricks, emulated LATEX
y Epic/Eepic.
Apariencia: En este item aparecen cinco cajas de chequeado, para
configurar la forma en que apareceran las figuras dibujadas
en el rea de trabajo, entre ellas estn: Anti-alising, Antialising de texto, Calidad (vs velocidad), Dither Colours y
usar mtrica fraccional.
Plantilla/Zoom: La opcin permite configurar las opciones del tamao
de la malla, as como el estilo de la malla (slido o en
puntos). Tambien se puede configurar la imantacin de la
malla y el Zoom.
Colores: Esta pestaa slo presenta dos items, el color de fondo del
escritorio del programa y el color de la malla.

2. Herramientas para grficos con PSTricks

97

Repertorios: Esta opcin permite configurar las rutas del la carpeta


de archivos temporales y la carpeta de inicio de JpicEdt, la
cual, es necesaria para los archivos temporales que utiliza
el programa.
Shortcuts: La pestaa presenta una lista con los Shortcuts de las
diferentes opciones, mens y herramientas.
Comandos: La opcin presenta campos para la configuracin de las
rutas de acceso al compilador de LATEX y al programa Yap.
Esto debido a que JpicEdt puede compilar el documento
hecho y ver un previo de su dibujo.
Formato de pgina Permite configurar las mrgenes de la zona de
trabajo.
LATEX

Opcin que permite configurar algunos parmetros esenciales de PSTricks, adems, JpicEdt crea un documento
TEX temporal, el cual puede ser configurado desde esta
pestaa.

Epic/Eepic y PSTrics Estas dos pestaas son muy similares a la


anterior, permiten configurar el archivo temporal que se
compilar, LATEX , Epic/Eepic y PSTrics tienen paquetes
diferentes y pueden ser modificados o actualizados desde
esta pestaa.

2.1.4.

Otras herramientas de JpicEdt

Adems de las mencionadas, JpicEdt tiene otras utilidades que pueden


ahorrar gran trabajo a los usuarios de PStricks. Inicialmente en los
mens fragmentos/electricity y fragmentos/mechanic se encuentran macros especializados para esa rea, en el primero podemos encontrar macros como el and, or, capacitor, trancistor y voltage entre
otros. Mientras que en el segundo men, encontramos dos opciones:
Frame-oxy y shock absorber. A continuacin veremos un ejemplo de
estos macros.

2.1. JpicEdt

98
f

I
&

&

=1

R
+

Otra de la herramientas y tal vez la ms llamativa para los matemticos, es la posibilidad de graficar curvas de ecuaciones. En el men
Scrips/math se encuentran tres opciones para hacer este tipo de grficos, la primera de ellas es add curve la cual, despliega la siguiente
ventana:

sta permite incluir una o ms curvas en R2 . JpicEdt no usa el comando \psplot para graficar las curvas, el programa usa la misma
ecuacin para encontrar los puntos que la componen y luego crear una
curva bezier que emule la curva original. Como podemos apreciar en
la ventana aparece la opcin step, la cual, permite ajustar el incremento en el eje x para obtener los puntos necesarios al crear la curva,

2. Herramientas para grficos con PSTricks

99

si ponemos este parmetro muy grande la curva se vera defectuosa, si


el incremento es muy pequeo la curva se ver ms fina pero ser ms
pesada para el computador.
Tomemos la grfica de las funciones f y g.
f (x) = sin(x)

g(x) = cos(x)

La funcin f la graficaremos con la herramienta de JpicEdt y g la


graficaremos usando PSTricks puro.
Con JpicEdt tenemos
y
sin(x)

0,8
0,6
0,4
0,2
0,0
0,2
0,4
0,6
0,8

0,5 1,0 1,5 2,0 2,5 3,0 3,5 4,0 4,5 5,0 5,5 6,0 6,5 7,0 7,5 8,0 8,5 9,0 9,5
x

Como vemos, la curva se presenta con una excelente calidad, slo debemos incluir la ecuacin de la curva y cambiar los parmetros de colores,
tipos de lnea de la curva y oprimir el botn add this curve y listo,
la grfica se crea automticamente en la zona de trabajo, inclusive,
ubica en la parte superior derecha una etiqueta con la ecuacin y adhiere efectos de sombra.
Ahora lo haremos con PSTriks puro para la funcin g(x) = cos(x),
usaremos el comando \psplot

2.1. JpicEdt

100
g(x) = cos(x)

Como podemos ver, la grfica de f y g son muy similares en calidad,


sin embargo, la grfica de g toma mucho ms tiempo en hacerla que
la de f , pues el usuario debe hacer uso de los comandos apropiados
para adecuarla al documento, cambiar el color, los tamaos de letra,
etc. Mientras que en la grfica de f teniamos una agradable interface
tipo Windows y el tiempo en configurar y hacerla fue mnimo.
Ahora comparemos los cdigos, en este caso, PSTriks puro slo usa
7 lneas de cdigo, mientras que la hecha por JpicEdt1 usa unas 120
lneas. Veamos el cdigo en PStricks puro.
\begin{pspicture}(-1,-1)(6.5,1)
\rput(2,1){$g(x)=\cos (x)$}
\footnotesize
\psaxes[linewidth=0.02]{<->}(0,0)(-1,-1)(6.5,1)
\psplot[linewidth=0.04,linecolor=blue]{0}{6.2}
{ x 50 mul cos }
\end{pspicture}
Adems de esta herramienta, JpicEdt tiene en el mismo men, otra
muy similar a la anterior llamada plot funtion, la cual, hace el mismo proceso pero con una grfica ms sencilla y con parmetros ms
simples.

Recordemos que JpicEdt exporta en cdigo PSTricks, lo que queremos indicar


es que el cdigo hecho por el programa es ms extenso.

2. Herramientas para grficos con PSTricks

101

Como vemos, en la ventana se piden datos de la funcin en cdigo Java,


el valor de x mnimo y mximo, y por ltimo, el ancho y el alto de la
grfica. El siguiente es un ejemplo construido con dicha herramienta.

1.0

-5.0

5.0

-1.0

Adems, de grficas de curvas en coordenadas cartesianas, JpicEdt


permite crear grficos de curvas paramtricas, en el mismo men se
encuentra la opcin plot parametric, slo que en este caso se deben
introducir dos funciones en trminos de t.

Recuerde que el cdigo para las ecuaciones debe ser en Java. Tambin
se debe introducir el valor mnimo y el mximo de t, el nmero de
puntos y el ancho y alto de la grfica. El siguiente ejemplo muestra la
grfica de la curva paramtrica dada por las ecuaciones x(t) = 2t cos(t)
y y(t) = 2t sin(t), usando un ancho/alto de 50 puntos y 50 puntos de
referencia.

2.1. JpicEdt

102
4.0
2.0
-5.0

5.0

10.0

-2.0
-4.0
-6.0
-8.0

2.1.5.

Cmo pasar de JpicEdt a LATEX?

El programa es fcil de manejar, slo dibujamos con las herramientas ya expuestas, luego en el men comandos/Latex se hace clic en la
opcin Latex, la cual, toma el grfico hecho y lo convierte en cdigo
PSTricks, para luego compilarlo. Este proceso nos permite ver un previo del grfico.
Una vez acabado el trabajo de dibujado, se selecciona todo el grfico con el men Edicin/Seleccionar todo, luego Edicin/copiar.
Ahora, pasamos a nuestro editor de LATEX preferido y le decimos pegar. El cdigo quedar listo para compilarse, recuerde que se debe
tener en el prembulo del documento los paquetes correspondientes.

2.1.6.

Ejemplos en JpicEdt

En este capitulo mostraremos algunos ejemplos hechos en JpicEdt con


su correspondiente cdigo fuente generado por el programa.
Ejemplo de Simulaciones 3D

2. Herramientas para grficos con PSTricks


z

f (x, y)

(x, y)

x
Cdigo fuente:
%PSTricks content-type
%(pstricks.sty package needed)
%Add \usepackage{pstricks}
%in the preamble of your LaTeX file
%You can rescale the whole picture
%(to 80% for instance) by using the command %
\def\JPicScale{0.8}
\ifx\JPicScale\undefined\def\JPicScale{1}\fi
\psset{unit=\JPicScale mm}
\psset{linewidth=0.3,dotsep=1,hatchwidth=0.3,
hatchsep=1.5,shadowsize=1,dimen=middle}
\psset{dotsize=0.7 2.5,dotscale=1 1,fillcolor=black}
\psset{arrowsize=1
2,arrowlength=1,arrowinset=0.25,tbarsize=0.7 5,
bracketlength=0.15,rbracketlength=0.15}
\begin{pspicture}(0,0)(88.1,88.58)
\psline{<-}(31,86.58)(31,36.58)

103

104

2.1. JpicEdt

\psbezier(81,36.58)(81,36.58)(81,36.58)(81,36.58)
\psline{->}(31,36.58)(81,36.58)
\psline{->}(31,36.58)(1,6.58)
\newrgbcolor{userFillColour}{0.8 0.8 0.8}
\psccurve[linecolor=white,fillcolor=userFillColour,
fillstyle=solid,curvature=1.0 0.1 0.0]
(16,11.58)(56,11.58)(86,21.58)(36,31.58)
\newrgbcolor{userFillColour}{0 0.6 1}
\psccurve[linecolor=white,fillcolor=userFillColour,
fillstyle=solid,curvature=1.0 0.1 0.0]
(16,41.58)(56,56.58)(86,51.58)(36,61.58)
\rput(46,59.58){$f(x,y)$}
\psline[linewidth=0,linestyle=dashed,dash=1 1]
(46,56.58)(46,23.58)
\rput(46,21.58){$(x,y)$}
\psline[linewidth=0,linestyle=dashed,dash=1 1]
(18,23.58)(46,23.58)
\psline[linewidth=0,linestyle=dashed,dash=1 1]
(46,23.58)(59,36.58)
\rput{0}(46,56.08){\psellipse[fillstyle=solid]
(0,0)(1,-0.5)}
\rput{0}(46,24.08){\psellipse[fillstyle=solid]
(0,0)(1,-0.5)}
\rput(31,88.58){$z$}
\rput(84,36.58){$y$}
\rput(0,5.58){$x$}
\end{pspicture}

Una de las ventajas de JpicEdt, es la claridad del cdigo PSTricks que


genera, se presta para reformarlo fcilmente. El tamao de los grficos se puede cambiar, slo se toma el parmetro \JPicScale{1} en el
prembulo de cada grfico, si cambiamos el 1 por un 0.5 el tamao se
reducir a la mitad, por el contrario, si lo cambiamos por un 1.5 se
duplicar el tamao.
Ejemplo de grficos para fsica

2. Herramientas para grficos con PSTricks

r2

O2

O1
r1

105

%PSTricks content-type
%(pstricks.sty package needed)
%Add \usepackage{pstricks} in the
%preamble of your LaTeX file
%You can rescale the whole picture
%(to 80% for instance) by using the command
%\def\JPicScale{0.8}
\ifx\JPicScale\undefined\def\JPicScale{1}\fi
\psset{unit=\JPicScale mm}
\psset{linewidth=0.3,dotsep=1,hatchwidth=0.3,
%hatchsep=1.5,shadowsize=1,dimen=middle}
\psset{dotsize=0.7 2.5,dotscale=1 1,fillcolor=black}
\psset{arrowsize=1 2,arrowlength=1,
%arrowinset=0.25,tbarsize=0.7 5,
%bracketlength=0.15,rbracketlength=0.15}
\begin{pspicture}(0,0)(100.5,40)
\rput{0}(20,19.5){\psellipse[](0,0)(20,-19.5)}
\psline(29,37)(81,11)
\psline(31,3)(77,37)
\rput{90}(85.75,25.12){
\psellipse[](0,0)(14.88,-14.75)}
\psline[linewidth=0.1,linestyle=dashed,dash=1 1]
(86,25)(77,37)
\psdots[linewidth=0.1,linestyle=dashed,dash=1 1]
(86,25)(77,37)
\psline[linewidth=0.1,linestyle=dashed,dash=1 1]
(31,3)(20,20)
\psdots[linewidth=0.1,linestyle=dashed,dash=1 1]

2.1. JpicEdt

106
(31,3)(20,20)
\rput(20,22){$O_1$}
\rput(86,23){$O_2$}
\rput(22,11){$r_1$}
\rput(84,32){$r_2$}
\rput[l](42,32){$l_\alpha$}
\rput[l](48,13){$l_\beta$}
\end{pspicture}

Ejemplo de grficos en matemticas en 2D


y
sin(x)

0,8

sin(2x)

0,6

sin(3x)

0,4
0,2
0,0
0,2
0,4
0,6
0,8
0,5

1,0

1,5

2,0

2,5

3,0
x

3,5

4,0

4,5

5,0

5,5

%PSTricks content-type
%(pstricks.sty package needed)
%Add \usepackage{pstricks} in
%the preamble of your LaTeX file
%You can rescale the whole
%picture (to 80% for instance) by
%using the command \def\JPicScale{0.8}
\ifx\JPicScale\undefined\def\JPicScale{1}\fi
\psset{unit=\JPicScale mm}

6,0

2. Herramientas para grficos con PSTricks


\psset{linewidth=0.3,dotsep=1,hatchwidth=0.3,
hatchsep=1.5,shadowsize=1,dimen=middle}
\psset{dotsize=0.7 2.5,dotscale=1 1,fillcolor=black}
\psset{arrowsize=1 2,arrowlength=1,
arrowinset=0.25,tbarsize=0.7 5,bracketlength=0.15,
rbracketlength=0.15}
\begin{pspicture}(0,0)(144,93)
\newrgbcolor{userFillColour}{0.94 0.94 0.94}
\pspolygon[linestyle=none,fillcolor=
userFillColour,fillstyle=solid](2,9)
(122,9)
(122,89)
(2,89)(2,9)
\psline[linecolor=white,linestyle=dotted]
(11.67,9)(11.67,89)
\psline(11.67,8)(11.67,9.5)
\psline(11.67,88.5)(11.67,89)
\rput(11.67,5){$0.5$}
\psline[linecolor=white,linestyle=dotted]
(21.37,9)(21.37,89)
\psline(21.37,8)(21.37,9.5)
\psline(21.37,88.5)(21.37,89)
\rput(21.37,5){$1.0$}
\psline[linecolor=white,linestyle=dotted]
(31.06,9)(31.06,89)
\psline(31.06,8)(31.06,9.5)
\psline(31.06,88.5)(31.06,89)
\rput(31.06,5){$1.5$}
\psline[linecolor=white,linestyle=dotted]
(40.75,9)(40.75,89)
\psline(40.75,8)(40.75,9.5)
\psline(40.75,88.5)(40.75,89)
\rput(40.75,5){$2.0$}
\psline[linecolor=white,linestyle=dotted]
(50.45,9)(50.45,89)
\psline(50.45,8)(50.45,9.5)
\psline(50.45,88.5)(50.45,89)

107

108
\rput(50.45,5){$2.5$}
\psline[linecolor=white,linestyle=dotted]
(60.14,9)(60.14,89)
\psline(60.14,8)(60.14,9.5)
\psline(60.14,88.5)(60.14,89)
\rput(60.14,5){$3.0$}
\psline[linecolor=white,linestyle=dotted]
(69.83,9)(69.83,89)
\psline(69.83,8)(69.83,9.5)
\psline(69.83,88.5)(69.83,89)
\rput(69.83,5){$3.5$}
\psline[linecolor=white,linestyle=dotted]
(79.53,9)(79.53,89)
\psline(79.53,8)(79.53,9.5)
\psline(79.53,88.5)(79.53,89)
\rput(79.53,5){$4.0$}
\psline[linecolor=white,linestyle=dotted]
(89.22,9)(89.22,89)
\psline(89.22,8)(89.22,9.5)
\psline(89.22,88.5)(89.22,89)
\rput(89.22,5){$4.5$}
\psline[linecolor=white,linestyle=dotted]
(98.91,9)(98.91,89)
\psline(98.91,8)(98.91,9.5)
\psline(98.91,88.5)(98.91,89)
\rput(98.91,5){$5.0$}
\psline[linecolor=white,linestyle=dotted]
(108.6,9)(108.6,89)
\psline(108.6,8)(108.6,9.5)
\psline(108.6,88.5)(108.6,89)
\rput(108.6,5){$5.5$}
\psline[linecolor=white,linestyle=dotted]
(118.3,9)(118.3,89)
\psline(118.3,8)(118.3,9.5)
\psline(118.3,88.5)(118.3,89)
\rput(118.3,5){$6.0$}
\psline[linecolor=white,linestyle=dotted]

2.1. JpicEdt

2. Herramientas para grficos con PSTricks


(2,17)(122,17)
\psline(1,17)(2.5,17)
\psline(121.5,17)(122,17)
\rput[r](0,17){$-0.8$}
\psline[linecolor=white,linestyle=dotted]
(2,25)(122,25)
\psline(1,25)(2.5,25)
\psline(121.5,25)(122,25)
\rput[r](0,25){$-0.6$}
\psline[linecolor=white,linestyle=dotted]
(2,33)(122,33)
\psline(1,33)(2.5,33)
\psline(121.5,33)(122,33)
\rput[r](0,33){$-0.4$}
\psline[linecolor=white,linestyle=dotted]
(2,41)(122,41)
\psline(1,41)(2.5,41)
\psline(121.5,41)(122,41)
\rput[r](0,41){$-0.2$}
\psline[linecolor=white,linestyle=dotted]
(2,49)(122,49)
\psline(1,49)(2.5,49)
\psline(121.5,49)(122,49)
\rput[r](0,49){$-0.0$}
\psline[linecolor=white,linestyle=dotted]
(2,57)(122,57)
\psline(1,57)(2.5,57)
\psline(121.5,57)(122,57)
\rput[r](0,57){$0.2$}
\psline[linecolor=white,linestyle=dotted]
(2,65)(122,65)
\psline(1,65)(2.5,65)
\psline(121.5,65)(122,65)
\rput[r](0,65){$0.4$}
\psline[linecolor=white,linestyle=dotted]
(2,73)(122,73)
\psline(1,73)(2.5,73)

109

110
\psline(121.5,73)(122,73)
\rput[r](0,73){$0.6$}
\psline[linecolor=white,linestyle=dotted]
(2,81)(122,81)
\psline(1,81)(2.5,81)
\psline(121.5,81)(122,81)
\rput[r](0,81){$0.8$}
\psline(122,9)(122,89)
\psline(2,89)(122,89)
\psline{->}(2,9)(122,9)
\psline{->}(2,9)(2,89)
\rput(62,0){$x$}
\rput(62,93){$y$}
\newrgbcolor{userFillColour}{0.94 0.94 0.94}
\pspolygon[fillcolor=userFillColour,
fillstyle=solid,shadow=true](123,89)
(144,89)(144,62)
(123,62)(123,89)
\pspolygon[linestyle=none,
fillstyle=solid,shadow=true](124,83)
(124,85)(126,85)
(126,83)(124,83)
\rput[l](127.5,84){$\sin(x)$}
\pspolygon[linestyle=none,fillcolor=blue,
fillstyle=solid,shadow=true](124,75)
(124,77)(126,77)(126,75)(124,75)
\rput[l](127.5,76){$\sin(2x)$}
\pspolygon[linestyle=none,fillcolor=red,
fillstyle=solid,shadow=true](124,67)
(124,69)(126,69)
(126,67)(124,67)
\rput[l](127.5,68){$\sin(3x)$}
\psline(2,49.04)
(2.19,49.44)
*
*
*

2.1. JpicEdt

2. Herramientas para grficos con PSTricks

111

Lista de puntos para las graficas


*
*
*
(121.81,35.79)
(121.81,36.93)(122,36.93)
\end{pspicture}

2.2 LATEXDraw
Este software fue creado por Arnaud Blouin bajo licencia GNU GENERAL PUBLIC LICENSE Version 2, y Copyright (C) 1989, 1991 Free
Software Foundation, Inc. En esencia, es muy similar al JpicEdt, pero
este es ms sencillo. Para obtenerlo, podemos consultar la pgina web
http://latexdraw.sourceforge.net/. En este momento se tiene la versin 1.9.5.

Al contrario de JpicEdt, LATEXDraw genera el cdigo PSTricks en el

2.2. LATEXDraw

112

momento en que se crean los objetos. En la parte derecha del programa se visualiza el cdigo PSTricks del correspondiente dibujo, el
cual puede ser copiado y pegado en nuestro editor de LaTex preferido, el cdigo ya est listo para compilar, recuerde que se debe poner
los paquetes correspondientes. Adems, de los paquetes PSTricks se
puede incluir \usepackage{epsfig}, el cual permite usar la instruccin \scalebox{1}{...Cdigo PSTricks...} para escalar los grficos obtenidos con el cdigo.

2.2.1.

Herramientas de diseo

LATEXDraw presenta las siguientes herramientas de diseo.

Parmetros de cuadrcula: Permite


configurar la cuadrcula de dibujo.
Tambien presenta una opcin para poner
la propiedad de magnetismo.

Opacidad de limitadores: Los


limitadores son pequeos puntos de
referencia que bordea a los objetos
creados para modificarlos. Si cambiamos
la opacidad, podemos volver estos puntos
ms claros o ms oscuros.
Rehacer y deshacer: Dos herrameintas
usuales en cualquier editor grfico.
Herramienta lneas: Permiten crear
lneas rectas, la primera genera una sola
lnea, la segunda genera un polgono que
se cierra al hacer clic derecho.

2. Herramientas para grficos con PSTricks

113

Herramienta punto: Ubica un punto estndar de


LATEX donde se haga clic.
Herramienta Rectngulos: Genera rectngulos o
cuadrados segn se escoja la herramienta.
Herramienta Polgonos: Permite construir
tringulos, rombos o cualquier tipo de polgonos.
Herramienta elipse: Permiten crear elipses y
circunferencias.

Herramienta Arcos: Crea arcos abiertos, tortas y


arcos cerrados.
Herramienta Curva Bezier: Tiene dos opciones, la
primera es una curva bezier cerrada y la segunda es
abierta.
Herramienta cuadrculas y ejes: Permite
construir cuadrculas propias de PSTricks y ejes
coordenados con la herramienta \psaxes .
Herramienta trazo libre: Haciendo clic sostenido y
arrastrando el ratn, se consigue una trazo muy fino
generando los puntos correspondientes en PSTricks.
Herramienta texto: Permite incluir texto en
nuestro grfico, recuerde que el texto matemtico
debe estar entre el simbolo $.

2.2. LATEXDraw

114

2.2.2.

Configuracin de objetos

Los objetos creados con LaTexDraw se pueden editar, cambiando sus


propiedades. El objeto debe ser seleccionado con la herramienta seleccin.

Haciendo clic en el botn


se
accede a los parmetros de cada objeto, teniendo en cuenta
que cada objeto tiene diferentes
propiedades. Por ejemplo, el texto presenta una ventana distinta a
los parmetros de una elipse.

2.2.3.

Cmo pasar de LATEXDraw a LATEX?

En la parte derecha del programa aparece un cuadro de texto no editable con el cdigo PSTriks, slo se selecciona y se copia, o se va al
men Editar/copiar, luego pasamos a nuestro editor de LATEX y lo
pegamos. El cdigo generado est listo para utilizarse, en la parte superior aparece entre comentarios las libreras que deben incluirse para
compilarse correctamente.

2.2.4.

Ejemplos en LATEXDraw

Ejemplo de Simulaciones 3D

2. Herramientas para grficos con PSTricks

115

x+yz =0

x2 + y 2 = 4

x
Cdigo fuente:
% Generated with LaTeXDraw 1.9.5
% Mon Dec 10 12:00:30 COT 2007
% \usepackage[usenames,dvipsnames]{pstricks}
% \usepackage{epsfig}
% \usepackage{pst-grad} % For gradients
% \usepackage{pst-plot} % For axes
\scalebox{10} % Change this value to rescale the drawing.
{
\begin{pspicture}(0,-5.132969)(9.042812,5.132969)
\psline[linewidth=0.04cm,arrowsize=0.05291667cm 2.0,
arrowlength=1.4,arrowinset=0.4]{<-}
(3.4809375,4.6545315)(3.4209375,-1.7854687)
\psline[linewidth=0.04cm,arrowsize=0.05291667cm 2.0,
arrowlength=1.4,arrowinset=0.4]{<-}

116

2.2. LATEXDraw

(8.400937,-1.7654687)
(3.4009376,-1.7654687)
\psline[linewidth=0.04cm,arrowsize=0.05291667cm 2.0,
arrowlength=1.4,arrowinset=0.4]{<-}
(0.4009375,-4.7254686)
(3.4209375,-1.7854687)
\psbezier[linewidth=0.04](2.3409376,-2.8254688)
(3.8409376,-3.1254687)
(4.9209375,-2.6454687)(4.9409375,-1.7654687)
\psline[linewidth=0.02cm,linestyle=dashed,dash=0.16cm 0.16cm]
(4.9409375,1.2545313)
(4.9409375,-1.7854687)
\psline[linewidth=0.02cm,linestyle=dashed,
dash=0.16cm 0.16cm](2.3809376,0.19453125)
(2.3809376,-2.8454688)
\psline[linewidth=0.02cm,linestyle=dashed,
dash=0.16cm 0.16cm]
(4.0409374,1.7345313)(4.0209374,-2.7654688)
\psbezier[linewidth=0.04]
(2.3809376,0.15453126)
(3.1209376,2.6145313)
(4.9009376,1.5945313)
(4.9209375,1.2345313)
\psline[linewidth=0.02cm,linestyle=dashed,
dash=0.16cm 0.16cm](3.4409375,-1.7254688)
(2.4009376,0.17453125)
\psline[linewidth=0.02cm,linestyle=dashed,
dash=0.16cm 0.16cm](3.4609375,-1.7054688)
(4.9809375,1.1945312)
\psline[linewidth=0.02cm]
(4.9609375,1.1545312)(5.8409376,2.6945312)
\psline[linewidth=0.02cm]
(2.4009376,0.13453124)(1.1209375,1.7745312)
\psline[linewidth=0.04cm]
(1.1209375,1.7545313)(3.4409375,3.0745313)
\psline[linewidth=0.04cm]
(3.4409375,3.0345314)(5.8409376,2.6745312)

2. Herramientas para grficos con PSTricks

117

\psline[linewidth=0.04cm]
(1.1209375,1.7745312)(5.8609376,2.6745312)
\usefont{T1}{ptm}{m}{n}
\rput(4.782344,-3.1154687){$x^2+y^2=4$}
\usefont{T1}{ptm}{m}{n}
\rput(5.682344,3.2845314){$x+y-z=0$}
\usefont{T1}{ptm}{m}{n}
\rput(3.5023437,4.9445314){$z$}
\usefont{T1}{ptm}{m}{n}
\rput(0.22234374,-4.9554687){$x$}
\usefont{T1}{ptm}{m}{n}
\rput(8.732344,-1.7154688){$y$}
\end{pspicture}
}
Ejemplo de Simulaciones 2D
4
3
x=

2
1

1
1

1
cosh(t)

y = t tanh(t)
1

2
3
4

Cdigo fuente:
\scalebox{1} % Change this value to rescale the drawing.
{

118

2.2. LATEXDraw

\begin{pspicture}(0,-5.09)(10.0,5.07)
\definecolor{color23}{rgb}{0.0,0.2,1.0}
\rput(5.0,0.07){\psaxes[linewidth=0.03,
arrowsize=0.05291667cm 2.0,arrowlength=1.4,
arrowinset=0.4]{<->}(0,0)(-5,-5)(5,5)}
\psbezier[linewidth=0.04,linecolor=color23,
linestyle=dashed,dash=0.16cm 0.16cm,
arrowsize=0.05291667cm 2.0,arrowlength=1.4,
arrowinset=0.4]{<->}
(3.42,4.85)(3.64,1.17)(4.58,0.43)(9.92,0.09)
\psbezier[linewidth=0.04,linecolor=color23,
linestyle=dashed,dash=0.16cm 0.16cm
,arrowsize=0.05291667cm 2.0,arrowlength=1.4,
arrowinset=0.4]{<->}
(3.72,-5.07)(4.02,-0.45)(4.72,-0.61)(9.94,0.06427509)
\usefont{T1}{ptm}{m}{n}
\rput(7.351406,2.28){$x=\dfrac{1}{\cosh (t)}$}
\usefont{T1}{ptm}{m}{n}
\rput(6.6914062,1.66){$y=t-\tanh (t)}$}
\end{pspicture}
}

CAPTULO 3
Conceptos Generales de XY- pic
En este captulo mostraremos algunos ejemplos hechos con el paquete
XY-pic, en ellos se muestra la manera de construir grficos, teniendo
en cuenta que estn puestos sobre las componentes de una matriz.
Para contruir una grfica con XY-pic se deben tener en cuenta los siguientes aspectos:
Especificar las componentes como una matriz de entradas que
estn automticamente alineadas en filas y columnas.
Cualquier entrada puede ser conectada a cualquier otra, utilizando una variedad de estilos de flecha y rotaciones.
Las flechas pueden ser decoradas con etiquetas que estn vinculadas a un punto especfico de edicin y ampliadas en una
direccin en particular.
Esperamos que estos ejemplos sean de gran ayuda para la construccin de diagramas de flujo, diagramas conmutativos, diagramas de
dinmicas ecolgicas y epidemiolgicas.
119

1203.1. Diagramas de dinmicas ecolgicas y epidemiolgicas

3.1 Diagramas de dinmicas ecolgicas y epidemiolgicas


Ejemplo 3.1

XYZ[
G _^]\
x

f (t)x

Dinmica de crecimiento exponencial.


$$ \xymatrix{f(t)x \ar[rr] &&*+<1cm>^[o][F]{x}} $$
Ejemplo 3.2

rx 1

x
K

Dinmica de crecimiento logstico.


$$
\xymatrix{rx\left(1-\frac{x}{K}\right)
\ar[rr] &&*+<1cm>^[F]{x}}
$$
Ejemplo 3.3

a
G

y
)
x(1 K

( + )y

Dinmica de crecimiento del mosquito.

3. Conceptos Generales de XY- pic

121

\begin{displaymath}
\xymatrix{\omega a \ar[rr] &&
*+<1cm>[F-,]{x}\ar[rr]^{\phi x
(1-\frac{y}{K})}\ar[d] && *+<1cm>[F-,]{y}\ar[d]\\
&& \epsilon x && (\pi +\omega) y}
\end{displaymath}
Ejemplo 3.4

XYZ[
_^]\
x

xy

XYZ[
G _^]\
y

XYZ[
G _^]\
z

Modelo SIR sin dinmica vital.


\begin{equation*}
\xymatrix {*+<1cm>^[o][F-]{x}
\ar[r]^{\beta xy} & *+<1cm>[o][F-]
{y} \ar[r]^{\theta y} & *+<1cm>[o][F-]{z} }
\end{equation*}
Ejemplo 3.5

N
G

x1

x5
x
V 1

x2

x2

 
 x2

x1



XYZ[
XYZ[
G _^]\
x4 G _^]\
x5
h

x4

x2
x
N 4

x5

Dinmica de transmisin e incidencia de dengue.

x3

x3

1223.1. Diagramas de dinmicas ecolgicas y epidemiolgicas


\begin{displaymath}
\xymatrix {\mu N \ar[rr] && *+<1cm>[F-,]{x_{1}}
\ar[rr]^{\beta_{v}
\frac{x_{5}}{V}x_{1}} \ar[d] &&
*+<1cm>[F-,] {x_{2}} \ar[rr]^{\theta x_{2}}
\ar@{-->}@/^/[ddl] \ar[d]
&& *+<1cm>[F-,]{x_{3}} \ar[d]\\
&& \mu x_{1} && \mu x_{2} && \mu x_{3}\\
\rho \ar[rr] && *+<1cm>[o][F-]{x_{4}}
\ar@{-->}[rr]_{\beta_{h}
\frac{x_{2}}{N}x_{4}} \ar[d] &&
*+<1cm>[o][F-] {x_{5}}
\ar@{->}@/_/[uul] \ar[d] && \\
&& \epsilon x_{4} && \epsilon x_{5} && }
\end{displaymath}
Ejemplo 3.6
R

SI

Dinmica SEIRS (clera) con dos rutas de transmisin.


\begin{displaymath}
\xymatrix{\Delta \ar[r] &
*+<1cm>[F-,]{S}\ar[r]^{\beta SI}\ar[d] &
*+<1cm>[F-,]{E}\ar[d]\ar[r]^{\theta E} &
*+<1cm>[F-,]{I}\ar[d]\ar[r]^{\gamma I} &
*+<1cm>[F-,]{R}\ar[d]
\ar@{->}@/_1.5cm/[lll]^{\alpha R } \\
& \mu S & \mu E & \mu I & \mu R}
\end{displaymath}

3. Conceptos Generales de XY- pic

123

Ejemplo 3.7
R

{
G

SI

Dinmica SEIRS con una ruta de transmisin.


\begin{displaymath}
\xymatrix{\Delta \ar[r] &
*+<1cm>[F-,]{S}\ar[r]^{\beta SI}\ar[d] &
*+<1cm>[F-,]{E}\ar[d]\ar[r]^{\theta E} &
*+<1cm>[F-,]{I}\ar[d]\ar[r]^{\gamma I} &
*+<1cm>[F-,]{R}\ar[d]
\ar@{->}@/_1.5cm/[lll]^{\alpha R } \\
& \mu S & \mu E & \mu I & \mu R}
\end{displaymath}
Ejemplo 3.8

N
G

1 SI2 G

I1

I1

I2

1 I

i






 ( + )I1

 2




G

1243.1. Diagramas de dinmicas ecolgicas y epidemiolgicas


\begin{equation*}
\xymatrix {\mu N \ar[r] &
*+<1.3cm>^[o][F.]{S} \ar[r]|{\beta_1 S
I_2} \ar[d] & *+<1.3cm>[o] [F.] {I_1}
\ar[r]^{\theta_1 I}
\ar[d] & *+<1.3cm>[o][F.]{R}\ar[d] \\
& \mu S && (\mu +
\upsilon)I_{1} & \mu R \\
& \zeta I_1 \ar[rr] &
*+<1.3cm>[o][F.]{I_2} \ar[ruu]_{\theta_2}
&}
\end{equation*}
Ejemplo 3.9

N

XYZ[
_^]\
S

XYZ[
G _^]\
I

XYZ[
G _^]\
R1

n1
XYZ[
XYZ[
G _^]\
R2 G _^]\
Rn

\begin{equation*}
\xymatrix {\Delta N \ar[d] & & & &\\
*+<1cm>^[o][F]{S} \ar[r]^{\beta}
\ar[d] & *+<1cm>[o][F] {I}
\ar[r]^{\theta} \ar[d] &
*+<0.8cm>[o][F]{R_1}\ar[r]^{\psi_1}\ar[d] &
*+<0.8cm>[o][F]{R_2}
\ar@{-->}[r]^{\psi_{n-1}}\ar[d]&
*+<0.8cm>[o][F]{R_n}\ar[d]\\
\mu & \mu + \epsilon & \mu
& \mu & \mu }
\end{equation*}

3. Conceptos Generales de XY- pic

125

Ejemplo 3.10

g
j

n
v
r
r
{v

\begin{equation*}
\xymatrix {\Delta N \ar[d] & & & \\
*+<1cm>^[F-,]{S} \ar[r]^{\beta}
\ar[d] &
*+<1cm>[F-,] {E} \ar[r]^{\theta} \ar[d] &
*+<1cm>[F-,]{I}\ar[r]^{\alpha}\ar[d]&
*+<1cm>[F-,]{R}\ar@{-->}
@/_1.5cm/[lll]_{\vartheta}\ar[d]\\
\mu & \mu + \epsilon & \mu & \mu }
\end{equation*}
Ejemplo 3.11

N


h e
k
w
n
8
q

wf
n q

e h k

\begin{equation*}
\xymatrix {\Delta N \ar[d] &&&& \\
*+<1cm>[F=]{S}\ar@{-->}@/^1cm/[rrrr]^{\beta}

1263.1. Diagramas de dinmicas ecolgicas y epidemiolgicas


\ar[d] &&&&
*+<1cm>[F=]{I}
\ar@{-->}@/^1cm/[llll]_{\vartheta}
\ar[d] \\
\mu &&&& \mu + \epsilon }
\end{equation*}
Ejemplo 3.12
1 1
1
1
G1 S
1
1
1

1 1
1
G1

1
1

( + )I

\begin{equation*}
\xymatrix {\Delta N \ar[rr] &&
*+<1cm>[F--]{S}\ar[rr]|{\beta} \ar[d] &&
*+<1cm>[F--]{I}\ar[d] \\
&& \mu S && (\mu + \epsilon)I }
\end{equation*}
Ejemplo 3.13

s Q
r P

1
G x 1 1 y o1
P
Q

r
s


xy

Modelo Presa - Depredador de Lotka - Volterra


\begin{equation*}
\xymatrix {\alpha x \ar[rr] &&
*+<1cm>[o][F--]{x}\ar@{--}[rr] \ar[d] &&
*+<1cm>[o][F--]{y}\ar[d] &&

xy

3. Conceptos Generales de XY- pic

127

\theta xy \ar[ll]\\
&& \mu xy && \epsilon y && }
\end{equation*}
Ejemplo 3.14

q wIz
1
1
I M l
w q


s Q
1
G L 1
Q

s
F
8


M + XM

f XM


r vP

G1 X 1o
P
v r

1
$

X
Modelo Presa - Depredador - Parasitoide
\begin{equation*}
\xymatrix { *+<1cm>[o][F--]{M}\ar[rr]|{\lambda M}
\ar[d]&&*+<1cm>[o][F--]{L}\ar[d]
\ar@{->}@/_1cm/[ll]|{\omega L}\\
\alpha M + \beta X M && \theta L \\
fXM \ar[rr] && *+<1cm>[o][F--]{X}
\ar@{->}@/_1cm/[uull]
\ar@{-->}@/_0.8cm/[uu]
\ar[d] && \epsilon L \ar@{->}[ll] \\
&& \mu X && }
\end{equation*}
Ejemplo 3.15

1283.1. Diagramas de dinmicas ecolgicas y epidemiolgicas

N
G

1 (

mi
)x
m

y
G







XYZ[
XYZ[
G _^]\
ms G _^]\
mi

m3 (1 aI )

y
2 ( N
)ms

ms

mi

Modelo para el control del dengue


\begin{equation*}
\xymatrix {\mu N \ar[rr] && *+<1cm>[F-,]{x}
\ar[rr]^{\alpha \psi_{1}
(\frac{m_i}{m})x} \ar[d] &&
*+<1cm>[F-,] {y} \ar[rr]^{\theta y}
\ar@{-->}@/^/[ddl] \ar[d] &&
*+<1cm>[F-,]{z} \ar[d]\\
&& \mu x && \mu y && \mu z\\
\omega a \ar[rr] && *+<1cm>[o][F]{m_s}
\ar@{-->}[rr]_{\beta \psi_{2}
(\frac{y}{N})m_s} \ar[d] &&
*+<1cm>[o][F] {m_i} \ar[rr]^{\phi m
\psi_3 (1-\frac {a}{I})}
\ar@/^/[uul] \ar[d] &&
*+<1cm>[o][F]{a} \ar[d]\\
&& \epsilon m_s && \epsilon m_i
&& (\pi + \omega)a}
\end{equation*}
Ejemplo 3.16

XYZ[
G _^]\
a

( + )a

3. Conceptos Generales de XY- pic

r P
1
G x 1
P
r 

129

s Q
1
G y 1
Q

s

1 ()x

u S
G1
1
S z 
u

u1


P
g

1
P

x
v
r
q wI
P{


()m
s
3
ms 1 G 1 mi 1
I
w q
v r

ms

4 ()p

( u1 )mi

r P

r


p p

o1

3 ()l


"
@

r P
1
o1
P l 
g r

6 ()h

s Q
1
1
Q h 
s

(l + xd )l

h h

lxd

r vP
1
G xd 1
P
v r

Modelo para el control integrado del A. aegypti


\begin{equation*}
\xymatrix {\Delta N\ar[rr] &&
*+<1cm>[o][F--]{x}\ar[rr]^{\psi_1
(\cdot)x} \ar[d] && *+<1cm>[o][F--]{y}
\ar[rr]^{\theta
y}\ar@{-->}@/^/[ddll]
\ar[d] && *+<1cm>[o][F--]{z} \ar[d]\\
&& \mu x && \mu y && \mu z\\
&& *+<1cm>[o][F--]{m_s} \ar[ll]_{u_1}

G xd

3.2. Diagramas conmutativos

130

\ar@{-->}[rr]^{ \psi_3
(\cdot)m_s} \ar[d] &&
*+<1cm>[o][F--] {m_i}\ar@{->}@/_/[uull]
\ar[d] && \\
&& \epsilon m_s &&
(\epsilon - u_1)m_i &&\\
&& *+<1cm>[o][F--] {p}
\ar@{->}@/^1cm/[uu]^{\psi_4(\cdot)p}
\ar[d] &&
*+<1cm>[o][F--] {l}
\ar [ll]_{\psi_3(\cdot)l}\ar[d] &&
*+<1cm>[o][F--] {h}
\ar [ll]_{\psi_6(\cdot)h}\ar[d]\\
&&\epsilon_p p && (\epsilon_l +
\beta x_d)l &&
\epsilon_h h\\
&& \xi l x_d \ar[rr] && *+<1cm>[o][F--]
{x_d}\ar[rr]\ar@{-->}@/^1cm/[uu] &&
\omega x_d}
\end{equation*}

3.2 Diagramas conmutativos


Ejemplo 3.17

Xy

GY

X/R o

Y /Q

\begin{equation*}
\xymatrix{
X \ar[r]^f & Y \ar[d]^\psi \\
X/R \ar[u]^\varphi & Y/Q \ar[l]_{\bar{f}}}
\end{equation*}
Ejemplo 3.18

3. Conceptos Generales de XY- pic

Xy

O

O

131

GY

O

X/R ks



Y /Q

\begin{equation*}
\xymatrix{
X \ar[r]|{f} & Y \ar@{=>}[d]^\psi \\
X/R \ar@{~>}[u]^\varphi & Y/Q
\ar@{:>}[l]|{\bar{f}}}
\end{equation*}
Ejemplo 3.19

Ay o/ o/ /o G B
f

~~
~~
~
~~~ f

\begin{equation*}
\xymatrix{ A \ar@{~>}[r]^\varphi &
B \ar[ld]^{f}\\
C \ar@{.>}[u]^{\bar{f}}}
\end{equation*}
Ejemplo 3.20

A d


dd
dd
dd
9
2

\begin{equation*}
\xymatrix {A \ar [d] \ar [dr] \ar [drr] &&\\
B & C & D }
\end{equation*}

3.2. Diagramas conmutativos

132
Ejemplo 3.21

GB
dd
dd
dd
2

Ad


\begin{equation*}
\xymatrix {A \ar [d] \ar [dr] \ar [r] & B\\
D & C }
\end{equation*}
Ejemplo 3.22

\begin{equation*}
\xymatrix { a & b\\
c & d}
\end{equation*}
Ejemplo 3.23

f1

f2

\begin{equation*}
\xymatrix{ * + < 1cm > [F-]{A}
\ar [r]^{f_1} & * + < 1cm
> [F-]{B}\ar[r]^{f_2} & * + < 1cm > [F-] {C}}
\end{equation*}
Ejemplo 3.24

3. Conceptos Generales de XY- pic

xex

133

G 1 ex2 + C
2
G

\begin{equation*}
\xymatrix { xe^{x^2} \ar [r] &
* + <1cm > [F-] {\int}
\ar [r] & \frac {1}{2} e^{x^2} + C & & &}
\end{equation*}
Ejemplo 3.25

f1

f2

\begin{equation*}
\xymatrix{ \ar [r] &
* + < 1cm > [F-]{A} \ar [r]^{f_1} &
* + < 1cm> [F-]{B}\ar[r]^{f_2} &
* + < 1cm > [F-] {C}
\ar [r] &}
\end{equation*}
Ejemplo 3.26

( + )

n
ix
i=1 e

\begin{equation*}
\xymatrix{ \ar [r] &
* + < 3cm > [F-]{(\zeta + \vartheta
)\sum_{i=1}^n e^{ix}} \ar [r] &}
\end{equation*}

3.2. Diagramas conmutativos

134
Ejemplo 3.27

XYZ[
_^]\
A

1 1
1
1
G1 C
1
1
1

7654
G 0123
B

\begin{equation*}
\xymatrix {*+<1cm>[o][F]{A} \ar [r] &
*+[o][F]{B} \ar [r] &
*+<1cm>[F--]{C}}
\end{equation*}
Ejemplo 3.28

V
ppp
p
p
pp
ppp
p
p
ppp

\begin{equation*}
\xymatrix{ \beta & \Upsilon & \rho \\
\zeta \ar[rru] & \chi}
\end{equation*}
Ejemplo 3.29

A
E

C
nU D
bB
nnn
~~
n
n
~
nn
~~
nnn
~~
nnn
F

\begin{equation*}
\xymatrix{ A & B & C & D\\
E\ar[-1,1] & F \ar [-1,2] & G}
\end{equation*}
Ejemplo 3.30

3. Conceptos Generales de XY- pic

135

aB

C
i

aF

GG

\begin{equation*}
\xymatrix{ A\ar@ /^/[rrdd] &&
B\ar@/^/[rrdd] && C \\
E\ar@/_/[urr] && F \ar [rr] && G \\
H\ar@/_/[urr] && T\ar@/_/[rruu] && K }
\end{equation*}
Ejemplo 3.31

B
QB
QB

\begin{displaymath}
\begin{cases}
\xymatrix{A\ar@/^/[rr]^(0.2){\bullet}
\xymatrix{A\ar@/^/[rr]^(0.4){\bullet}
\xymatrix{A\ar@/_/[rr]^(0.6){\bullet}
\xymatrix{A\ar@/_/[rr]^(0.8){\bullet}
\end{cases}
\end{displaymath}
Ejemplo 3.32

&&
&&
&&
&&

B} \\
B} \\
B} \\
B }

3.2. Diagramas conmutativos

136

%
XYZ[
_^]\
X

X
Y

X
Y
Z
W

X
Y
Z

\\begin{equation*}
\xymatrix{*{\bullet} \ar@/^/[dr]!U|1
\ar@/^/[drr]!U|2
\ar@/^/[drrr]!U|3
\ar@/^/[drrrr]!U|4\\
&*+<1cm>[o][F]\txt{X} &*+[F]\txt {X\\ Y}
&*+[F-]\txt{X\\ Y\\ Z }
&*+[F.]\txt{X\\ Y\\ Z\\ W}}
\end{equation*}
Ejemplo 3.33

`abc
gfed
xn n

\begin{equation*}
\xymatrix {*+<1cm>[o][F]{x_{n_{n}}}}
\end{equation*}
Ejemplo 3.34

3. Conceptos Generales de XY- pic

137

\begin{equation*}
\xymatrix{*+<2cm>[F.]{A} \ar [r] &
*+<2cm>[F=]{B} \ar [r] &
*+<2cm>[F-,]{C} }
\end{equation*}
Ejemplo 3.35

y
G

\begin{equation*}
\xymatrix @=1cm {*+<1cm>[F-,]{x}
\ar[r]^{\psi_1} &
*+<1cm>[F-,] {y} \ar[r]^{\psi_2} &
*+<1cm>[F-,]{z}}
\end{equation*}
Ejemplo 3.36
f

XYZ[
_^]\
A

E _^]\
XYZ[

y

XYZ[
_^]\
D
m

XYZ[
_^]\
C

\begin{equation*}
\xymatrix{ *+<1cm>[o][F]{A}
\ar @ /^/[r]^f &
*+<1cm>[o][F]{B} \ar [d]\\
*+<1cm>[o][F]{D} \ar [u] &
*+<1cm>[o][F]{C} \ar @ /^/[l]^g}
\end{equation*}
Ejemplo 3.37

3.2. Diagramas conmutativos

138

1 1
1

1
1

1
1

1
1
1
1
1
1
1
1

z
xy
1
1

ee

x1,2,...,n
1
1
1

1+

1+ 1+x
x
1+ x1

1
1
1
1

1
1
1
1
1
1
1
1
1

\begin{equation*}
\xymatrix {*+<5cm>[F--]{\begin{cases}
x^{y^z}\quad,\quad e^{e^x}\\
x^{1,2,\ldots,n}\quad , \quad
1+ \frac {1+\frac {1+x}{x}}{1+\frac
{1}{x}}\end{cases}}}
\end{equation*}
Ejemplo 3.38

G o

3
G y
1

y1
1

3
1 G

1
1

G

1o

G o

3
1

 3
y G

1
1

G o

1
1

\begin{equation*}
\xymatrix{\ar[r]^1 & \ar[d]^1 &
\ar[l]_1 \ar[r]^1 & \ar[d]^1 &
\ar[l]_1 \\
\ar[u]^1 \ar[d]_1 & \ar@{<--}[l]_{-3}

3. Conceptos Generales de XY- pic


\ar[r]^1 & \ar@{-->}[u]^{-3}
\ar@{-->}[d]^{-3} & \ar@{->}[l]_1
\ar@{-->}[r]^{-3} & \ar[u]_1
\ar[d]^1\\
\ar[r]_1 & \ar[u]^1 \ar[r]_1 &
\ar[r]_1 & \ar[u]^1 & \ar[l]^1}
\end{equation*}
Ejemplo 3.39

p T xxxx
xxx
ppp
p
p
xxx
p
p
p
p
xxx
x pp
p
8
Y
X xxx
q
q
xxx
q
q
q
xxx
qq
qqq g
f xxxx
q
q
8 xq

\begin{equation*}
\xymatrix{&& T \ar[rrd] \ar[lld] && \\
X \ar[rrd]_f && &&
Y \ar[lld]^g \\ && Z &&}
\end{equation*}

139

140

3.2. Diagramas conmutativos

BIBLIOGRAFA

[1] Abell, Martha L., and Braselton, James P. Maple V by example,


Academic Press (1999).
[2] Bautista, T., Oetiker T., Partl H., Hyna I. and Schlegl E. Una descripcin de LATEX. Manual del Centro de Microelectrnica Aplicada de la Universidad de las Palmas de G. C. (1998).
[3] file://D:/Mis Documentos /NeoZero Apuntes sobre LaTEX.htm
[4] Grtzer G. Math into LATEX - An intrduction to LATEX y
AMS - LATEX, Birkhuser Boston (1996).
[5] Kristoffer H. Rose. The XY- pic home
URL:http://www.ens-lyon.fr/Xy - pic.html

page,

(1994)

[6] Lamport L. LATEX, Addison - Wesley Publishing Company (1994).


[7] Rolf Niepraschk. The eso - pic package,(2002).
[8] Rotman J. J. An introduction to algebraic topology. Springer Verlag (1988).
[9] Ves de E., Benavent X., Gutierrez J. LATEX Avanzado - Uso de
paquetes especiales, Departamento de matemtica Universidad de
Valencia, Espaa (2006).
141

142

BIBLIOGRAFA

[10] http://www.lobachevsky.com/nikolai1.jpg
[11] DE CASTRO, Rodrigo. El Universo LATEX, Panamericana de formas impresas, 2003.
[12] ROSE, Kristofer. XY-pic Users Guide, Users Guide Version 3.7,
February 16, 1999.
[13] VAN ZANDT, Timothy. PSTricks: PostScript macros for Generic
TEX, Users Guide, 1993.
[14] VAN ZANDT, Timothy. PSTricks - PostScript macros for Generic TEX. http://www.tug.org/application/PSTricks, 1993.
[15] VO, Herbert. Die mathematischen Funktionen von PostScript.
Die TEXnische Komodie, 2002.
[16] VO, Herbert. Three dimensional plots with pst-3dplot, 2002.
[17] VO, Herbert. pstricks-add: additionals Macros for pstricks, 2006.

Diseo Grfico en LATEX


Grficos Matemticos de Alta Calidad

ISBN: 978-958-44-2285-9
Armenia Quindo Colombia 2007
Derechos Reservados

También podría gustarte