Download - Diseno Gráfico en LaTeX

Transcript
Page 1: Diseno Gráfico en LaTeX

x y

z

αϕ1(·)

µN

βϕ2(·)x y

ǫx− u1 ǫy − u1

S I Rλϕ3(·)

λrϕ4(·)

xr

yr

θ

βrϕ5(·)

ǫry

rǫrx

r

fαψ1(·)m+ αrψ1(·)mr

µS µI µR

Diseño Gráfico en LATEX

Gráficos Matemáticos de Alta Calidad

Efraín Alberto Hoyos Salcedo

Aníbal Muñoz Loaiza

Jorge Mario García Usuga

Page 2: Diseno Gráfico en LaTeX

Diseño gráfico en LATEX

Jorge Mario García Usuga

14 de diciembre de 2007

Page 3: Diseno Gráfico en LaTeX

J. M. García, A. Muñoz L. E. A. Hoyos

Diseño Gráfico en LATEXGráficos Matemáticos de Alta Calidad

No está permitida la reproducción total o parcial de esta obra porcualquier medio o método sin autorización escrita de los autores.

Derechos Reservados©Armenia Quindío Colombia 2007

ISBN: 978-958-44-2285-9

Page 4: Diseno Gráfico en LaTeX

PREFACIO

Para muchos usuarios de LATEX , se hace imprescindible la inclusiónde material gráfico dentro de sus documentos matemáticos. General-mente, el tema es algo desagradable para las personas que están dandosus primeros pasos en LATEX , pues se deben tener archivos separadosdel documento fuente para su posterior compilación. Hasta hace al-gunos años se empezaron a implementar paquetes con la capacidadde hacer gráficos matemáticos y no matemáticos dentro de nuestrosdocumentos TEX , esto se logró con paquetes como PSTricks y XY-picentre otros, los cuales permitieron crear gráficos a partir de códigostipo TeX.

Gráficos matemáticos como los ejes coordenados, diagramas de flujo,diagramas conmutativos, gráfico de curvas en R2 y R3 entre otros, seincluían en LATEX , haciéndolos en otros programas y luego exportán-dolos a un formato compatible como ps o bmp. Esto producía unaincompatibilidad entre los tipos de letra usados por el software parahacer las graficas y las fuentes usadas por LaTeX. Paquetes comoPSTricks yXY-pic presentan una forma muy “matemática"para realizareste tipo de dibujos y producir artículos, libros y demás producciónescrita, con gráficos de excelente calidad. Como ejemplo del poder dedichos paquetes, se presenta la portada de este libro, la cual se hizoenteramente con PSTricks y XY-pic.

3

Page 5: Diseno Gráfico en LaTeX

4

El libro está dividido en tres capítulos. El primero hace una extensarevisión del paquete PSTricks, incluyendo ejemplos con su respectivocódigo fuente. El segundo muestra dos herramientas muy útiles paraaquellas personas que no gustan de la programación en LATEX y elúltimo capítulo, es una recopilación de ejemplos hechos con XY-pic,orientados a la construcción de diagramas de dinámicas ecológicas yepidemiológicas. El libro está dirigido a usuarios avanzados de LATEX ,pues, en los ejemplos se usan macros e instrucciones que se asume elusuario ya debe conocer. Si el lector no tiene conocimiento de dichasinstrucciones refiérase a los documentos [11],[12],[9] y [6].

Esperamos que este material sirva de apoyo a docentes, alumnos yTEX-nócratas que gusten de gráficos matemáticos de alta calidad ensus documentos.

Page 6: Diseno Gráfico en LaTeX

ÍNDICE GENERAL

1. Gráficos con PSTricks 91.1. El entorno . . . . . . . . . . . . . . . . . . . . . . . . . 101.2. Puntos . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.3. Líneas y polígonos . . . . . . . . . . . . . . . . . . . . 15

1.3.1. Rectas simples . . . . . . . . . . . . . . . . . . 151.3.1.1. Flechas . . . . . . . . . . . . . . . . . 16

1.3.2. Rectas con el comando qline . . . . . . . . . . 161.3.3. Polígonos . . . . . . . . . . . . . . . . . . . . . 171.3.4. Frames con \psframes . . . . . . . . . . . . . . 18

1.4. Círculos, elipses y arcos . . . . . . . . . . . . . . . . . 181.4.1. Círculos . . . . . . . . . . . . . . . . . . . . . . 181.4.2. Sección de círculo . . . . . . . . . . . . . . . . . 191.4.3. Elipses . . . . . . . . . . . . . . . . . . . . . . . 191.4.4. Arcos . . . . . . . . . . . . . . . . . . . . . . . 20

1.5. Curvas . . . . . . . . . . . . . . . . . . . . . . . . . . . 211.5.1. Los comandos pscurve, psecurve y psccurve 22

1.6. Manejo de Colores . . . . . . . . . . . . . . . . . . . . 241.6.1. Creación de nuevos colores . . . . . . . . . . . . 241.6.2. Texturas . . . . . . . . . . . . . . . . . . . . . . 281.6.3. Degradados . . . . . . . . . . . . . . . . . . . . 30

1.7. Manejo de objetos . . . . . . . . . . . . . . . . . . . . 32

5

Page 7: Diseno Gráfico en LaTeX

6 ÍNDICE GENERAL

1.7.1. El comando \rput . . . . . . . . . . . . . . . 331.7.2. Resortes . . . . . . . . . . . . . . . . . . . . . . 341.7.3. Ejes coordenados . . . . . . . . . . . . . . . . . 371.7.4. Grillas . . . . . . . . . . . . . . . . . . . . . . . 40

1.8. Manejo de texto . . . . . . . . . . . . . . . . . . . . . 421.8.1. El comando \uput . . . . . . . . . . . . . . . . 421.8.2. Texto en recuadros . . . . . . . . . . . . . . . . 43

1.8.2.1. Sombras . . . . . . . . . . . . . . . . . 441.8.3. Texto sobre curvas . . . . . . . . . . . . . . . . 441.8.4. Texto con efectos especiales . . . . . . . . . . . 46

1.9. Trazado de curvas . . . . . . . . . . . . . . . . . . . . 471.9.1. Curvas a partir de su ecuación . . . . . . . . . 481.9.2. Curvas Paramétricas . . . . . . . . . . . . . . . 501.9.3. Regiones sombreadas . . . . . . . . . . . . . . . 51

1.10. Herramientas para árboles, grafos y diagramas . . . . . 541.10.1. Nodos . . . . . . . . . . . . . . . . . . . . . . . 541.10.2. Conectores . . . . . . . . . . . . . . . . . . . . 541.10.3. Etiquetas . . . . . . . . . . . . . . . . . . . . . 591.10.4. Árboles . . . . . . . . . . . . . . . . . . . . . . 61

1.10.4.1. Etiquetas para los nodos de los árboles 651.11. Manejo de objetos 3D con PSTricks . . . . . . . . . . . 66

1.11.1. El paquete pst-3dplot . . . . . . . . . . . . . 671.11.2. El eje cordenado 3D . . . . . . . . . . . . . . . 671.11.3. Ubicación de objetos con \pstThreeDPut . . . 691.11.4. Puntos . . . . . . . . . . . . . . . . . . . . . . . 691.11.5. Líneas rectas . . . . . . . . . . . . . . . . . . . 701.11.6. Triángulos . . . . . . . . . . . . . . . . . . . . . 711.11.7. Cuadros y rectángulos . . . . . . . . . . . . . . 721.11.8. Cajas . . . . . . . . . . . . . . . . . . . . . . . 731.11.9. Circunferencias y elipses . . . . . . . . . . . . . 741.11.10.Esferas . . . . . . . . . . . . . . . . . . . . . . . 761.11.11.Curvas paraméntricas en 3D . . . . . . . . . . . 771.11.12.Gráfica de funciones . . . . . . . . . . . . . . . 80

2. Herramientas para gráficos con PSTricks 872.1. JpicEdt . . . . . . . . . . . . . . . . . . . . . . . . . . 87

2.1.1. Ventanas . . . . . . . . . . . . . . . . . . . . . 89

Page 8: Diseno Gráfico en LaTeX

ÍNDICE GENERAL 7

2.1.2. Herramientas de edición . . . . . . . . . . . . . 932.1.3. Preferencias y configuración . . . . . . . . . . . 962.1.4. Otras herramientas de JpicEdt . . . . . . . . . 972.1.5. ¿Cómo pasar de JpicEdt a LATEX? . . . . . . . 1022.1.6. Ejemplos en JpicEdt . . . . . . . . . . . . . . . 102

2.2. LATEXDraw . . . . . . . . . . . . . . . . . . . . . . . . 1112.2.1. Herramientas de diseño . . . . . . . . . . . . . 1122.2.2. Configuración de objetos . . . . . . . . . . . . 1142.2.3. ¿Cómo pasar de LATEXDraw a LATEX? . . . . . 1142.2.4. Ejemplos en LATEXDraw . . . . . . . . . . . . . 114

3. Conceptos Generales de XY- pic 1193.1. Diagramas de dinámicas ecológicas y epidemiológicas . 1203.2. Diagramas conmutativos . . . . . . . . . . . . . . . . . 130

Page 9: Diseno Gráfico en LaTeX

8 ÍNDICE GENERAL

Page 10: Diseno Gráfico en LaTeX

CAPÍTULO 1

Gráficos con PSTricks

PSTricks es un paquete que esta incluido en LATEX con base en laslibrerías macros de TEX- PostScript, fue creado por Timothy VanZandt de la Universidad de Princeton en 1993. Estas librerías soncompatibles con AMS-TEX y AMS-LATEX. El paquete fue diseñadoespecíficamente para gráficos matemáticos de alta calidad, utilizandotécnicas de gráficos vectorizados, proporcionando así una calidad queotros paquetes no pueden alcanzar. Con PSTricks se pueden incluir es-tilos de líneas, objetos geométricos como rectángulos, triángulos; ejescoordenados, herramientas para gráficos de diagramas de flujo, grafos,mayas, objetos 3D, colores y efectos de texto, entre otros.

La instalación de PSTricks, es muy fácil, en la versión para WindowsMIKTEX 2.5 ya viene pre instalado y no requiere manipular archivospara su configuración; para versiones inferiores, se debe tener cuida-do con la ubicación de los archivos. PSTricks también está disponiblepara Linux, Mac y Unix.

Empezaremos por poner las librerías en el preámbulo de nuestro doc-umento

\usepackagepstricks\usepackagepst-plot

9

Page 11: Diseno Gráfico en LaTeX

10 1.1. El entorno

Paquete Función

Pst-plot Útil para gráficos que conlleven rectas,polígonos, ejes y curvas

Pst-char Permite incluir texto con efectos especialesPst-text Muy similar al anterior, pero este permite

poner texto a lo largo de curvasPst-tree Útil para la contrucción de árbolesPst-coil Zig-zags y resortes en electrónicaPst-node Ideal para grafos y diagramas de flujo

Cuadro 1.1: Módulos de PSTricks

Sin embargo, es bueno que para trabajar con todas las opciones, hayque usar un paquete que los una a todos, este se incluye de la siguientemanera:

\usepackagepst-all

PSTrick también incluye paquetes como pst-node especial para grafos,el cuadro 1.1 muestra los diferentes módulos y su uso:

1.1 El entorno

Para incluir una gráfica con PSTricks en nuestro documento, debemosinvocar el entorno pspicture con la siguiente secuencia de instruc-ciones:

\beginpspicture(x,y)(x’,y’)\rput(0,0)hola

\endpspicture

Los parámetros x, y y x′, y′ son las esquinas opuestas de un rectánguloimaginario. Nuestra gráfica se puede salir de dicho rectángulo, perousando \beginpspicture*(x,y)(x’,y’) se recorta todo lo que so-bre salga del rectángulo delimitado. El anterior código nos devolverael siguiente resultado

Page 12: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 11

hola

Nada del otro mundo, sin embargo, podemos disponer de una mallaque nos guíe en la ubicación de nuestros objetos en PSTricks, paraesto creamos un nuevo objeto de la siguiente manera y lo ubicamosantes del inicio del documento: \begindocument.

\newpsobjectmallapsgridsubgriddiv=1,griddots=10,gridlabels=6pt

Esto nos permitirá crear una malla útil para la ubicación de nu-estrosobjetos

\beginpspicture(-2,-2)(2,2) \malla\rput(0,0)hola

\endpspicture

El resultado es el siguiente:

-2 -1 0 1 2-2

-1

0

1

2

hola

Page 13: Diseno Gráfico en LaTeX

12 1.2. Puntos

El comando \rput se usa para ubicar objetos en el espacio delimitado,más adelante estudiaremos la versatilidad de este comando. Por ahora,observemos que aparece una malla numerada alrededor de nuestragráfica, podemos ubicar ahora otros objetos con la ayuda de dichacuadrícula. Ubicaremos la palabra “mundo” en la posición (1,−1)

-2 -1 0 1 2-2

-1

0

1

2

hola

mundo

\beginpspicture(-2,-2)(2,2)

\malla

\rput(0,0)hola

\rput(1,-1)mundo

\endpspicture

Si deseo que la malla sea más fina o por el contrario con la cuadric-ula más grande, podemos cambiar dicho parámetro con la instruc-ción \pssetunit=1, sólo debemos cambiar el valor de 1 por el quenecesitemos y ubicar esta instrucción antes del \beginpspicture.\pssetunit=1 permite confugurar nuestro gráfico. se ubica antesdel \beginpspicture y se pueden predeterminar algunas opcionescomo el color, la escala, el grosor de las líneas, etc.

-2 -1 0 1 2-2

-1

0

1

2

hola

mundo

\pssetunit=0.6\beginpspicture(-2,-2)(2,2)

\malla\rput(0,0)hola\rput(1,-1)mundo

\endpspicture

1.2 Puntos

PSTricks permite la inclusión de puntos con el siguiente comando

\psdots[par](x1,y1)(x2,y2)(xn,yn)

El siguiente ejemplo colocaremos 9 puntos con estilos diferentes:

Page 14: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 13

0 1 2 3 4 5 6 7 8 90

1

b + ut u rs r qp q |

\pssetunit=1.2, dotsize=5pt 0\beginpspicture(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)

\endpspicture

En el cuadro 1.2 ilustraremos los diferentes estilos de puntos mostra-dos en el ejemplo anterior. Además de estos estilos de puntos podemosadicionar algunas otras opciones.

dotsize=dimCon esta opción podemos cambiar el tamaño del punto, por defectoes 2pt

dotscale=num1 num2Con ella podemos escalar el tamaño de un punto, con el primer númeroel tamaño horizontal y con el segundo el tamaño vertical. Por defectoes 1

dotangle=angleLos puntos son rotados por el ángulo determinado por el parámetroangle, por omisión es cero.

En muchas ocasiones es importante ubicar puntos en nuestras gráficas,el siguiente ejemplo muestra la utilidad de estas opciones:

Page 15: Diseno Gráfico en LaTeX

14 1.2. Puntos

Estilo Ejemplo

*b b

+ + +

| | |

triangleut ut

triangle*u u

squarers rs

square*r r

pentagonqp qp

pentagon*q q

Cuadro 1.2: Estilos de Puntos en PSTricks

\pssetunit=0.5\beginpspicture(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)\endpspicture

b

0 1 2 3 40

1

2

3

4

b

ut q

Page 16: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 15

1.3 Líneas y polígonos

Las líneas y los polígonos son una de las herramientas más versatilesen PSTricks. Con los puntos y las rectas se pueden crear una granvariedad de figuras y formas muy comunes en matemáticas como: ejescoordenados, digramas lineales, árboles, etc. A continuación presenta-mos su configuración básica.

1.3.1. Rectas simples

\psline[par]flechas(x0,y0)(x1,y1)...(xn,yn)

Esta instruccion dibuja una linea a travéz de las coordenas establecidaspor los puntos (x0, y0)(x1, y1) . . . (xn, yn)

La instrucción \psline tiene los siguientes parametros:

linearc=dimPor omisión es 0pt y hace referencia al arco con el que se dibujan lascurvas (si estamos dibujando un polígono). Dicha dimensión debe serpositiva.

linewidth=nCon esta opción podemos cambiar el ancho de la línea, se puede ini-cializar en cero. Por defecto es 0.8pt

linestyle=La opción permite cambiar la forma como se pinta la línea, esta puedeser solid que es la opción por defecto, dashed ofrece una línea a tro-zos y dotted una línea punteada.

dash= n bPermite cambiar el patrón de negro o blanco en la línea a trozos poromisión son 5pt y 3pt. Si queremos una línea igualemte espaciadapodemos cambiar la opción a 5pt 5pt para obtener el efecto deseado.

dotsep= nAl igual que en dash, dotsep permite cambiar el patrón de separación

Page 17: Diseno Gráfico en LaTeX

16 1.3. Líneas y polígonos

de los puntos en las líneas punteadas. Por omisión es 3pt

linecolor= colorPermite cambiar el color de la línea, por omisión es black, en la sec-ción 1.6 mostraremos otros colores posibles con PSTricks.

doubleline= nPermite trazar una línea doble o sencilla, por defecto es false, es decirsencilla, si la queremos doble cambiamos n por true.

Veamos el siguiente ejemplo:

0 1 2 3 40

1

2

3

\pssetunit=2.4\beginpspicture(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)\endpspicture

1.3.1.1. Flechas

Las opciones de flechas se pueden implementar para construir ejes co-ordenados o diagramas de flujo, árboles, etc, para este propósito cam-biamos el párametro entre las llaves , a continuación en el cuadro1.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 parámetros degrosor, estilos o flechas, veamos el siguiente ejemplo:

Page 18: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 17

Parámetro Ejemplo Parámetro Ejemplo

-> <-><- ->>

>>-<< <<->>|<- ->|>- -<|- -|

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

Cuadro 1.3: Estilos de flechas para rectas en PSTricks

0 1 2 30

1

\pssetunit=2.4

\beginpspicture(0,0)(1,2)\malla\qline(0,0)(3,1)\endpspicture

1.3.3. Polígonos

Este comando es muy similar a psline, y dibuja un polígono cerradoque 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:

0 1 20

1

2

\pssetunit=2.4\beginpspicture(0,0)(2,2)\malla\pspolygon[linearc=.2](0,1)(1,0)(2,1)(1,2)\endpspicture

Page 19: Diseno Gráfico en LaTeX

18 1.4. Círculos, elipses y arcos

1.3.4. Frames con \psframes

Esta instrucción dibuja un rectángulo entre las esquinas opuestas (x0, y0)y (x1, y1)

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

0 1 20

1

2

\pssetunit=2.4\beginpspicture(0,0)(2,2)\malla\psframe(0.5,0.5)(1.5,1.5)\endpspicture

1.4 Círculos, elipses y arcos

1.4.1. Círculos

Para dibujar círculos, elipses y arcos, PSTricks implementa el siguientecomando

\pscircle[par](x0,y0)r

La instrucción simplemente dibuja una circunferencia con centro en(x0, y0) y radio r

Por ejemplo:

0 1 2 30

1

2

3

\pssetunit=1.5

\beginpspicture(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

\endpspicture

Page 20: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 19

Los parámetros son los mismos que podemos encontar para dibujarrectas. En el ejemplo anterior podemos ver el manejo de estas opciones.

1.4.2. Sección de círculo

PSTricks implemeta la instrucción \pswedge para dibujar secciones decírculos, muy usados en estadística y geometría:

\pswedge[par](x0,y0)rang1ang2

La instrucción requiere un punto como centro (x0, y0), y con el radior dibujará una sección de círculo entre los ángulos arg1 y arg2.

0 1 2 30

1

2

3

\pssetunit=2.8

\beginpspicture(0,0)(3,3)

\malla

\pswedge[linewidth=2pt]

1070

\pswedge[linewidth=2pt]

2070

\pswedge[linewidth=2pt]

(3,3)2180270

1.4.3. Elipses

Al igual que con el círculo 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 :

0 1 2 3 40

1

2

3

\pssetunit=2.2

\beginpspicture(0,0)(4,3)\malla

\psellipse[linestyle=dashed]

(2,1)(2,1)

\psellipse(2,1.5)(1,1.5)

Page 21: Diseno Gráfico en LaTeX

20 1.4. Círculos, elipses y arcos

1.4.4. Arcos

Los arcos requieren de un centro (x, y) que se tomará como base parala circunferencia imaginária con la cual trazaremos el arco, un radio rque es la distancia entre el centro y el arco, y dos ángulos angA, angBque al igual que en la sección de círculos sirve para denotar el inicio yel fin del arco.

\psarc[par]flechas(x,y)rangAangB

La funcion psarc utiliza los siguientes parámetros extra:

showpoints=Se usa para mostar una línea punteada del centro de la circunferenciaimaginária a los extremos del arco, por omisión es false .

arcsepA= y arcsepB=Estos parámetros que por defecto son 0pt, se usa para que parte delarco tambien quede dibujado con lineas punteadas, comenzando porangA o por angB, dependiendo de la functón que usemos.

arcsep=Con esta opción podemos hacer lo mismo que con las opciones arcsepAy arcsepB pero simultáneamente por ambos extremos del arco.

Ejemplo:

0 1 2 3 40

1

2

3

\pssetunit=2.2

\beginpspicture(0,0)(4,3)

\malla

\psarc[showpoints=true,

arcsepA=2](0.2,0.2)1.5090

\psarc[showpoints=true,

arcsepB=2](3.8,0.2)1.590180

\psarc[showpoints=true,

arcsep=1](2,3)1.5190350

Para hacer arcos con flechas se une la instrucción \psarcn con la sigu-

Page 22: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 21

iente notación:

\psarcn[par]flecha(x,y)rangAangB

El arco es dibujado en sentido horario, y tiene una opción flechacon la cual podemos dibujar flechas como se indica en el cuadro 1.3.

Ejemplo:

0 1 2 3 40

1

2

3

\pssetunit=2.2\beginpspicture(0,0)(4,3)\malla\psarco-o(0.2,0.2)1.5090\psarc<->(3.8,0.2)1.590180\psarc[arcsep=1]>>-<<(2,3)1.5190350\endpspicture

1.5 Curvas

Para dibujar curvas, PSTricks utiliza algorítmos de interpolación depuntos, una de las más simples nos permite hacer una curva entre cu-atro puntos; veamos la instrucción psbezier.

\psbezier[par]flechas(x0,y0)(x1,y1)(x2,y2)(x3,y3)

Como podemos observar utiliza los mismos parámetros que las ante-riores 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 línearecta entre el primer punto y el segundo, luego la curva termina enel punto (x3, y3) pero tangente a una línea imaginaria entre el terceroy cuarto punto. Al igual que con la instrucción \psarc esta tambiéntiene la opción showpoints para ver las líneas imaginarias, veamos unejemplo:

Page 23: Diseno Gráfico en LaTeX

22 1.5. Curvas

0 1 2 3 40

1

2

3

b

b

b

\pssetunit=2.2\beginpspicture(0,0)(4,3)\malla\psbezier[showpoints=true]->(0,0)(1,3)(3,0)(4,3)

La intrucción \parabola presenta la siguiente sintaxis:

\parabola[par]flechas(x0,y0)(x1,y1)

Dibuja una parábola que comienza en el punto (x0, y0) y tiene comomáximo o mínimo el punto (x1, y1) dependiendo si el ultimo puntoesta por encima o por debajo del primer punto.

Ejemplo:

0 1 2 3 40

1

2

3

\pssetunit=2.2\beginpspicture(0,0)(4,3)\malla\parabola<->(0,0)(2,3)\parabola>-o(1,3)(2,0)\endpspicture

1.5.1. Los comandos pscurve, psecurve y psccurve

El comando psbezier y parabola sólo pueden dibujar curvas simplescon no más de 4 puntos determinados; con estas nuevas instruccionespodemos dibujar curvas mucho más elaboradas y definidas, con la can-tidad de puntos que necesitemos, sin embargo, es necesario tener en

Page 24: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 23

cuenta las siguientes opciones:

curvature= n m p

Por defecto este parámetro es de 1 0.1 0, y se utiliza para modificarla forma de la curva, el primer valor hace la curva más firme. El se-gundo parámetro hace que la curva se “apriete” si el ángulo formadopor los puntos es mayor a 45 grados, la curva es más suelta. El tercerparámetro es similar al segundo, pero afecta la abertura de la curvahaciendola más o menos abierta en los vértices. Sin embargo es buenodejar los valores predeterminados por PSTricks.

La instrucción pscurve genera una curva abierta con los mismos parámet-ros estudiados anteriormente. La opción showpoints muestra los puntosde interpolación.

0 1 2 3 40

1

2

3

b

b b

\pssetunit=2.2\beginpspicture(0,0)(4,3)\malla\pscurve[showpoints=true]<->(0,0)(1,2)(2,3)(3,3)(4,2)\endpspicture

psecurve es muy similar al anterior, pero la curva no pasan por elprimer y último punto, el algoritmo trata de unir los extremos lo mejorposible, el siguiente ejemplo es igual al anterior pero usando psecurve.

0 1 2 3 40

1

2

3 b

\pssetunit=2.2\beginpspicture(0,0)(4,3)\malla\psecurve[showpoints=true]<->(0,0)(1,2)(2,3)(3,3)(4,2)\endpspicture

Page 25: Diseno Gráfico en LaTeX

24 1.6. Manejo de Colores

Por último tenemos psccurve la cual es similar a pscurve pero éstagenera una curva cerrada uniendo el primer y último punto:

0 1 2 3 40

1

2

3

b

b

b

b

\pssetunit=2.2\beginpspicture(0,0)(4,3)\malla\psccurve[showpoints=true]<->(0,0)(1,2)(2,3)(3,3)(4,2)\endpspicture

1.6 Manejo de Colores

En PStricks se puede trabajar con los siguientes colores:

red green blue

cyan magenta yellowPSTricks también maneja colores en escala de grises:

Negro (black), gris oscuro (darkgray), gris (gray), gris claro (lightgray),y blanco (white)

1.6.1. Creación de nuevos colores

Además de estos colores podemos definir nuevos con las siguientes in-strucciones: newgray y newrgbcolor

Page 26: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 25

\newgraycolorn

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, donde0 es negro y blanco es 1.

\newrgbcolorcolorr g b

Esta instrucción se usa para generar nuevos coleres con el formatoRGB (red, green y azul), color será el nombre de nuestro nuevo colory r,g,b son números entre 0 y 1.

newhsbcolor

\newhsbcolorcolorh s b

La anterior instrucción se usa para generar nuevos colores con el for-mato HSB (hue, saturation, brightness), color será el nombre denuestro nuevo color y h,s,b son números entre 0 y 1.

newcmykcolor

\newcmykcolorcolorc m y k

Esta instrucción se usa para generar nuevos colores con el formatoCMYK (Cian, magenta, yellow, black), colorserá el nombre de nue-stro nuevo color y c,m,y,k son números entre 0 y 1.

Ejemplo:

Page 27: Diseno Gráfico en LaTeX

26 1.6. Manejo de Colores

0 1 2 3 4 5 6 7 8-3

-2

-1

0

1

2

3

Favoritismo en los editores de texto

LATEX Word

Otros

\pssetunit=2.0\beginpspicture(0,-3)(8,3)\malla\newgraygirisclaro0.9\newrgbcolorelcolorlatex0.1 0.1 1.0\newhsbcolorelcolorword0.1 0.9 1.0\newcmykcolorelcolorotro0.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.8653.8271.5

\pswedge[linewidth=0.04,fillstyle=solid,fillcolor=elcolorword](3.7,-0.3)1.86347.254.3

\pswedge[linewidth=0.04,fillstyle=solid,fillcolor=elcolorotro](3.7,-0.3)1.86268.6347.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\endpspicture

Para usuarios avanzados de PostScript, no es recomendado usar col-

Page 28: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 27

ores cmyk y HSB, pues en algunas ocasiones requiere de otros con-troladores y puede generar errores al compilar. Se recomienda hacerRGB para generar nuevos colores.

Recordemos que con el comando \psset... podemos configuraropciones de color y con el comando fillcolor podemos indicar quetodos los objetos creados de ahí en adelante sean dibujados con esecolor de relleno, la opción linecolor sirve para definir el color de laslineas de contorno. Veamos el siguiente ejemplo:

0 1 20

1

2

\pssetunit=2.0,fillcolor=yellow,linecolor=blue\beginpspicture(0,0)(2,2)\malla\psellipse(1,.5)(1,.5)\endpspicture

Podemos ver en el ejemplo anterior que la elipse, aunque está pintadade contorno azul, no se rellenó de color amarillo, así que para ello,debemos tener en cuenta los siguientes parámetros:

linewidth=nCon este determinamos el ancho de la línea de cualquier objeto (líneas,círculos, etc), por defecto es 8pt.

fillstyle=sEste comando permite definir el estilo de llenado de los objetos, estepuede ser none, el cual hace que el objeto no tenga ningún relleno. Laopción solid, permite que se pueda rellenar un objeto bien sea conun 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:

Page 29: Diseno Gráfico en LaTeX

28 1.6. Manejo de Colores

0 1 2 30

1

2

3

4

5

\pssetunit=1.0\beginpspicture(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\endpspicture

1.6.2. Texturas

Recordemos que fillstyle=s con la opción solid puede dibujar unobjeto con un relleno que puede ser un color o una textura, el cuadro1.4 muestra las opciones para rellenado con texturas

Nombre efecto

none Es el valor por defecto, no rellena el objetocon ningún color o textura

vlines líneas verticales con una inclinación de 45o

hlines líneas horizontales con una inclinación de45o

crosshatch Lineas cruzadas verticales y horizontales a45o

gradient Da al objeto una textura de degradado en-tre dos colores

Cuadro 1.4: Texturas en PSTricks

En el siguiente ejemplo se usan los mismos objetos que en el ejemploanterior, pero esta vez usaremos las texturas mencionadas, excepto elgradiente al cual dedicaremos más tiempo:

Page 30: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 29

0 1 2 30

1

2

3

4

5

\pssetunit=1.0\beginpspicture(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\endpspicture

El cuadro 1.5 muestra otras opciones que se pueden aplicar a las tex-turas, como cambiar el ángulo de inclinación, el color de las líneas, etc.

Nombre efecto

hatchsep Separación entre líneas, por defecto es 4pthatchwidth Grosor de las líneas, por defecto es 0.8pthatchcolor Color de las líneas, por defecto es negrohatchangle Inclinación de las líneas

Cuadro 1.5: Parámetros adicionales para texturas

Veamos el siguiente ejemplo:

0 1 2 30

1

2

3

\pssetunit=1.0

\beginpspicture(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\endpspicture

Page 31: Diseno Gráfico en LaTeX

30 1.6. Manejo de Colores

1.6.3. Degradados

Uno de los efectos más vistosos y usados de PSTricks es el degradado,sólo necesitamos poner fillstyle=gradient y podemos obtener unefecto de degradado lineal en dos colores:

0 1 2 30

1

2

3

\pssetunit=1.5\beginpspicture(0,0)(3,3)\malla\psframe[fillstyle=gradient](2.8,1)(0.2,3)\endpspicture

Las siguientes opciones determinan la configuración del degradado:

gradbegin=colorEs usada para escoger el color inicial del degradado, por defecto esazul oscuro.

gradend=colorEs usada para escoger el color final del degradado, por defecto es azulclaro.

gradmidpoint=nn debe ser un número entre 0 y 1, y se utiliza para escoger la posicióndel punto intermedio del degradado.

gradangle=angDenota el álgulo de rotación para el degradado medido en grados, elvalor por defecto es 0.

gradlines=nDetermina el número de líneas del degradado, el valor predeterminadoes 500, mientras más líneas más fino es el efecto del degradado.

Page 32: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 31

El siguiente ejemplo muestra el poder de los degrados para gráficosmatemáticos:

Máquinas

Nivel de α

M1 M2 M3 M4

N1

N2

N3

N4

\pssetunit=1.5\beginpspicture(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)

Page 33: Diseno Gráfico en LaTeX

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]Máquinas\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$\endpspicture

En PSTricks existe algo que se llama comandos estrella, los cuales danatributos por defecto a los objetos que vamos a dibujar, por ejemplo:

\pscircle*[linestyle=dashed](1.5,1.5)1

Como podemos ver aparece un * después de invocar el comado \pscircle,con esto le indicamos al compilador de LATEX que rellene el objetocon el color determinado por linecolor, linewidth toma el valor de0, fillstyle toma el valor de solid, linestyle el valor de none yfillcolor toma el valor determinado por linecolor. Debemos tenerespecial cuidado en configurar los valores anteriormente mencionadossi queremos usar los comandos estrella, pues, pueden producir unagráfica no deseada.

1.7 Manejo de objetos

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

Page 34: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 33

hemos creado a partir de un nuevo comando. En esta sección estudi-aremos más a fondo el uso de estas herramientas:

1.7.1. El comando \rput

Ya hemos tenido algún contacto con este comando, pues lo hemos apli-cado en ejemplos anteriores. Veamos sus parámetros completos:

\rput[P]Ang(x,y)Obj

El comando ubica un objeto “obj” que puede ser un texto una tabla ouna gráfica en un punto (x, y), con el argumento P podemos cambiarla posición 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 posición(x, y). Además de [c] existen otros valores con los que podemos hacerque los objetos no aparezcan en el centro, el siguiente gráfico ilustralos demás valores:

c

tr

brbb

l r

ttl

Objeto

Caja imaginaria

Es fácil ver de donde vienen los demás valores (left, top, etc). Elparámetro ang determina el ángulo de rotación del objeto y se mide engrados sexagesimales entre -360 y 360, sin embargo, se pueden abre-viar algunos ángulos especiales, como los de 90, 180, etc, el cuadro 1.6muestra las abreviaciones:

Veamos el siguiente ejemplo:

Page 35: Diseno Gráfico en LaTeX

34 1.7. Manejo de objetos

Ángulo letra

N 0o

L 90o

D 180o

R 270o

W −90o

S −180o

E 270o

Cuadro 1.6: Ángulos espciales

Recta Tangente

Recta Secante

Diá

met

ro

\pssetunit=1.0\beginpspicture(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\rputW(2.2,-0.3)Diámetro\endpspicture

1.7.2. Resortes

Este objeto permite construir curvas en forma de resortes o zig-zags,La estructura del comando es la siguiente:

Page 36: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 35

\pscoil[par]flechas(x1,y1)(x2,y2)

El cual extiende un resorte del punto (x1, y1) hasta (x2, y2). El sigu-iente comando permite hacer el efecto de zig-zags con los mismosparametros:

\pszigzag[par]flechas(x1,y1)(x2,y2)

Para configurar la apariencia de los resortes y zig-zags se tiene las op-ciones mostradas en el cuadro 1.7.

Parámetro Efecto

coilwidth=n Amplía o reduce el ancho del resorte o zig-zag, por defecto es 1cm.

coilheight=h Con h > 0 esta opción determina elnúmero de repeticiones del zig-zag o re-sorte. Mientras más pequeño sea este valormás repeticiones se harán.

coilArmA=n Representa la longitud del brazo que estáen el punto (x1, y1) del resorte.

coilArmB=n Es la longitud del brazo que está en el pun-to (x2, y2) del resorte.

coilArm=n Provoca que coilArmB y coilArmA tenganel mismo valor.

coilaspect=ang Cambia el ángulo con que se dibujan losresortes, por defecto es 45 pero se puedemodificar 0 ≤ ang < 90, este parámetrono afecta a los zig-zags.

coilinc=ang Por defecto es 10, y determina la suavidadcon que se dibujan los resortes, no afectaa los zig-zags.

Cuadro 1.7: Parámetros de los resortes y zig-zags

Este ejemplo muestra la versatilidad de ambos comandos:

Page 37: Diseno Gráfico en LaTeX

36 1.7. Manejo de objetos

b

B1

R1

l1

l2

M1

m1

r1

\pssetunit=0.8\beginpspicture(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)

Page 38: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 37

1.7.3. Ejes coordenados

Los ejes coordenados son uno de los objetos más utilizados en la com-posición de textos matemáticos, PSTricks tiene una herramienta lla-mada psaxes, con la cual podemos dibujar casi cualquier tipo de ejecordenado, veamos la sintaxis:

psaxes[par]flechas(x0,y0)(x1,y1)(x2,y2)

Lo anterior, permite que se dibuje un eje coordenado entre el rectán-gulo con vértices opuestos (x1, y1) y (x2, y2) y el origen del sistemaestá en (x0, y0). El comando psaxes tiene los siguientes parámetros(cuadro 1.8)

Parámetro Efecto

labels= all es el valor por defecto y provoca que se ponganlas etiquetas de los ejes x y y, x/y dibuja la eti-queta para el correspondiente eje y none no dibujaninguna etiqueta.

showorigin= false/true Con esta opción podemos hacer queaparezca o no el origen de los ejes .

axesstyle= Por defecto es axes y hace que el eje se dibujecon las dos líneas rectas usuales, frame dibuja unframe o rectángulo y none no dibuja los ejes.

Ox= y Oy= Determina el número donde comienzan a numer-arse los ejes, por defecto es 0.

Dx= y Dy= Representa el incremento entre etiquetas, por de-fecto es 1.

dx= y dy= determina la distancia entre las marcas (ticks).

Cuadro 1.8: Parámetros de los ejes

Ejemplo:

Page 39: Diseno Gráfico en LaTeX

38 1.7. Manejo de objetos

0 1 2 3 4 5 6 7 8 9

1

2

3

f(x)

\pssetunit=0.8\beginpspicture(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)\endpspicture

El cuadro 1.9 muestra la forma en que se pueden configurar los ticks(líneas que acompañan a las etiquetas de los ejes).

Ejemplo:

Page 40: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 39

Parámetro Efecto

ticks= Por defecto es all y sirve para mostrar las lineasque acompañan a los números en los ejes, si quer-emos que aparesca solo los del eje x o y utilizamosla opción x/y,con none se eliminan de ambos ejes.

tickstyle= Este parámetro determina la ubicación de laslíneas que acompañan a las etiquetas de los ejes.full es el valor por defecto y hace que estas líneasse extiendan por ambos lados de los ejes, bottonhace la misma acción al lado donde estan las eti-quetas, y top lo hace al lado opuesto.

ticksize=n Determina la longitud de las marcas, por defectoes 3pt.

Cuadro 1.9: Parámetros de los ticks

-3 -2 -1 0 1 2 3 4 5 6-3

-2

-1

0

1

2

3

1 2−1−2

1

2

−1

−2

\pssetunit=1.0\beginpspicture(-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\endpspicture

Ejemplo:

Page 41: Diseno Gráfico en LaTeX

40 1.7. Manejo de objetos

0 1,5 3,0 4,5 6,0 7,5 9,00

0,51,0

1,52,02,5

3,03,54,0

4,5

\pssetunit=1.0\beginpspicture(0.5,0.5)(5,5.5)\psaxes[Dx=1.5,Dy=0.5]->(10,5)\psplot[linecolor=blue]010.5

x 180 mul 1.52 div cos 2 mul 2.5 add\psplot[linecolor=red]010.5

x 180 mul 1.52 div sin 2 mul 2.5 add\endpspicture

El la sección 1.9.1 estudiaremos la función \psplot.

1.7.4. Grillas

Las grillas o mallas son un complemento ideal para trabajar con losejes coordenados, inclusive pueden hacer las veces de éste si asi se re-quiere, su sintáxis es la siguiente:

\psgrid[par](x1,y1)(x2,y2)

La ejecución del comando anterior produce una malla en el rectán-gulo con extremos (x1, y1) y (x2, y2), si no ubicamos estas coorde-nas, \psgrid ubicara una malla en las coordenadas establecidas por\beginpspicture(x1,y1)(x2,y2) . El cuadro 1.10 muestra los difer-entes parámetros para configurarla:

Page 42: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 41

Parámetro Efecto

gridwidth= n Determina el ancho de las líneas principales dela grilla, por defecto es 0.8pt.

subgridwidth= n Igual al anterior pero con las líneas secundarias

gridcolor= color Es el color de las líneas principales, por defectoes black.

subgridcolor= color Color de las líneas secundarias, por defecto esgray.

gridlabels=n Tamaño de los números que enmarcan la grilla,por defecto es 10 pt.

gridlabelcolor = color Color de los números que enmarcan la grilla,por defecto es black.

griddots=n Las líneas principales son punteadas con n pun-tos por unidad y n > 0.

sub griddots=n Igual al anterior pero con la grilla segundaria yn > 0.

Cuadro 1.10: Parámetros de \psgrid

Ejemplo:

0 1 20

1

2

-2 -1 0 1 2

-1

0

1

2

3

\pssetunit=0.8\beginpspicture(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)

Page 43: Diseno Gráfico en LaTeX

42 1.8. Manejo de texto

\endpspicture\footnotesize\beginverbatim

1.8 Manejo de texto

El texto es una parte fundamental en la elaboración de documentosmatemáticos, PSTricks posee herramientas para la inclusión de textocientífico en nuestros libros o arctículos, ya hemos visto que lo pode-mos hacer con el comando \rput, sin embargo es posible hacer muchosotros efectos que se pueden utilizar en presentaciones o ecuaciones muyelaboradas.

1.8.1. El comando \uputCon este comando podemos ubicar etiquetas en nuestros gráficos, tienela siguiente sintáxis:

\uputs[r]ang(x,y)objeto

El parámetro s hace que la etiqueta aparezca separada del punto (x, y)una distancia determinada, por defecto es 5pt. La opción r determinael ángulo de la etiqueta.

Ejemplo:

0 1 2 3 40

1

2

3

4

3

2

112

11

10

9

8

76

5

4

\pssetunit=1.5\beginpspicture(0,0)(4,4)\malla\pscircle(2,2)2\uput2.1cm[0](2,2)$3$\uput2.1cm[30](2,2)$2$\uput2.1cm[60](2,2)$1$\uput2.1cm[90](2,2)$12$\uput2.1cm[120](2,2)$11$\uput2.1cm[150](2,2)$10$\uput2.1cm[180](2,2)$9$

Page 44: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 43

\uput2.1cm[210](2,2)$8$\uput2.1cm[240](2,2)$7$\uput2.1cm[270](2,2)$6$\uput2.1cm[300](2,2)$5$\uput2.1cm[330](2,2)$4$\pspolygon[fillstyle=solid,fillcolor=lightgray](2,2)

(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)\endpspicture

1.8.2. Texto en recuadros

Estos comandos son independientes de PSTricks, así mismo se puedenusar en otros contextos. Su tamaño depende de la cantidad de textoque se les aplique. La sintáxis es la siguiente y es igual para todas:

\psframebox[par]texto

Las opciones par son las que estudiamos en las secciones anteriores ytexto es lo que deseamos enmarcar. El ejemplo siguiente mostrará lasintaxis y el resultado obtenido:

0 1 2 3 4 5 6 70

1

2

3

4

\psframebox

\psdblframebox

\pstribox

\psdiabox

\pscirclebox

\psovalbox

\pssetunit=1.8\beginpspicture(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

Page 45: Diseno Gráfico en LaTeX

44 1.8. Manejo de texto

\rput[tl](4.5,.8)\psovalbox$\backslash$psovalbox\endpspicture

1.8.2.1. Sombras

En realidad cualquier figura cerrada de PSTricks puede generar som-bra, como los polígonos cerrados, los círculos, las cajas de texto, etc.Para ubicar este efecto sólo se usa el parámetro shadows=true/false,el cual, por defecto es false .

Otro parámetro que se usa es el shadowsize=n, el cual cambia eltamaño de la sombra y por defecto es 3pt. shadowangle=ang se usapara ubicar el ángulo de la sombra, por defecto es -45, pero se puedeusar entre -360 y 360 grados. Por último está shadowcolor=color elcual se usa para poner color a la sombra que por defecto es darkgray.

0 1 20

1

2

Λ

Π

Ω Φ

\pssetunit=1.5\beginpspicture(0,0)(2,2)\malla\rput(1,1.5)\pscirclebox[fillstyle=solid,

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$\endpspicture

1.8.3. Texto sobre curvas

Para aplicar este efecto usamos la instrucción:

\pstextpath[pos]curvatexto

Page 46: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 45

El argumento pos puede tomar los siguientes valores: l para ubicarel 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 curvade PSTricks (circunferencia, polígonos, rectas, etc), para el parámetrocurva.

Ejemplo.

0 1 2 3 40

1

2

3

4

Uni

versidad

DelQuindío

Ser

libres

para conocer

yconocer para ser

libre

s

\pssetunit=1.5\beginpspicture(0,0)(4,4)\malla\pstextpath[c]\psarcn[linestyle=none](2,2)1.7cm1800\Huge \green \bf Universidad \rput(2,2)\Huge \green \bf Del\pstextpath[c]\psarc[linestyle=none](2,2)1.7cm1800\Huge \green \bf Quindío\pstextpath[c]\psarcn[linestyle=none](2,2)3.7cm1800\Huge \blue \bfSer libres para conocer\pstextpath[c]\psarc[linestyle=none](2,2)3.7cm1800\Huge \blue \bf y conocer para ser libres

Page 47: Diseno Gráfico en LaTeX

46 1.8. Manejo de texto

\endpspicture

Ejemplo:

0 1 2 3 4 5 60

1

2

Esta es la hermosa

función sin(x)

\pssetunit=1.8cm\beginpspicture(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 función $\sin (x)$\endpspicture

1.8.4. Texto con efectos especiales

Como ya hemos visto podemos agregar color, tamaño y forma al texto,ahora con la instrucción pscharpath agregaremos efectos en el con-torno del texto:

\pscharpath[par]texto

Ejemplo:

\pscharpath[linestyle=dashed] \Huge Universidad del Quindío

\pscharpath[linestyle=none, fillstyle=gradient] \Huge Universidad del Quindío

Page 48: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 47

1.9 Trazado de curvas

En la sección 1.5.1 trazamos curvas con los comandos pscurve, pse-curve, psccurve, sin embargo, podemos tener algunas limitantes dadoque la curva resultante no necesariamente es la que debería pasar porlos puntos indicados. Para ello, PSTricks diseñó las siguientes fun-ciones especializadas en la interpolación de puntos:

Primero debemos designar la lista de puntos que vamos a dibujar, esolo hacemos con el comando:

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

Una vez guardados los puntos procedemos a dibujarlos, eso lo logramoscon el siguiente comando:

\dataplot[par]\fun

Con la opción \fun le asignamos cualquier nombre a la lista de puntos,siempre que no sea un comando LATEX. La función readdata haceel mismo efecto que savedata, pero ésta lo puede leer de un archivo.Si observamos, la gráfica no es exacta, debido a que sólo usamos 10puntos, pero si utilizamos 100, nuestro gráfica sería muy exacta peroconsumiría más recursos del sistema. Con este comando podemos car-gar los puntos desde un archivo y estos pueden ser tomados desde otroprograma como el Matematica.

Ejemplo:

Page 49: Diseno Gráfico en LaTeX

48 1.9. Trazado de curvas

0 1 2 3 4

1

2 f(x) = esin(x)

\pssetunit=1\beginpspicture(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)$\endpspicture

1.9.1. Curvas a partir de su ecuación

Para graficar una curva, lo ideal es tener los puntos a partir de laecuación, para eso PSTricks implementa la siguiente función:

\psplot[op]x1x2fun

La cual grafica una curva con el dominio (x1, x2), la función fun debeentrarse en notación sufija de PostScript, la cual mostraremos en elcuadro 1.11.

Sin embargo, es necesario tener presente que siempre se debe usar lavariable x, las funciones seno y coseno sólo aceptan grados sexages-imales. La función psplot sólo admite computos simples, por lo queno podemos graficar funciones muy complejas. Se debe tener especial

Page 50: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 49

Sintáxis Significado

x neg −xx y add x+ yx y sub x− yx y mul x.yx y div x

y

x y exp xy

x sqrt√x

x log log10 xx ln lnxx sin sinxx cos cos x

Cuadro 1.11: Principales funciones de PostScript

cuidado con las funciones que presenten asíntotas, pues generan unerror (división por cero) y debemos sacarlas del dominio.

Ejemplo:

1 2 3 4−1−2−3−4

1

2

3

4

−1

−2

−3

−4

rf(x) = sin(100x)

r f(x) = x+1x2+1

r f(x) = ex

r f(x) = 1x

\pssetunit=0.4\beginpspicture(-5,-5)(8,5)%\malla

Page 51: Diseno Gráfico en LaTeX

50 1.9. Trazado de curvas

\psaxes[linewidth=0.04,dx=0.71cm,dy=0.71cm]<->(0,0)(-5,-5)(5,5)\psplot[linewidth=0.03, plotstyle=curve,linecolor=blue]-55x 100 mul sin\psplot[linewidth=0.03, plotstyle=curve,linecolor=green]-55 x 1 add x 2 exp 1 add div\psplot[linewidth=0.03, plotstyle=curve,linecolor=magenta]-51.52.7 x exp\psplot[linewidth=0.03, plotstyle=curve,linecolor=yellow]-5-0.21 x div\psplot[linewidth=0.03, plotstyle=curve,linecolor=yellow]0.251 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)=\fracx+1x^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)=\frac1x$\endpspicture

1.9.2. Curvas Paramétricas

El comando parametricplot es muy similar psplot, sólo se requieredar un dominio y una función paramétrica.

\parametrcplot[par]t1t2x(t)y(t)

El parámetro par se usa para las opciones de línea que ya hemos us-ado, (t1, t2) es el dominio de la función y las funciones x(t), y(t) lascuales se deben escribir con la sintaxis de PostScript, una seguida dela otra sin comas ni puntos. (vea el cuadro 1.11).

Veamos los siguientes ejemplos:

Page 52: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 51

-3 -2 -1 0 1 2 3-3

-2

-1

0

1

2

3

\pssetunit=2\beginpspicture(-3,-3)(3,3)\malla\rput(1.5,1.5)\parametricplot[linewidth=0.1,plotpoints=300]03602 t mul sin t cos mul2 t mul sin t sin mul\rput(-2.5,1.5)\parametricplot[linewidth=0.1,plotpoints=300]03600.5 1.5 t cos mul add tcos mul 0.5 1.5 t cos mul add t sin mul\rput(-1.5,-2)\parametricplot[linewidth=0.1,plotpoints=300]03600.5 1.5 t cos mul add tsin mul 0.5 1.5 t cos mul add t cos mul\rput(1.5,-1.5)\parametricplot[linewidth=0.1,plotpoints=300]03601.5 t sin mul 1.5 t cos mul\endpspicture

1.9.3. Regiones sombreadas

Para implementar sombreado de regiones entre curvas, PSTricks disponede la función pscuston la cual nos permite dibujar una textura entredos curvas, que pueden ser psline, pscurve o psecurve, en realidadse puede hacer sobre cualquier tipo de curva, teniendo cuidado puesto

Page 53: Diseno Gráfico en LaTeX

52 1.9. Trazado de curvas

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

\pscuston[par]curvas \fill[op]La función rellena la región limitada por las curvas con las opcionesde llenado implementadas en fill[par].veamos un ejemplo:

0 1 2 3 4 5 60

1

2

3

4

5

\pssetunit=0.8

\beginpspicture(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)\endpspicture

Veamos un ejemplo de relleno entre dos curvas:

0 1 2 3 4 50

1

2

3

4

5

6

\pssetunit=0.6

\beginpspicture(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)\endpspicture

En el ejemplo anterior podemos observar los siguientes detalles:

Page 54: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 53

• En primer lugar, los puntos de las curvas deben seguir unasecuencia, en este caso primero se ubica la línea recta verti-cal \psline(1,0.1)(1,1.5), luego aparece la curva (que es lamás importante); \pscurve(1,1.5)(2,2.5)(3,4)(4,6), poste-riormente la otra recta vertical; \psline(4,6)(4,0.5) y por úl-timo la recta \psline(4,0.5)(0,0), que hace las veces de curvainferior, que en otros casos puede ser otra curva o el mismo ejex;

• Luego de dibujar la región sombreada, podemos redibujar lascurvas e inclusive agregarles más detalles, como por ejemplo hac-erlas más largas o asignarles etiquetas.

Ejemplo:

0 1 2 3 4−1−2−3−4

2

3

4

5

6

\pssetunit=0.6\beginpspicture(-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)\endpspicture

Page 55: Diseno Gráfico en LaTeX

54 1.10. Herramientas para árboles, grafos y diagramas

1.10 Herramientas para árboles, grafos y dia-

gramas

PSTricks ofrece una variada gama de herramientas para crear gráficostipo árboles y diagramas. Para realizar este tipo de gráficos se handividido 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 Descripción

\pnode(x,y)nom Con él ubicamos en la coordenada (x, y) unnodo y le asignamos un nombre con nom

\dotnode[op](x,y)nom Este nodo es similar al anterior, pero elnodo aparece con forma de punto y se leasigna un nombre con nom . Además quese puede agregar opciones de puntos comolas vistas en la cuadro 1.2

\cnode[op](x,y)rnom En este caso, el nodo es de forma circularcon un radio r.

\Cnode[op](x,y)nom Es similar al anterior, pero el radio seestablece de antemano con el parámetro\pssetradius=....

\rnodenomtexto En este caso se dibuja un borde rectangu-lar invisible, y se tiene la posibilidad deagregar texto, que puede ser en modo nor-mal o modo matemático. Este comando notiene el característico punto (x, y), así quedebemos usar el comando \rput para ubi-carlo.

Cuadro 1.12: Nodos de PSTricks

La tabla 1.13 muestra otros tipos de nodos similares a rnode conformas geométricas:

1.10.2. Conectores

A continuacion mostraremos los diferentes tipos de conectores con surespectivo ejemplo, tanto del nodo como de su conector:

Page 56: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 55

Nodo Descripción

\trinode[op]nomtexto Nodo en forma triangular.

\ovalnode[op]nomtexto Nodo en forma ovalada.

\dianode[op]nomtexto Nodo en forma de rombo.

\circlenode[op]nomtexto Nodo en forma circular.

Cuadro 1.13: Nodos tipo \rnode de PSTricks

Conectores \ncline.

La estructura básica de un conector es la siguiente:

\ncline[par]flechasn1n2

Con los parámetros par podemos cambiar la forma del conector (líneaspunteadas, guiones, etc), el segundo parámetro es el tipo de flechas ylos dos últimos son el nombre de los conectores, en este caso el conectorva de n1 a n2.

0 1 2 3 4 5 60

1

2

3

4

5

Pt

a1 a2

\pssetunit=0.5\beginpspicture(0,0)(6,4)\malla\rput(3,3)\circlenodeP1$P_t$\rput(1,1)\circlenodea1$a_1$\rput(5,1)\circlenodea2$a_2$\ncline->P1a1\ncline<-P1a2\ncline<->a1a2\endpspicture

Conectores \ncarc.Es similar al anterior, pero los nodos se unen por medio de arcos. Elusuario debe tener en cuenta que los arcos se construyen como unparámetro arcangle, el cual determina el ángulo entre arco y la línearecta que une los nodos, su valor por defecto es 8 grados sexagesimales.

Page 57: Diseno Gráfico en LaTeX

56 1.10. Herramientas para árboles, grafos y diagramas

0 1 2 3 4 5 60

1

2

3

4

5

Pt

a1

a2

\pssetunit=0.6

\beginpspicture(0,0)(6,5)\malla\rput(1,4)\circlenodeP1$P_t$\rput(1,1)\trinodea1$a_1$\rput(5,3)\ovalnodea2$a_2$\ncarc[arcangle=250]<->P1a1\ncarc<-P1a2\ncarc<->a1a2\endpspicture

Conectores \ncdiag.En este caso se une los nodos con un segmento diagonal, además sepueden usar las opciones \armA,\armB, con los cuales se puede cambiarla 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 suvalor por defecto es 0. Igualmente, podemos usar la opción linearcque se utiliza para vértices redondeados.

0 1 2 3 4 5 60

1

2

3

4

5

Pt

a1

a2

\pssetunit=0.6\beginpspicture(0,0)(6,5)

\malla\rput(2,4)\dianodeP1$P_t$\rput(2,1)\dianodea1$a_1$\rput(5,4)\dianodea2$a_2$\ncdiag[armA=15pt, armB=15pt,angleA=45,angleB=90]<->P1a2\ncdiag[angleA=270,angleB=270]<->a2P1\ncdiag[angleA=180,angleB=180,linearc=10pt]<->a1P1\endpspicture

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

0 1 2 3 4 5 60

1

2

3

4

5

Pt

a1

a2

\pssetunit=0.6

\beginpspicture(0,0)(6,5)\malla\rput(1,4)\dianodeP1$P_t$\rput(3,1)\dianodea1$a_1$\rput(5,4)\dianodea2$a_2$\ncdiagg[angleA=0,angleB=90]->P1a2\ncdiagg[angleA=180,angleB=180,linearc=10pt]->a1P1\endpspicture

Page 58: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 57

Conectores \nccurve.Este conector traza curvas en forma de Bézier, se debe tener cuidadoen la posición de los nodos, pues si están ubicados muy cerca, la curvaparecerá una recta.

0 1 2 3 4 5 60

1

2

3

4

5

Pt

a1

a2

\pssetunit=0.6

\beginpspicture(0,0)(6,5)\malla\rput(2,4)\dianodeP1$P_t$\rput(1,1)\trinodea1$a_1$\rput(6,3)\ovalnodea2$a_2$\nccurve[angleA=45,angleB=90]<->P1a2\nccurve[angleA=270,angleB=270]<->a2P1\nccurve[angleA=180,angleB=180]<->a1P1\endpspicture

Conectores \ncbar.Este conector tiene la particularidad de que forma ángulos rectos entrelos conectores y los nodos, si es necesario se extienden los brazos delos conectores, además el ángulo de llegada y el de salida son el mismoy se controlan con el parámetro angleA.

0 1 2 3 4 5 60

1

2

3

4

5

Pt

a1

a2

\pssetunit=0.6\beginpspicture(0,0)(6,5)\malla\rput(2,4)\dianodeP1$P_t$\rput(5,1)\trinodea1$a_1$\rput(6,3)\ovalnodea2$a_2$\ncbar[angleA=90]<->P1a2\ncbar[angleA=270]<->a2P1\ncbar[angleA=180]<->a1P1\endpspicture

Conectores \ncangle.Es similar al anterior, pero los conectores se unen por medio de ángulosrectos únicamente. Para controlar la forma, se usan los parámetrosarmA,armB,angleA,angleB y linearc.

Page 59: Diseno Gráfico en LaTeX

58 1.10. Herramientas para árboles, grafos y diagramas

0 1 2 3 4 5 60

1

2

3

4

5

Pt

a1

a2

\pssetunit=0.6\beginpspicture(0,0)(6,5)\malla

\rput(3,4)\dianodeP1$P_t$\rput(5,1)\dianodea1$a_1$\rput(1,2)\dianodea2$a_2$\ncangle[angleA=180, angleB=180]->P1a2\ncangle[angleA=270, angleB=270]<->a2a1\ncangle[angleA=0, angleB=270]<->a2P1\ncangle[angleA=90, angleB=0]<->a1P1\endpspicture

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

0 1 2 3 40

1

2

3

a1

a2

\pssetunit=0.6

\beginpspicture(0,0)(4,3)\malla\rput(1,1)\dianodea1$a_1$\rput(3,2)\dianodea2$a_2$\ncangles[angleA=180,angleB=180]->a1a2\ncangles[angleA=90,angleB=0]<->a2a1\endpspicture

Conectores \ncloop.Este conector es útil para hacer loops en grafos, se puede cambiar elparámetro loopsize que por omisión es 1cm. Para este tipo de gráficoes mejor usar nccircle.

0 1 2 3 4 5 60

1

2

3

4

5

Pt

a1

a2

\pssetunit=0.6\beginpspicture(0,0)(6,5)\malla\rput(3,4)\ovalnodeP1$P_t$\rput(5,1)\ovalnodea1$a_1$\rput(1,2)\ovalnodea2$a_2$\ncloop[angleA=0, angleB=45,loopsize=1cm,linearc=0.1]->a1a1\ncloop[angleA=90, angleB=0,linearc=0.1]->P1P1

Page 60: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 59

\nccurve[angleA=270,angleB=270]<->a2a1\nccurve[angleA=0,angleB=270]<->a2P1

\nccurve[angleA=90,angleB=0]<->a1P1\endpspicture

Conectores \nccircle.Además de la sintaxis normal de los conectores, en el caso de \nccirclese debe adicionar un parámetro más que corresponde al radio del loop.La separación entre el arco y el borde del nodo se puede determinarpor el parámetro nodesepA.

0 1 2 3 4 5 60

1

2

3

4

5

Pt

a1

a2

\pssetunit=0.6\beginpspicture(0,0)(6,5)\malla\rput(3,4)\ovalnodeP1$P_t$\rput(5,1)\ovalnodea1$a_1$

\rput(1,2)\ovalnodea2$a_2$\nccircle[angleA=200,nodesepA=0pt ]->a10.4cm\nccircle[angleA=90,nodesepA=0pt ]->a20.5cm\nccircle[angleA=10,nodesepA=0pt ]->P10.5cm\nccurve[angleA=0,angleB=180]<->a2a1\nccurve[angleA=90,angleB=270]<->a2P1\nccurve[angleA=90,angleB=270]<->a1P1\endpspicture

1.10.3. Etiquetas

Las etiquetas se le asignan a los conectores de los diagramas, debenubicarse después de construir el conector, y se asume que el conectorva de izquierda a derecha.

La tabla 1.14 muestra otros tipos de nodos similares a rnode con for-mas geométricas:

Aquí mostraremos los tipos de etiquetas y los parámetros opcionalescomo nrot . En el siguiente ejemplo ubicamos etiquetas con el parámetro\npos, que es un número entre 0 y 1 y determina donde aparece laetiqueta. El comando * provoca que la etiqueta borre los objetos queestán debajo de ella, en caso contrario, la etiqueta será transparente.

Page 61: Diseno Gráfico en LaTeX

60 1.10. Herramientas para árboles, grafos y diagramas

Etiqueta Descripción

\ncput[op]etiqueta La etiqueta va sobre la línea delconector.

\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 delconector. Se usa en conectores verti-cales.

\tlput[op]etiqueta Igual a la anterior solo que la etiquetase ubica a la izquierda del conector.

\tlput[op]etiqueta En este caso la etiqueta se ubica a laderecha del conector.

Cuadro 1.14: Etiquetas para conectores en PSTricks

0 1 2 3 4 5 60

1

2

3

4

5

Pt

a1

a2

α1

β2

γ3

\beginmulticols2

\pssetunit=0.6

\beginpspicture(0,0)(6,5)

\malla

\rput(1,2.5)\ovalnodeP1

$P_t$\rput(5,1)\ovalnodea1

$a_1$\rput(5,4)

\ovalnodea2$a_2$

\nccurve[angleA=0, angleB=0]<->

a2a1\ncput*$\alpha_1$

\nccurve[angleA=90, angleB=0]

<->a2P1

\ncput*[npos=0.5]$\beta_2$

\nccurve[angleA=270, angleB=0]

<->a1P1

\ncput*[npos=0.7]$\gamma_3$

\endpspicture

En el siguiente ejemplo se usará la etiqueta \naput y \nbput conel parámetro labelsep, la cual nos determina la separación entre elconector y la etiqueta, por defecto es 0.5pt.

0 1 2 3 4 5 60

1

2

3

4

5

Pt

a1 a2

ξλ

\pssetunit=0.6\beginpspicture(0,0)(6,5)\malla\rput(3.5,4)\dianodeP1$P_t$\rput(1,2)\dianodea1$a_1$\rput(4,2)\dianodea2$a_2$\ncbar[angleA=0, angleB=180]->P1a2

Page 62: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 61

\naput[labelsep=0.3pt]$\xi$\ncbar[angleA=90]->a1a2\nbput$\lambda$

\endpspicture

Para el siguiente caso, usaremos la etiqueta \tvput con el parámetronrot, el cual determina la rotación de la misma con un ángulo entre-360 y 360 grados sexagesimales, por defecto dicho parámetro es cero.

0 1 2 3 4 5 60

1

2

3

4

5

Pta1

a2

ξinc

orrect

o

\pssetunit=0.6\beginpspicture(0,0)(6,5)\malla\rput(5,1)\ovalnodeP1$P_t$\rput(1,1)\ovalnodea1$a_1$\rput(5,4)\ovalnodea2$a_2$\ncline->P1a2\tvput$\xi$\ncline->a1a2\naput*[nrot=35]incorrecto \endpspicture

Ahora veremos las etiquetas \tlput, \trput.

0 1 2 3 4 5 60

1

2

3

4

5

P1

a1 a2

P2ξ

ψ ϕ

\pssetunit=0.6\beginpspicture(0,0)(6,5)\malla\rput(1,4)

\dianodeP1$P_1$\rput(1,1)\ovalnodea1$a_1$\rput(5,1)\ovalnodea2$a_2$\rput(5,4)\dianodeP2$P_2$\ncline->P1P2\ncput*$\xi$\ncline->P1a1\tlput$\psi$\ncline->P2a2\trput$\varphi$\endpspicture

1.10.4. Árboles

La sintaxis de un árbol es la siguiente:

\pstree[par]raizramas

Page 63: Diseno Gráfico en LaTeX

62 1.10. Herramientas para árboles, grafos y diagramas

Para implementar un gráfico de árbol debemos tener en cuenta la ubi-cación de la raíz y las ramas, además la forma de ubicar los conectores.El cuadro 1.15 ilustrará los tipos de nodos.

Nodo Descripción

\Tp[op] Nodo invisible.

\Tdot[op] Nodo en forma de punto.

\Tf[op] Nodo en forma de cuadro.

\Tfan[op] Nono invisible conectado a su nodo prede-cesor por una figura triangular.

\Tc[op]r Nodo circular con radio r.

\TC[op] Igual al anterior pero el radio se establecepor defecto con el parámetro radius en elpsset.... Por omisión 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 prede-cesor por una línea invisible. Sólo se puedeusar en las hojas del árbol no en su raíz.

Cuadro 1.15: Nodos para los árboles en PSTricks

Para el manejo de árboles, se debe tener especial cuidado con la ubi-cacion de hojas y subarboles. Al implementarlos, nos damos cuentaque es fácil caer en erorres por la ubicacón incorrecta de los nodos.

0 1 2 3 4 5 60

1

2

3

4

5

6

h b

\pssetunit=0.6\beginpspicture(0,0)(6,6)\rput[tl](1.5,5.5)\pstree\TC\Tdia$h$\Tdot \pstree\TC\Tc1mm\Ttri

Page 64: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 63

Además de los tipos de nodos, podemos controlar la forma en quese crea el árbol, por ejemplo, si queremos que nuestro árbol sea dederecha a izquierda o de abajo hacia arriba, etc, sólo cambiamos lasopciones que se muestran en el cuadro 1.16.

Nodo Descripción

treemode= Determina la dirección del árbol,Dconstruye el árbol hacia abajo, U loconstruye hacia arriba, R y L derecha eizquierda.

edge= Determina el tipo de conector (\ncline,\ncarc,etc ) .

nodesep= Es la distancia entre el nodo y el conector,por defecto es 0pt.

levelsep= Determina la distancia entre los niveles deun árbol, por defecto es 2cm.

treesep= Me indica la distancia entre los descendi-entes de un mismo nodo, por defecto es0.75cm.

Cuadro 1.16: Parámetros para el trazado de árboles

C

R

Q

Z

N

I

\pssetunit=0.6\beginpspicture(0,0)(6,6)\rput[tl](1.5,5.5)\pstree[levelsep=1cm,arrows=->]\Tcircle$\mathbbC$ \pstree\Tcircle$\mathbbR$\pstree\Tcircle$\mathbbQ$\pstree\Tcircle$\mathbbZ$\Tcircle$\mathbbN$ \Tcircle$\mathbbI$ \endpspicture

En este caso mostraremos que una gráfica hecha con PSTricks se puedeponer en el entorno figure como si fuésemos a cargar un archivográfico. Para el caso el árbol genealógico de los hijos de Borin.1.

1J.R.R. Tolkien, Apéndices del Señor de los Anillos. Ediciones Minotauro. 2001

Page 65: Diseno Gráfico en LaTeX

64 1.10. Herramientas para árboles, grafos y diagramas

Borin Farin

Fundin I

Balin

Dawlin

Gróin

Óin

Glóin Gimli

Figura 1.1: Genealogía de los hijos de Borin

Page 66: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 65

\beginfigure[htbp]\centering \pssetunit=1.2

\beginpspicture(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 Gróin\Toval\scriptsize Óin\pstree\Toval\scriptsize Glóin\Toval\scriptsize Gimli

\endpspicture\captionGenealogía de los hijos de Borin \labelhijosborin\endfigure

1.10.4.1. Etiquetas para los nodos de los árboles

Las etiquetas de los conectores del árbol se ubican exactamente de-spués del comando de cada nodo, su sintaxis es muy simple ~etiqueta.El parámetro tnpos= posiciona la etiqueta con relación al nodo. b esabajo (por defecto es b), a arriba y r y l son derecha e izquierda. Contnsep= podemos cambiar la distancia entre el nodo y la etiqueta, pordefecto es 5pt. Las etiquetas para los conectores se colocan inmedi-atamente después del primer nodo, con el comando naput, es decir, sitenemos dos nodos A y B, se ubicará después del nodo A.

Ejemplo:2

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

Page 67: Diseno Gráfico en LaTeX

66 1.11. Manejo de objetos 3D con PSTricks

Elfos

Eldar

Calaquedi

Fueron a Amán

Vanyar

Los hermosos

Noldor

Los Sabios

Telerin

Los Elfos del mar

Avari

Moriquendi

No fueron a Amán

\pssetunit=0.6\beginpspicture(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 Amán \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 Amán\endpspicture

1.11 Manejo de objetos 3D con PSTricks

PSTricks ofrece toda una librería para dibujar objetos tridimensionalescomo esferas, planos, vectores, superficies, etc. Para el manejo de esta

Page 68: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 67

librería es necesario que el usuario esté familiarizado con los conceptosde Cálculo Multivariado, es decir, con la ubicación de puntos en elespacio, manejo de ecuaciones en R3 y otros conceptos.

1.11.1. El paquete pst-3dplot

Con este paquete, podemos usar los comandos necesarios para dibujarlos objetos 3D, además, se pueden incluir otros objetos matemáticoscomo ecuaciones y objetos 2D. Si usted no tiene este paquete, lo pudeconseguir en la siguiente direccción:

http://ctan.org/tex-archive/graphics/pstricks/contrib/pst-3dplot/

1.11.2. El eje cordenado 3D

El eje coordenado de la librería es el mismo que podemos encontraren cualquier libro de Cálculo, con el eje z perpendicular al eje y y aleje x:

x y

z

Sin embargo, para acceder a este espacio necesitamos un punto dereferencia o punto de visión, imaginemos que estamos parados juntoal eje coordenado; estando allí podemos dar la vuelta, subir y bajar

Page 69: Diseno Gráfico en LaTeX

68 1.11. Manejo de objetos 3D con PSTricks

la mirada, levantar el eje coordenado para observar los objetos desdeabajo, en fin, necesitamos mover la vista para visualizar mejor los ob-jetos que vamos a dibujar.

Para resolver el problema, PSTricks toma como punto de partida 2ángulos especiales α y β. El ángulo α representa la rotación horizontalcon valores positivos en sentido antihorario. El ángulo β controla larotación vertical u ortogonal del plano. Por defecto, los ángulos sonα = 45 y β = 45, si queremos cambiar el punto de vista del plano,cambiamos los parámetros en el psset....veamos el ejemplo:

x y

z

x

y

z

xy

z

\pssetunit=1.0\beginpspicture(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]\endpspicture

En en ejemplo anterior, podemos ver que se pueden cambiar algunosparámetros, entre ellos esta xMin, xMax, yMin, yMax, zMin, zMax, loscuales determinan los límites de los ejes con *Min le damos el límiteinferior y con *Max configuramos el límite superior. También podemoscambiar el ancho de las líneas o su forma. Debemos tener en cuen-ta donde ubicamos los parámetros Alpha y Beta, si lo hacemos en el\psset todos los objetos rotarán al unísono con el eje, si lo hacemosen los parámetros de \pstThreeDCoor, sólo los ejes rotarán, los demás

Page 70: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 69

objetos no.

1.11.3. Ubicación de objetos con \pstThreeDPut

Este comando es muy similar a rput de la versión 2D, a continuaciónla sintaxis:

\pstThreeDPut[par](x,y,z)obj

Esta orden ubica en la posición (x, y, z) el objeto obj con diferentesopciones, las cuales mostraremos en los diferentes ejemplos.

x y

z

2ξ1

ζ1

\pssetunit=1.0\beginpspicture(-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$\endpspicture

1.11.4. Puntos

Como ya es sabido, los puntos son de los objetos matemáticos másusados, PSTricks3D implementa la siguiente función:

\pstThreeDDot[par](x,y,z)

El comando ubica un punto con coordenadas (x, y, z) con las opcionesde colores que ya hemos visto, además del parámetro drawCoor que

Page 71: Diseno Gráfico en LaTeX

70 1.11. Manejo de objetos 3D con PSTricks

puede ser false\true , lo cual provoca que se dibujen las líneas par-alelas a los ejes. Veamos un ejemplo:

x

y

z

bb

b

\pssetunit=1.0, Alpha=80\beginpspicture(-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)\endpspicture

1.11.5. Líneas rectas

La sintaxis para una línea 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), lasopciones son las típicas que hemos visto en la versión 2D.

Ejemplo:

Page 72: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 71

x y

z

~v1 ~v2

~v3

\pssetunit=1.0, Alpha=45, Beta=45\beginpspicture(-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)$\vecv_1$\rput(1.5,0.5)$\vecv_2$\rput(1,2)$\vecv_3$\endpspicture

Como podemos observar, hemos usado el comando rput, en lugar dela versión 3D, si usted no conoce la ubicación de los puntos en 3D, lopuede hacer con la versión 2D sin ningún problema.

1.11.6. Triángulos

Para dibujar triángulos, PSTricks3D implementa el siguiente comando:

\pstThreeDTriangle[par](P1)(P2)(P3)

El parámetro drawCoor que puede ser false\true dibuja las rectasparalelas a los ejes, fillstyle debe estar en solid para que el trián-gulo sea llenado, de lo contrario, se dibujará transparente. El color seescoje con fillcolor . Los parámetros P1,P2,P3 son los puntos delos vértices del triángulo.

Page 73: Diseno Gráfico en LaTeX

72 1.11. Manejo de objetos 3D con PSTricks

x y

z

b

b

b

b

b

b

\pssetunit=1.0, Alpha=45, Beta=45\beginpspicture(-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)\endpspicture

1.11.7. Cuadros y rectángulos

La sintaxis es la siguiente:\pstThreeDSquare[Op](v1)(v2)(v3)

En este caso, se dibuja un cubo o paralelepípedo imaginario, luegoaparecen los vectores ~v1, ~v2 y ~v3. El primer vector determina el pun-to de origen del cuadro, los otros dos determinan el ancho y largo delcuadro. Estos vectores en realidad son los puntos finales de los vectores.

Ejemplo:

Page 74: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 73

x y

z

\pssetunit=1.0, Alpha=45, Beta=15\beginpspicture(-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)\endpspicture

1.11.8. Cajas

Una caja es un caso especial de los Cuadros de la sección anterior, lasintaxis es la siguiente:

\pstThreeDBox[par](v1)(v2)(v3)(v4)

El primer punto (punto final de un vector) es el punto de inicio denuestra caja, los demás vectores determinan el ancho, el alto y la pro-fundidad.

Ejemplo:

Page 75: Diseno Gráfico en LaTeX

74 1.11. Manejo de objetos 3D con PSTricks

x y

z

\pssetunit=1.0, Alpha=45, Beta=15\beginpspicture(-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)\endpspicture

1.11.9. Circunferencias y elipses

En el siguiente gráfico podemos observar los componentes de unaelipse:

a

b

b b

F2

F1

a a

ee

r1 r2

Ahora bien, lo que tenemos es: dos focos F1 y F2, los diámetros a y by además la exentricidad determinada por e.

(x− x0)2

a2+

(y − y0)2

b2= 1 (1.1)

Page 76: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 75

La ecuación 1.1 es la fórmula generalizada de una elipse con centroen (x0, y0), eje mayor a y eje menor b, (también llamados radios dela elipse).La exentricidad e determina que tan alargada o deforme esla elipse y debe ser 0 < e ≤ 1, si e = 1 la elipse se convierte enuna circunferencia. La información anterior es de vital importancia sinecesitamos dibujar elipses o circunferencias.

Además, de esta información, podemos cambiar algunos parámetrosde la elipse como el arco, permitiendo dibujar parte de la elipse o cir-cunferencia, esto lo logramos cambiando los parámetros que controlanel ángulo de inicio y el terminal; beginAngle que por defecto es 0 yendAngle que es 360, éstos valores indican que se dibujará toda laelipse.

Recuerde que como estamos en el espacio tridimensional, es muy comúnque veamos una circunferencia como una elipse o viceversa, es re-comendable que se ajusten los parámetros de visión (Alpha y Beta)para que ésta distorsión no cause malos entendidos.

la elipse entonces tiene la siguiente sintáxis:

\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 puntoserá el centro de nuestra elipse, en la ecuacion 1.1 serían (x0, y0). Elpunto (ux, uy, uz) y (vx, vy, vz) son los extremos de los vectores queme indicarán los valores de a y b.

Ejemplo:

Page 77: Diseno Gráfico en LaTeX

76 1.11. Manejo de objetos 3D con PSTricks

x y

z

\pssetunit=1.0, Alpha=45, Beta=25\beginpspicture(-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)\endpspicture

Observe que la última elipse en realidad son dos semicircunferencias,una verde y la otra magenta, la perspectiva provoca que se vean comoelipses.

1.11.10. Esferas

La sintaxis es la siguiente:

\pstThreeDSphere[OP](x,y,z)r

Page 78: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 77

EL comando dibuja una esfera con centro en el punto (x, y, z) y deradio r, las opciones son las antes estudiadas.

x y

z

\pssetunit=0.8, Alpha=45, Beta=25\beginpspicture(-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\endpspicture

1.11.11. Curvas paraméntricas en 3D

PSTricks implementa la siguiente función:

\parametricplotThreeD[par](t1,t2)(u1,u2)x(t,u)y(t,u) z(t,u)

Sólo es posible usar las variables u y t. Los parámetros t1, t2 son loslímites de t, u1, u2 son los límites inferior y superior de u. Recuerde quex(t, u), y(t, u) y z(t, u) se deben ingresar en la notación PostScriptcomo lo vimos en la sección 1.9.1.

Page 79: Diseno Gráfico en LaTeX

78 1.11. Manejo de objetos 3D con PSTricks

Ejemplo:

x y

z

\pssetunit=0.8, Alpha=45, Beta=25\beginpspicture(-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 mult 360 mul sin t mul t

\endpspicture

Ejemplo:

Page 80: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 79

x y

z

\pssetunit=2.6, Alpha=45, Beta=25\beginpspicture(-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 mulu sin t sin mulu cos\parametricplotThreeD[linecolor=blue,linewidth=.25pt,xPlotpoints=200,plotstyle=curve,arrows=->](0,360)(0,360)t sin u cos mult sin u sin mult cos\endpspicture

Page 81: Diseno Gráfico en LaTeX

80 1.11. Manejo de objetos 3D con PSTricks

1.11.12. Gráfica de funciones

Para graficar funciones en el espacio, PSTricks implementa la función:

\psplotThreeD[OP](x0,xt)(y0,yt)f(x,y)

La funcion, recuerden, debe estar en lenguaje PostScript , sólo seadmiten variables x y y. El comando dibuja la gráfica de la funciónf(x, y) en el dominio determinado por (x0, xt) para x y (y0, yt) para lavariable y. Además, se debe tener encuenta los siguientes parámetros(ver cuadro 1.17 ).

Opción Valor

plotstyle Puede ser dots, line, polygon, curve,ecurve, ccurve, none (valor por defecto).y determina la forma de las líneas con quese dibujá la curva.

showpoints Puede ser false/true y por omisión esfalse. Muestra los puntos.

showpoints Puede ser false/true y por omisión esfalse. Muestra los puntos.

xPlotpoints y yPlotpoints Por defecto es 25, y determina la cantidadde puntos a graficar.

hiddenLine Por defecto es false y hace que se dibujenlas líneas.

Cuadro 1.17: Opciones de la función \psplotThreeD

Ejemplo:

\pssetunit=1.5, Alpha=45, Beta=20\beginpspicture(-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

Page 82: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 81

\rput[tl](2,2)$f(x,y)=x^2 + y^2 - \fracx5$ \endpspicture

x y

z

f(x, y) = x2 + y2 − x5

Recuerde que usted tiene el control sobre el dominio de las variables xy y, no sobre la variable z, tenga presente este detalle pues su gráficapuede salir de la zona delimitada.

Ejemplo:

Page 83: Diseno Gráfico en LaTeX

82 1.11. Manejo de objetos 3D con PSTricks

x y

z

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

\pssetunit=1.5, Alpha=45, Beta=30\beginpspicture(-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) $ \endpspicture

Ejemplo:

Page 84: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 83

x y

z

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

\pssetunit=1.0, Alpha=45, Beta=30\beginpspicture(-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) $ \endpspicture

Ejemplo:

Page 85: Diseno Gráfico en LaTeX

84 1.11. Manejo de objetos 3D con PSTricks

x

y

z

f(x, y) = y2 − x2

\pssetunit=1.0, Alpha=60, Beta=30\beginpspicture(-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$ \endpspicture

Ejemplo:

Page 86: Diseno Gráfico en LaTeX

1. Gráficos con PSTricks 85

x

y

z

f(x, y) = 1 −(

x2 + y2)

1

3

\pssetunit=1.0, Alpha=60, Beta=30\beginpspicture(-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)^\frac13$ \endpspicture

Page 87: Diseno Gráfico en LaTeX

86 1.11. Manejo de objetos 3D con PSTricks

Page 88: Diseno Gráfico en LaTeX

CAPÍTULO 2

Herramientas para gráficos conPSTricks

Para muchos usuarios de PSTricks, puede ser tedioso el uso de códigosmás parecidos a un lenguaje de programación como Pascal o C++,que a un editor de gráficos matemáticos. El usuario de LATEX quiereque sus gráficos matemáticos queden con la mejor calidad, sin em-bargo, muchos de ellos no desean ni tienen tiempo de construir unagráfica matemática con base en instrucciones. Además, hay gráficosmuy sencillos (o muy complejos) que no merecen que se tome el tiem-po necesario en construirlos de la forma tradicional.

Para este tipo de usuarios, se desarrolló software como el JpicEdt©y LatexDraw©, estos programas permiten construir gráficos vector-izados y exportar su código a LATEX y PSTricks. En este capítulomostraremos cómo implementar gráficos matemáticos con estos pro-gramas.

2.1 JpicEdt

Este programa fue desarrollado por Sylvain Rainal del E.N.S.E.A de-partamento de física. Es un software libre y puede ser redistribuido

87

Page 89: Diseno Gráfico en LaTeX

88 2.1. JpicEdt

y/o modificarlo bajo los términos de la Licencia Pública General deGNU según es publicada por la Free Software Foundation. Como semencionó anteriormente, el software es un editor de gráficos vector-izados que permite exportar a código PSTricks, Emulated LATEX yEpic/Eepic.

El JpicEdt fue desarrollado en Java©, el cual debe estar instaladoen el computador previamente. La instalación es muy sencilla, sólo sehace doble clic en el archivo jpicedt-install-1_4_pre_5.jar, luego,se procede a dar los parámetros de instalación, el programa se ubi-cará en su computador automáticamente. Como JpicEdt esta hechoen Java, puede funcionar en cualquier plataforma (Windows, Linuxy Mac.). Para bajarlo y obtener más información, consulte la páginahttp://jpicedt.sourceforge.net/site/index.php?language=en.

Figura 2.1: Interfase principal de JPicEdt

Page 90: Diseno Gráfico en LaTeX

2. Herramientas para gráficos con PSTricks 89

2.1.1. Ventanas

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

En la parte superior de esta ventana, aparecen varios menús desple-gables, el primero de ellos permite cambiar la malla o cuadrícula delárea de trabajo, luego aparece un botón para activar o desactivar el“magnetismo de la malla”, es decir, la forma en como los objetos seacomodan e los vértices de la malla del área de trabajo. Luego apareceotro menú desplegable para cambiar la intensidad del magnetismo dela malla, la cual va de 10 a 0.625; ésta es muy importante para laconstrucción de nuestros gráficos matemáticos.

En la parte media de la ventana, se encuentra el área de trabajo, elcual, esta enmarcado con una malla, en la parte superior e izquierdase encuentra la regla, una utilidad para medir o referenciar nuestrosgráficos. En la parte inferior izquierda aparece una etiqueta donde seresalta la posición del mouse sobre el área de trabajo.

Luego aparece la ventana de atributos, la cual, me permite cambiarlas propiedades o atributos de los objetos que se construyan.

Page 91: Diseno Gráfico en LaTeX

90 2.1. JpicEdt

La ventana consta de ocho submenus: Lleno, Rayar, Trazo, Som-bra, Flechas, Polydots, Text y una opción llamada PSTricks.

Lleno: Con esta opción, podemosescojer el color de relleno de losobjeto cerrados, es decir, figurasplanas cerradas (círculos, elipses,polígonos). La ventana muestralas opciones de colores en paletasRGB, HSB y colores predefinidospor PSTricks.

Además, tiene un menú desplegable que permite escojer el tipo detextura o relleno para nuestros objetos, las opciones que maneja son:transparente (por defecto), solido, líneas verticales transparentes, líneasverticales con color de fondo, líneas horizontales transparentes y confondo, y dos opciones para trama en forma de ladrillo con fondo trans-parente y con color de fondo.

Como hemos visto, no debemos preocuparnos por el código en PSTrickspara la inclusión de nuevos colores, JpicEdt lo hace automaticamente,Además la ventana cuenta con una opción de color reciente, que lepermite al usuario seguir trabajando con los mismos colores.

Page 92: Diseno Gráfico en LaTeX

2. Herramientas para gráficos con PSTricks 91

Rayar: Esta opción permite cam-biar las formas de las texturas quese impusieron a los objetos en laopción de lleno. Tiene tres op-ciones, la primera, puesta en laparte superior izquierda, permitecambiar el ancho de las líneas delas texturas; si estas son muy an-chas, se puede obtener un colorsólido.

La segunda opción permite cambiar la separación entre las líneas dela textura y la última opción modifica el ángulo de inclinación de laslíneas. En la parte inferior se presenta un menú de colores similar ala pestaña anterior donde se pueden escoger colores de la forma RGB,HSB y predeterminado por PSTricks.

Trazo: En esta pestaña, encon-tramos las opciones para el en-torno de los objetos. Inicialmenteaparece un menu desplegable queme permite selecionar la forma delcontorno, puede ser invisible, nor-mal, en guiones y punteada. En laparte superior derecha aparece laopción de ancho de la línea.

Los dos comandos en la zona media, son usados para ajustar la sepa-ración entre los guiones y el ancho de los mismos. Tambien, allí aparecela opción para la líneas punteadas, con este comando se pueden cam-biar la separación de los puntos. La opción Overstrike hace que laslíneas pierdan la capacidad de ser transparentes.

Sombra: Esta opción permite aplicarle el efecto de sombra a los ob-jetos planos cerrados (polígonos, círculos, etc)

Page 93: Diseno Gráfico en LaTeX

92 2.1. JpicEdt

Sólo tiene dos parámetros, el primero modifica el ancho de la sombray el segundo el ángulo donde esta se va a proyectar.

Flechas: Permite implementar elefecto de flechas a las líneas conlas mismas opciones que aparecenen la sección 1.3.1.1. La pestañaofrece la posibilidad de cambiarel tipo de flecha al comienzo yal final de la línea, la forma y eltamaño de la misma.

Polydots: Esta pestaña permiteactivar los puntos de una curvao una línea recta, la pestaña pre-senta un menú desplegable conlos tipos de puntos dados porPSTricks. Las diferentes opcionesde esta pestaña permiten cambiar

el ángulo de los puntos, tamaño yescala.

Text: Para los efectos de texto,la pestaña ofrece la posibilidad decambiar el punto de referencia dela etiqueta con el texto,

permitiendo ponerla en la parte inferior, superior, izquierda o derecha,además, permite cambiar el ángulo de rotación del texto. La pestañatambien incluye una herramienta para enmarcar el texto en rectángu-los o círculos.

Page 94: Diseno Gráfico en LaTeX

2. Herramientas para gráficos con PSTricks 93

PSTricks: En esta pestaña pode-mos incluir opciones de PSTricksque el software no maneja, sólodebemos escribirlas en el espaciode PS custom y oprimir el botónaceptar.

2.1.2. Herramientas de edición

La ventana de “Caja de útiles”presenta las herramientas de edi-ción básicas para contruir nue-stros gráficos matemáticos. Inici-amlente, esta ventana la encon-traremos junto a las que apare-cen por omisión cuando el progra-ma arranca, si no es el caso, vayaal menú Útiles y allí encontrarálas mismas opciones. Tambien lapodemos encontrar en el menúVentanas/Caja de útiles.

Para el manejo de estas herramietas, se debe tener en cuenta que losobjetos a modificarse deben estar seleccionados. En realidad, cualquierpersona que haya tenido contacto con programas como FreeHand oCorelDraw no tendrá dificultad en manejarlo. Enseguida, mostraremosel uso de las diferentes herramientas de edición.

Page 95: Diseno Gráfico en LaTeX

94 2.1. JpicEdt

Permite hacer zoom en la gráfica que estamosconstruyendo.

Selecciona los objetos que componen la gráfica.

Permite editar los nodos que componen las curvasBezier.

Al seleccionar uno o varios obejto, podemos moverloscon este comando.

Escala los objetos seleccionados, bien sea en formavertical u horizontal.

Rota los objetos seleccionados.

Permite la inclusión de texto. Si es texto científico,recuerde ponerlo entre los comandos “$”

Permite crear líneas rectas.

Herramienta para crear rectángulos.

Herramienta para crear paralelogramos.

Permite construir curvas bezier, el fin de la curva selogra haciendo clic derecho.

Igual a la anterior, pero la curva bezier es cerrada

Page 96: Diseno Gráfico en LaTeX

2. Herramientas para gráficos con PSTricks 95

Herramienta para la creación de elipses ycircunferencias.

Comando para crear “tortas” o secciones de círculos.

Esta herramienta es similar a la anterior, pero el arcose une por una cuerda.

Tambien es similar a la anterior, pero sin la cuerda.

Esta herramieta se llama herramienta cerrada, perosu diferencia consiste en imprimir a la elipse el efectode 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, loscuales estan sobre la circunferencia.

Torta determinada por tres puntos.

Arco con cuerda determinada por tres puntos.

Arco sin cuerda determinada por tres puntos.

Page 97: Diseno Gráfico en LaTeX

96 2.1. JpicEdt

Curva poligonal abierta “Smood”

Curva poligonal cerrada “Smood”

Curva de interpolación abierta

Curva de interpolación cerrada

Edición de puntos de anclaje para ampliar odisminuir el tamaño.

2.1.3. Preferencias y configuración

JpicEdt puede ser configurado desde la ventana de preferencias, lacual, se localiza en el menú Editar/Preferencias; esta opción abreun menu con los siguientes items.

General: Esta pestaña permite configurar la apariencia de las ven-tanas, el estilo de estas, así como el idioma; que puedeser, inglés, francés, español y alemán. Tambien aparecela fuente y el formato por defecto en que se exportará elcódigo, recuerde que puede ser PSTricks, emulated LATEXy Epic/Eepic.

Apariencia: En este item aparecen cinco cajas de chequeado, paraconfigurar la forma en que apareceran las figuras dibujadasen el área de trabajo, entre ellas están: Anti-alising, Anti-alising de texto, Calidad (vs velocidad), Dither Colours yusar métrica fraccional.

Plantilla/Zoom: La opción permite configurar las opciones del tamañode la malla, así como el estilo de la malla (sólido o enpuntos). Tambien se puede configurar la imantación de lamalla y el Zoom.

Colores: Esta pestaña sólo presenta dos items, el color de fondo delescritorio del programa y el color de la malla.

Page 98: Diseno Gráfico en LaTeX

2. Herramientas para gráficos con PSTricks 97

Repertorios: Esta opción permite configurar las rutas del la carpetade archivos temporales y la carpeta de inicio de JpicEdt, lacual, es necesaria para los archivos temporales que utilizael programa.

Shortcuts: La pestaña presenta una lista con los Shortcuts de lasdiferentes opciones, menús y herramientas.

Comandos: La opción presenta campos para la configuración de lasrutas de acceso al compilador de LATEX y al programa Yap.Esto debido a que JpicEdt puede compilar el documentohecho y ver un previo de su dibujo.

Formato de página Permite configurar las márgenes de la zona detrabajo.

LATEX Opción que permite configurar algunos parámetros esen-ciales de PSTricks, además, JpicEdt crea un documentoTEX temporal, el cual puede ser configurado desde estapestaña.

Epic/Eepic y PSTrics Estas dos pestañas son muy similares a laanterior, permiten configurar el archivo temporal que secompilará, LATEX , Epic/Eepic y PSTrics tienen paquetesdiferentes y pueden ser modificados o actualizados desdeesta pestaña.

2.1.4. Otras herramientas de JpicEdt

Además de las mencionadas, JpicEdt tiene otras utilidades que puedenahorrar gran trabajo a los usuarios de PStricks. Inicialmente en losmenús fragmentos/electricity y fragmentos/mechanic se encuen-tran macros especializados para esa área, en el primero podemos en-contrar macros como el and, or, capacitor, trancistor y voltage entreotros. Mientras que en el segundo menú, encontramos dos opciones:Frame-oxy y shock absorber. A continuación veremos un ejemplo deestos macros.

Page 99: Diseno Gráfico en LaTeX

98 2.1. JpicEdt

I

&

+

≥ 1

= 1

R

O

y

x

f

&

≥ 1

Otra de la herramientas y tal vez la más llamativa para los matemáti-cos, es la posibilidad de graficar curvas de ecuaciones. En el menúScrips/math se encuentran tres opciones para hacer este tipo de grá-ficos, la primera de ellas es add curve la cual, despliega la siguienteventana:

Ésta permite incluir una o más curvas en R2. JpicEdt no usa el co-mando \psplot para graficar las curvas, el programa usa la mismaecuación para encontrar los puntos que la componen y luego crear unacurva bezier que emule la curva original. Como podemos apreciar enla ventana aparece la opción step, la cual, permite ajustar el incre-mento en el eje x para obtener los puntos necesarios al crear la curva,

Page 100: Diseno Gráfico en LaTeX

2. Herramientas para gráficos con PSTricks 99

si ponemos este parámetro muy grande la curva se vera defectuosa, siel incremento es muy pequeño la curva se verá más fina pero será máspesada para el computador.

Tomemos la gráfica de las funciones f y g.

f(x) = sin(x) y g(x) = cos(x)

La función f la graficaremos con la herramienta de JpicEdt y g lagraficaremos usando PSTricks puro.

Con JpicEdt tenemos

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

−0,8

−0,6

−0,4

−0,2

−0,0

0,2

0,4

0,6

0,8

x

y

sin(x)

Como vemos, la curva se presenta con una excelente calidad, sólo debe-mos incluir la ecuación de la curva y cambiar los parámetros de colores,tipos de línea de la curva y oprimir el botón add this curve y listo,la gráfica se crea automáticamente en la zona de trabajo, inclusive,ubica en la parte superior derecha una etiqueta con la ecuación y ad-hiere efectos de sombra.

Ahora lo haremos con PSTriks puro para la función g(x) = cos(x),usaremos el comando \psplot

Page 101: Diseno Gráfico en LaTeX

100 2.1. JpicEdt

g(x) = cos(x)

1 2 3 4 5 6

Como podemos ver, la gráfica de f y g son muy similares en calidad,sin embargo, la gráfica de g toma mucho más tiempo en hacerla quela de f , pues el usuario debe hacer uso de los comandos apropiadospara adecuarla al documento, cambiar el color, los tamaños de letra,etc. Mientras que en la gráfica de f teniamos una agradable interfacetipo Windows y el tiempo en configurar y hacerla fue mínimo.

Ahora comparemos los códigos, en este caso, PSTriks puro sólo usa7 líneas de código, mientras que la hecha por JpicEdt1 usa unas 120líneas. Veamos el código en PStricks puro.

\beginpspicture(-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]06.2 x 50 mul cos \endpspicture

Además de esta herramienta, JpicEdt tiene en el mismo menú, otramuy similar a la anterior llamada plot funtion, la cual, hace el mis-mo proceso pero con una gráfica más sencilla y con parámetros mássimples.

1Recordemos que JpicEdt exporta en código PSTricks, lo que queremos indicares que el código hecho por el programa es más extenso.

Page 102: Diseno Gráfico en LaTeX

2. Herramientas para gráficos con PSTricks 101

Como vemos, en la ventana se piden datos de la función en código Java,el valor de x mínimo y máximo, y por último, el ancho y el alto de lagráfica. El siguiente es un ejemplo construido con dicha herramienta.

5.0-5.0

1.0

-1.0

Además, de gráficas de curvas en coordenadas cartesianas, JpicEdtpermite crear gráficos de curvas paramétricas, en el mismo menú seencuentra la opción plot parametric, sólo que en este caso se debenintroducir dos funciones en términos de t.

Recuerde que el código para las ecuaciones debe ser en Java. Tambiénse debe introducir el valor mínimo y el máximo de t, el número depuntos y el ancho y alto de la gráfica. El siguiente ejemplo muestra lagráfica de la curva paramétrica 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 dereferencia.

Page 103: Diseno Gráfico en LaTeX

102 2.1. JpicEdt

5.0 10.0-5.0

2.0

4.0

-2.0

-4.0

-6.0

-8.0

2.1.5. ¿Cómo pasar de JpicEdt a LATEX?

El programa es fácil de manejar, sólo dibujamos con las herramien-tas ya expuestas, luego en el menú comandos/Latex se hace clic en laopción Latex, la cual, toma el gráfico hecho y lo convierte en códigoPSTricks, para luego compilarlo. Este proceso nos permite ver un pre-vio del gráfico.

Una vez acabado el trabajo de dibujado, se selecciona todo el gráfi-co con el menú Edición/Seleccionar todo, luego Edición/copiar.Ahora, pasamos a nuestro editor de LATEX preferido y le decimos pe-gar. El código quedará listo para compilarse, recuerde que se debetener en el preámbulo del documento los paquetes correspondientes.

2.1.6. Ejemplos en JpicEdt

En este capitulo mostraremos algunos ejemplos hechos en JpicEdt consu correspondiente código fuente generado por el programa.

Ejemplo de Simulaciones 3D

Page 104: Diseno Gráfico en LaTeX

2. Herramientas para gráficos con PSTricks 103

f(x, y)

(x, y)

z

y

x

Código fuente:

%PSTricks content-type%(pstricks.sty package needed)

%Add \usepackagepstricks%in the preamble of your LaTeX file%You can rescale the whole picture%(to 80% for instance) by using the command %

\def\JPicScale0.8\ifx\JPicScale\undefined\def\JPicScale1\fi\pssetunit=\JPicScale mm\pssetlinewidth=0.3,dotsep=1,hatchwidth=0.3,hatchsep=1.5,shadowsize=1,dimen=middle

\pssetdotsize=0.7 2.5,dotscale=1 1,fillcolor=black\pssetarrowsize=12,arrowlength=1,arrowinset=0.25,tbarsize=0.7 5,bracketlength=0.15,rbracketlength=0.15

\beginpspicture(0,0)(88.1,88.58)\psline<-(31,86.58)(31,36.58)

Page 105: Diseno Gráfico en LaTeX

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)\newrgbcoloruserFillColour0.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)

\newrgbcoloruserFillColour0 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)

\rput0(46,56.08)\psellipse[fillstyle=solid](0,0)(1,-0.5)

\rput0(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$\endpspicture

Una de las ventajas de JpicEdt, es la claridad del código PSTricks quegenera, se presta para reformarlo fácilmente. El tamaño de los gráfi-cos se puede cambiar, sólo se toma el parámetro \JPicScale1 en elpreámbulo de cada gráfico, si cambiamos el 1 por un 0.5 el tamaño sereducirá a la mitad, por el contrario, si lo cambiamos por un 1.5 seduplicará el tamaño.

Ejemplo de gráficos para física

Page 106: Diseno Gráfico en LaTeX

2. Herramientas para gráficos con PSTricks 105

b

b

b

bO1

O2

r1

r2lα

%PSTricks content-type%(pstricks.sty package needed)%Add \usepackagepstricks in the%preamble of your LaTeX file

%You can rescale the whole picture%(to 80% for instance) by using the command%\def\JPicScale0.8

\ifx\JPicScale\undefined\def\JPicScale1\fi\pssetunit=\JPicScale mm\pssetlinewidth=0.3,dotsep=1,hatchwidth=0.3,%hatchsep=1.5,shadowsize=1,dimen=middle

\pssetdotsize=0.7 2.5,dotscale=1 1,fillcolor=black\pssetarrowsize=1 2,arrowlength=1,

%arrowinset=0.25,tbarsize=0.7 5,%bracketlength=0.15,rbracketlength=0.15

\beginpspicture(0,0)(100.5,40)\rput0(20,19.5)\psellipse[](0,0)(20,-19.5)\psline(29,37)(81,11)\psline(31,3)(77,37)\rput90(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]

Page 107: Diseno Gráfico en LaTeX

106 2.1. JpicEdt

(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$\endpspicture

Ejemplo de gráficos en matemáticas en 2D

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

−0,8

−0,6

−0,4

−0,2

−0,0

0,2

0,4

0,6

0,8

x

y

sin(x)

sin(2x)

sin(3x)

%PSTricks content-type%(pstricks.sty package needed)%Add \usepackagepstricks in%the preamble of your LaTeX file%You can rescale the whole%picture (to 80% for instance) by%using the command \def\JPicScale0.8\ifx\JPicScale\undefined\def\JPicScale1\fi\pssetunit=\JPicScale mm

Page 108: Diseno Gráfico en LaTeX

2. Herramientas para gráficos con PSTricks 107

\pssetlinewidth=0.3,dotsep=1,hatchwidth=0.3,hatchsep=1.5,shadowsize=1,dimen=middle\pssetdotsize=0.7 2.5,dotscale=1 1,fillcolor=black\pssetarrowsize=1 2,arrowlength=1,arrowinset=0.25,tbarsize=0.7 5,bracketlength=0.15,rbracketlength=0.15\beginpspicture(0,0)(144,93)\newrgbcoloruserFillColour0.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)

Page 109: Diseno Gráfico en LaTeX

108 2.1. JpicEdt

\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]

Page 110: Diseno Gráfico en LaTeX

2. Herramientas para gráficos con PSTricks 109

(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)

Page 111: Diseno Gráfico en LaTeX

110 2.1. JpicEdt

\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$\newrgbcoloruserFillColour0.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)

***

Page 112: Diseno Gráfico en LaTeX

2. Herramientas para gráficos con PSTricks 111

Lista de puntos para las graficas***

(121.81,35.79)(121.81,36.93)(122,36.93)\endpspicture

2.2 LATEXDraw

Este software fue creado por Arnaud Blouin bajo licencia GNU GEN-ERAL PUBLIC LICENSE Version 2, y Copyright (C) 1989, 1991 FreeSoftware Foundation, Inc. En esencia, es muy similar al JpicEdt, peroeste es más sencillo. Para obtenerlo, podemos consultar la página webhttp://latexdraw.sourceforge.net/. En este momento se tiene la ver-sión 1.9.5.

Al contrario de JpicEdt, LATEXDraw genera el código PSTricks en el

Page 113: Diseno Gráfico en LaTeX

112 2.2. LATEXDraw

momento en que se crean los objetos. En la parte derecha del pro-grama se visualiza el código PSTricks del correspondiente dibujo, elcual puede ser copiado y pegado en nuestro editor de LaTex preferi-do, el código ya está listo para compilar, recuerde que se debe ponerlos paquetes correspondientes. Además, de los paquetes PSTricks sepuede incluir \usepackageepsfig, el cual permite usar la instruc-ción \scalebox1...Código PSTricks... para escalar los gráfi-cos obtenidos con el código.

2.2.1. Herramientas de diseño

LATEXDraw presenta las siguientes herramientas de diseño.

Parámetros de cuadrícula: Permiteconfigurar la cuadrícula de dibujo.Tambien presenta una opción para ponerla propiedad de magnetismo.

Opacidad de limitadores: Loslimitadores son pequeños puntos dereferencia que bordea a los objetoscreados para modificarlos. Si cambiamosla opacidad, podemos volver estos puntosmás claros o más oscuros.

Rehacer y deshacer: Dos herrameintasusuales en cualquier editor gráfico.

Herramienta líneas: Permiten crearlíneas rectas, la primera genera una solalínea, la segunda genera un polígono quese cierra al hacer clic derecho.

Page 114: Diseno Gráfico en LaTeX

2. Herramientas para gráficos con PSTricks 113

Herramienta punto: Ubica un punto estándar deLATEX donde se haga clic.

Herramienta Rectángulos: Genera rectángulos ocuadrados según se escoja la herramienta.

Herramienta Polígonos: Permite construirtriángulos, rombos o cualquier tipo de polígonos.

Herramienta elipse: Permiten crear elipses ycircunferencias.

Herramienta Arcos: Crea arcos abiertos, tortas yarcos cerrados.

Herramienta Curva Bezier: Tiene dos opciones, laprimera es una curva bezier cerrada y la segunda esabierta.

Herramienta cuadrículas y ejes: Permiteconstruir cuadrículas propias de PSTricks y ejescoordenados con la herramienta \psaxes .

Herramienta trazo libre: Haciendo clic sostenido yarrastrando el ratón, se consigue una trazo muy finogenerando los puntos correspondientes en PSTricks.

Herramienta texto: Permite incluir texto ennuestro gráfico, recuerde que el texto matemáticodebe estar entre el simbolo $.

Page 115: Diseno Gráfico en LaTeX

114 2.2. LATEXDraw

2.2.2. Configuración de objetos

Los objetos creados con LaTexDraw se pueden editar, cambiando suspropiedades. El objeto debe ser seleccionado con la herramienta selec-ción.

Haciendo clic en el botón seaccede a los parámetros de ca-da objeto, teniendo en cuentaque cada objeto tiene diferentespropiedades. Por ejemplo, el tex-to presenta una ventana distinta alos parámetros de una elipse.

2.2.3. ¿Cómo pasar de LATEXDraw a LATEX?

En la parte derecha del programa aparece un cuadro de texto no ed-itable con el código PSTriks, sólo se selecciona y se copia, o se va almenú Editar/copiar, luego pasamos a nuestro editor de LATEX y lopegamos. El código generado está listo para utilizarse, en la parte su-perior aparece entre comentarios las librerías que deben incluirse paracompilarse correctamente.

2.2.4. Ejemplos en LATEXDraw

Ejemplo de Simulaciones 3D

Page 116: Diseno Gráfico en LaTeX

2. Herramientas para gráficos con PSTricks 115

x2 + y2 = 4

x+ y − z = 0

z

x

y

Código fuente:

% Generated with LaTeXDraw 1.9.5% Mon Dec 10 12:00:30 COT 2007% \usepackage[usenames,dvipsnames]pstricks% \usepackageepsfig% \usepackagepst-grad % For gradients% \usepackagepst-plot % For axes\scalebox10 % Change this value to rescale the drawing.\beginpspicture(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]<-

Page 117: Diseno Gráfico en LaTeX

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)

Page 118: Diseno Gráfico en LaTeX

2. Herramientas para gráficos con PSTricks 117

\psline[linewidth=0.04cm](1.1209375,1.7745312)(5.8609376,2.6745312)\usefontT1ptmmn\rput(4.782344,-3.1154687)$x^2+y^2=4$\usefontT1ptmmn\rput(5.682344,3.2845314)$x+y-z=0$\usefontT1ptmmn\rput(3.5023437,4.9445314)$z$\usefontT1ptmmn\rput(0.22234374,-4.9554687)$x$\usefontT1ptmmn\rput(8.732344,-1.7154688)$y$\endpspicture

Ejemplo de Simulaciones 2D

1 2 3 4−1−2−3−4

1

2

3

4

−1

−2

−3

−4

x =1

cosh(t)

y = t− tanh(t)

Código fuente:

\scalebox1 % Change this value to rescale the drawing.

Page 119: Diseno Gráfico en LaTeX

118 2.2. LATEXDraw

\beginpspicture(0,-5.09)(10.0,5.07)\definecolorcolor23rgb0.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)\usefontT1ptmmn\rput(7.351406,2.28)$x=\dfrac1\cosh (t)$\usefontT1ptmmn\rput(6.6914062,1.66)$y=t-\tanh (t)$\endpspicture

Page 120: Diseno Gráfico en LaTeX

CAPÍTULO 3

Conceptos Generales de XY- pic

En este capítulo mostraremos algunos ejemplos hechos con el paqueteXY-pic, en ellos se muestra la manera de construir gráficos, teniendoen cuenta que están puestos sobre las componentes de una matriz.

Para contruir una gráfica con XY-pic se deben tener en cuenta los sigu-ientes aspectos:

• Especificar las componentes como una matriz de entradas queestán automáticamente alineadas en filas y columnas.

• Cualquier entrada puede ser conectada a cualquier otra, utilizan-do una variedad de estilos de flecha y rotaciones.

• Las flechas pueden ser decoradas con etiquetas que están vin-culadas a un punto específico de edición y ampliadas en unadirección en particular.

Esperamos que estos ejemplos sean de gran ayuda para la construc-ción de diagramas de flujo, diagramas conmutativos, diagramas dedinámicas ecológicas y epidemiológicas.

119

Page 121: Diseno Gráfico en LaTeX

1203.1. Diagramas de dinámicas ecológicas y epidemiológicas

3.1 Diagramas de dinámicas ecológicas y epi-

demiológicas

Ejemplo 3.1

f(t)x //_^]\XYZ[x

Dinámica de crecimiento exponencial.

$$ \xymatrixf(t)x \ar[rr] &&*+<1cm>^[o][F]x $$

Ejemplo 3.2

rx(

1 − xK

)

// x

Dinámica de crecimiento logístico.

$$\xymatrixrx\left(1-\fracxK\right)\ar[rr] &&*+<1cm>^[F]x$$

Ejemplo 3.3

ωa // xφx(1− y

K)

//

y

ǫx (π + ω)y

Dinámica de crecimiento del mosquito.

Page 122: Diseno Gráfico en LaTeX

3. Conceptos Generales de XY- pic 121

\begindisplaymath\xymatrix\omega a \ar[rr] &&*+<1cm>[F-,]x\ar[rr]^\phi x(1-\fracyK)\ar[d] && *+<1cm>[F-,]y\ar[d]\\&& \epsilon x && (\pi +\omega) y\enddisplaymath

Ejemplo 3.4

_^]\XYZ[xβxy //_^]\XYZ[y

θy //_^]\XYZ[z

Modelo SIR sin dinámica vital.

\beginequation*\xymatrix *+<1cm>^[o][F-]x\ar[r]^\beta xy & *+<1cm>[o][F-]y \ar[r]^\theta y & *+<1cm>[o][F-]z \endequation*

Ejemplo 3.5

µN // x1βv

x5Vx1 //

x2θx2 //

x3

µx1 µx2 µx3

ρ // _^]\XYZ[x4βh

x2Nx4

//______

_^]\XYZ[x5

[[

ǫx4 ǫx5

Dinámica de transmisión e incidencia de dengue.

Page 123: Diseno Gráfico en LaTeX

1223.1. Diagramas de dinámicas ecológicas y epidemiológicas

\begindisplaymath\xymatrix \mu N \ar[rr] && *+<1cm>[F-,]x_1\ar[rr]^\beta_v\fracx_5Vx_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\fracx_2Nx_4 \ar[d] &&*+<1cm>[o][F-] x_5\ar@->@/_/[uul] \ar[d] && \\&& \epsilon x_4 && \epsilon x_5 && \enddisplaymath

Ejemplo 3.6

∆ // SβSI //

E

θE // I

γI // R

αR

µS µE µI µR

Dinámica SEIRS (cólera) con dos rutas de transmisión.

\begindisplaymath\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\enddisplaymath

Page 124: Diseno Gráfico en LaTeX

3. Conceptos Generales de XY- pic 123

Ejemplo 3.7

∆ // SβSI //

E

θE // I

γI // R

αR

µS µE µI µR

Dinámica SEIRS con una ruta de transmisión.

\begindisplaymath\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\enddisplaymath

Ejemplo 3.8

µN // S β1SI2 //

I1θ1I //

R

µS (µ+ υ)I1 µR

ζI1 //I2

θ2

EE

Page 125: Diseno Gráfico en LaTeX

1243.1. Diagramas de dinámicas ecológicas y epidemiológicas

\beginequation*\xymatrix \mu N \ar[r] &*+<1.3cm>^[o][F.]S \ar[r]|\beta_1 SI_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&\endequation*

Ejemplo 3.9

∆N

_^]\XYZ[Sβ //

_^]\XYZ[Iθ //

_^]\XYZ[R1ψ1 //

_^]\XYZ[R2ψn−1 //___

_^]\XYZ[Rn

µ µ+ ǫ µ µ µ

\beginequation*\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 \endequation*

Page 126: Diseno Gráfico en LaTeX

3. Conceptos Generales de XY- pic 125

Ejemplo 3.10

∆N

Sβ //

Eθ //

Iα //

R

ϑ

HL

PTW[_cgjnr

v

µ µ+ ǫ µ µ

\beginequation*\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 \endequation*

Ejemplo 3.11

∆N

S

β

&&q n k h e b _ \ Y V S P M

I

ϑ

ff qnkheb_\YVSPM

µ µ+ ǫ

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

Page 127: Diseno Gráfico en LaTeX

1263.1. Diagramas de dinámicas ecológicas y epidemiológicas

\ar[d] &&&&*+<1cm>[F=]I\ar@-->@/^1cm/[llll]_\vartheta\ar[d] \\\mu &&&& \mu + \epsilon \endequation*

Ejemplo 3.12

∆N //

_ _ _ _

_ _ _ _

S β //

_ _ _

_ _ _

I

µS (µ+ ǫ)I

\beginequation*\xymatrix \Delta N \ar[rr] &&*+<1cm>[F--]S\ar[rr]|\beta \ar[d] &&*+<1cm>[F--]I\ar[d] \\&& \mu S && (\mu + \epsilon)I \endequation*

Ejemplo 3.13

αx //

_r

2P

2

P _ r

x ______

_s

3P

3

P _ s

y

θxyoo

µxy ǫy

Modelo Presa - Depredador de Lotka - Volterra

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

Page 128: Diseno Gráfico en LaTeX

3. Conceptos Generales de XY- pic 127

\theta xy \ar[ll]\\&& \mu xy && \epsilon y && \endequation*

Ejemplo 3.14

_q

1M_

1

M __ q

M λM //

_s

3P

3

P _ s

L

ωLzz

αM + βXM θL

fXM //

_r

2L_

2

L __ r

X

ll

XX

&

.

ǫLoo

µX

Modelo Presa - Depredador - Parasitoide

\beginequation*\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 && \endequation*

Ejemplo 3.15

Page 129: Diseno Gráfico en LaTeX

1283.1. Diagramas de dinámicas ecológicas y epidemiológicas

µN // xαψ1(

mim

)x//

yθy //

z

µx µy µz

ωa // _^]\XYZ[msβψ2(

y

N)ms

//______

_^]\XYZ[mi

φmψ3(1− aI)

//

SS

_^]\XYZ[a

ǫms ǫmi (π + ω)a

Modelo para el control del dengue

\beginequation*\xymatrix \mu N \ar[rr] && *+<1cm>[F-,]x\ar[rr]^\alpha \psi_1(\fracm_im)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(\fracyN)m_s \ar[d] &&*+<1cm>[o][F] m_i \ar[rr]^\phi m\psi_3 (1-\frac aI)\ar@/^/[uul] \ar[d] &&*+<1cm>[o][F]a \ar[d]\\&& \epsilon m_s && \epsilon m_i&& (\pi + \omega)a\endequation*

Ejemplo 3.16

Page 130: Diseno Gráfico en LaTeX

3. Conceptos Generales de XY- pic 129

∆N //

_r

2P

2

P _ r

xψ1(·)x //

_s

3P

3

P _ s

yθy //

zx

_u

5P

5

P _ u

z

µx µy µz

_r

2L_

2

L __ r

msu1oo ψ3(·)ms //_______

_q

1M_

1

M __ q

mi

cc

ǫms (ǫ− u1)mi

_r

2P

2

P _ r

p

ψ4(·)p

CC

_r

2P

2

P _ r

lψ3(·)loo

_s

3P

3

P _ s

hψ6(·)hoo

ǫpp (ǫl + βxd)l ǫhh

ξlxd //

_r

2L_

2

L __ r

xd //

CC

1

(

ωxd

Modelo para el control integrado del A. aegypti

\beginequation*\xymatrix \Delta N\ar[rr] &&*+<1cm>[o][F--]x\ar[rr]^\psi_1(\cdot)x \ar[d] && *+<1cm>[o][F--]y\ar[rr]^\thetay\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

Page 131: Diseno Gráfico en LaTeX

130 3.2. Diagramas conmutativos

\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\endequation*

3.2 Diagramas conmutativos

Ejemplo 3.17

Xf // Y

ψ

X/R

ϕ

OO

Y/Qfoo

\beginequation*\xymatrixX \ar[r]^f & Y \ar[d]^\psi \\X/R \ar[u]^\varphi & Y/Q \ar[l]_\barf\endequation*

Ejemplo 3.18

Page 132: Diseno Gráfico en LaTeX

3. Conceptos Generales de XY- pic 131

X f // Y

ψ

X/R

ϕ

OOOOO

Y/Qfks

\beginequation*\xymatrixX \ar[r]|f & Y \ar@=>[d]^\psi \\X/R \ar@~>[u]^\varphi & Y/Q\ar@:>[l]|\barf\endequation*

Ejemplo 3.19

Aϕ ///o/o/o B

f~~~~~~

~~~

C

f

OO

\beginequation*\xymatrix A \ar@~>[r]^\varphi &B \ar[ld]^f\\C \ar@.>[u]^\barf\endequation*

Ejemplo 3.20

A

@@@

@@@@

''PPPPPPPPPPPPPP

B C D

\beginequation*\xymatrix A \ar [d] \ar [dr] \ar [drr] &&\\B & C & D \endequation*

Page 133: Diseno Gráfico en LaTeX

132 3.2. Diagramas conmutativos

Ejemplo 3.21

A

@@@

@@@@

// B

D C

\beginequation*\xymatrix A \ar [d] \ar [dr] \ar [r] & B\\D & C \endequation*

Ejemplo 3.22

a b

c d

\beginequation*\xymatrix a & b\\c & d\endequation*

Ejemplo 3.23

Af1 // B

f2 // C

\beginequation*\xymatrix * + < 1cm > [F-]A\ar [r]^f_1 & * + < 1cm> [F-]B\ar[r]^f_2 & * + < 1cm > [F-] C\endequation*

Ejemplo 3.24

Page 134: Diseno Gráfico en LaTeX

3. Conceptos Generales de XY- pic 133

xex2 //

// 12ex2

+ C

\beginequation*\xymatrix xe^x^2 \ar [r] &* + <1cm > [F-] \int\ar [r] & \frac 12 e^x^2 + C & & &\endequation*

Ejemplo 3.25

// Af1 // B

f2 // C //

\beginequation*\xymatrix \ar [r] &* + < 1cm > [F-]A \ar [r]^f_1 &* + < 1cm> [F-]B\ar[r]^f_2 &* + < 1cm > [F-] C\ar [r] &\endequation*

Ejemplo 3.26

// (ζ + ϑ)∑n

i=1 eix //

\beginequation*\xymatrix \ar [r] &* + < 3cm > [F-](\zeta + \vartheta)\sum_i=1^n e^ix \ar [r] &\endequation*

Page 135: Diseno Gráfico en LaTeX

134 3.2. Diagramas conmutativos

Ejemplo 3.27

_^]\XYZ[A //76540123B //

_ _ _ _

_ _ _ _

C

\beginequation*\xymatrix *+<1cm>[o][F]A \ar [r] &*+[o][F]B \ar [r] &*+<1cm>[F--]C\endequation*

Ejemplo 3.28

β Υ ρ

ζ

88ppppppppppppppp χ

\beginequation*\xymatrix \beta & \Upsilon & \rho \\\zeta \ar[rru] & \chi\endequation*

Ejemplo 3.29

A B C D

E

>>~~~~~~~F

77nnnnnnnnnnnnnnG

\beginequation*\xymatrix A & B & C & D\\E\ar[-1,1] & F \ar [-1,2] & G\endequation*

Ejemplo 3.30

Page 136: Diseno Gráfico en LaTeX

3. Conceptos Generales de XY- pic 135

A

B

C

E

==

F // G

H

==

T

EE

K

\beginequation*\xymatrix A\ar@ /^/[rrdd] &&B\ar@/^/[rrdd] && C \\E\ar@/_/[urr] && F \ar [rr] && G \\H\ar@/_/[urr] && T\ar@/_/[rruu] && K \endequation*

Ejemplo 3.31

A• ++

B

A•

++B

A • 33 B

A • 33 B

\begindisplaymath\begincases\xymatrixA\ar@/^/[rr]^(0.2)\bullet && B \\\xymatrixA\ar@/^/[rr]^(0.4)\bullet && B \\\xymatrixA\ar@/_/[rr]^(0.6)\bullet && B \\\xymatrixA\ar@/_/[rr]^(0.8)\bullet && B \endcases\enddisplaymath

Ejemplo 3.32

Page 137: Diseno Gráfico en LaTeX

136 3.2. Diagramas conmutativos

•1

2

$$

3

((

4

**

_^]\XYZ[X XY

XYZ

XYZW

\\beginequation*\xymatrix*\bullet \ar@/^/[dr]!U|1\ar@/^/[drr]!U|2\ar@/^/[drrr]!U|3\ar@/^/[drrrr]!U|4\\&*+<1cm>[o][F]\txtX &*+[F]\txt X\\ Y&*+[F-]\txtX\\ Y\\ Z &*+[F.]\txtX\\ Y\\ Z\\ W\endequation*

Ejemplo 3.33

gfed`abcxnn

\beginequation*\xymatrix *+<1cm>[o][F]x_n_n\endequation*

Ejemplo 3.34

A // B // C

Page 138: Diseno Gráfico en LaTeX

3. Conceptos Generales de XY- pic 137

\beginequation*\xymatrix*+<2cm>[F.]A \ar [r] &*+<2cm>[F=]B \ar [r] &*+<2cm>[F-,]C \endequation*

Ejemplo 3.35

xψ1 // y

ψ2 // z

\beginequation*\xymatrix @=1cm *+<1cm>[F-,]x\ar[r]^\psi_1 &*+<1cm>[F-,] y \ar[r]^\psi_2 &*+<1cm>[F-,]z\endequation*

Ejemplo 3.36

_^]\XYZ[A

f-- _^]\XYZ[B

_^]\XYZ[D

OO

_^]\XYZ[Cg

mm

\beginequation*\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\endequation*

Ejemplo 3.37

Page 139: Diseno Gráfico en LaTeX

138 3.2. Diagramas conmutativos

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

xyz

, eex

x1,2,...,n , 1 +1+ 1+x

x

1+ 1

x

\beginequation*\xymatrix *+<5cm>[F--]\begincasesx^y^z\quad,\quad e^e^x\\x^1,2,\ldots,n\quad , \quad1+ \frac 1+\frac 1+xx1+\frac1x\endcases\endequation*

Ejemplo 3.38

1 //

1

1oo 1 //

1

1oo

1

OO

1

//−3_ _ _ 1 //−3

OO

−3

1oo −3 //___1

OO

1

1//

1

OO

1//

1//

1

OO

1oo

\beginequation*\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

Page 140: Diseno Gráfico en LaTeX

3. Conceptos Generales de XY- pic 139

\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\endequation*

Ejemplo 3.39

T

&&NNNNNNNNNNNNN

xxppppppppppppp

X

f&&NNNNNNNNNNNNN Y

gxxqqqqqqqqqqqqq

Z

\beginequation*\xymatrix&& T \ar[rrd] \ar[lld] && \\X \ar[rrd]_f && &&Y \ar[lld]^g \\ && Z &&\endequation*

Page 141: Diseno Gráfico en LaTeX

140 3.2. Diagramas conmutativos

Page 142: Diseno Gráfico en LaTeX

BIBLIOGRAFÍA

[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 de-scripción de LATEX. Manual del Centro de Microelectrónica Apli-cada de la Universidad de las Palmas de G. C. (1998).

[3] file://D:/Mis Documentos /NeoZero Apuntes sobre LaTEX.htm

[4] Grätzer G. Math into LATEX - An intrduction to LATEX yAMS - LATEX, Birkhäuser Boston (1996).

[5] Kristoffer H. Rose. The XY- pic home page, (1994)URL:http://www.ens-lyon.fr/Xy - pic.html

[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 depaquetes especiales, Departamento de matemática Universidad deValencia, España (2006).

141

Page 143: Diseno Gráfico en LaTeX

142 BIBLIOGRAFÍA

[10] http://www.lobachevsky.com/nikolai1.jpg

[11] DE CASTRO, Rodrigo. El Universo LATEX, Panamericana de for-mas impresas, 2003.

[12] ROSE, Kristofer. XY-pic User’s Guide, User’s Guide Version 3.7,February 16, 1999.

[13] VAN ZANDT, Timothy. PSTricks: PostScript macros for GenericTEX, User’s Guide, 1993.

[14] VAN ZANDT, Timothy. PSTricks - PostScript macros for Gener-ic 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.

Page 144: Diseno Gráfico en LaTeX

x y

z

Diseño Gráfico en LATEXGráficos Matemáticos de Alta Calidad

Derechos Reservados©Armenia Quindío Colombia 2007ISBN: 978-958-44-2285-9