pstricks
-
Upload
victor-papuico -
Category
Documents
-
view
4 -
download
0
description
Transcript of pstricks
Algunos ejemplos con pstricks
Indice
1 Paquetes para pintar. Nociones elementales 1
1.1 Nociones elementales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Mallados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Papel milimetrado 2
2.1 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Rectas y figuras elementales 3
3.1 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.2 Opciones y parametros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.3 Figuras elementales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.4 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 Representacion de curvas 7
4.1 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74.2 Parametros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5 Operadores aritmeticos y matematicos en postscript 8
6 Ejes 8
6.1 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7 Nodos y conexiones 9
7.1 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1 Paquetes para pintar. Nociones elementales
• Estos paquetes funcionan “pasando” a postscript los comandos
• Debemos cargar algunos paquetes dentro del conjunto conocido como pstricks.
• Por ahora veremos algunos aspectos simples para los que es suficiente con los paquetes:
\usepackage{pstcol} % para color
\usepackage{pst-node} % para diagramas
\usepackage{pst-plot} % para representacion de datos
% funciones, etc
• Empezamos por crear un mallado de longitud precisa
• Figuras elementales y rectas
• Diagramas y conexiones
• Representacion de datos numericos
• Representacion de curvas
1
1.1 Nociones elementales
\begin{pspicture}(x,y)
\end{pspicture}
Dentro de ese entorno generamos los objetos gaficos, las coordenadas (x,y) indica las coordenadas delangulo superior derecho del marco (en centımetros) tomando como origen el angulo inferior izquierdo delmarco. [?]
1.2 Mallados
Este conjunto de paquetes permite generar mallados muy precisos como papel milimetrado y otro tipode papeles para graficos.\psgrid crea un mallado del tamano del marco con separaciones de 1 centımetro y subdivisiones de2 milımetros, por supuesto este mallado se puede generar a voluntad con separaciones de en milımetrosreales.
2 Papel milimetrado
\begin{center}
\begin{pspicture}(16,7)
\psgrid
\end{pspicture}
\end{center}
genera el mallado siguente
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 160
1
2
3
4
5
6
7
El comando completo para generar mallados es:
\psgrid[opciones](x0,y0)(x1,y1)(x2,y2)
donde (x1,y1) y (x2,y2) son las coordenadas del punto inferior izquierdo y del punto superior derecho(en centımetros) del mallado y (x0,y0) determina el origen para empezar a escribir los numeros deidentificacion de las divisiones, y las opciones posibles son:
• gridwidth=dim anchura de las lıneas que forman el mallado (por defecto es 0.8 pt)
2
• gridcolor=color (defecto black)
• griddots=num (defecto 0), si es diferente de 0 las lınes del mallado son punteadas con un numerode puntos entre division de num
• gridlabels=dim (defecto 10pt) tamano de los numeros usados para marcar la malla
• gridlabelcolor=color color de los numeros del mallado
• subgriddiv=num (defecto 5) numero de las subdivisiones del mallado
• subgridwidth=dim (defecto 0.4pt) tamano de las lıneas de subdivision del mallado
• subgridcolor=color (defecto gray)
• subgriddots=num (defecto 0) lo mismo que griddots pero para las subdivisiones.
2.1 Ejemplo
El codigo:
\begin{center}
\begin{pspicture}(-3,-3)(12,2)
\psgrid[gridlabels=10pt,gridlabelcolor=red,subgriddiv=10](0,0)(-3,-3)(12,2)
\end{pspicture}
\end{center}
genera:
-3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12
-3
-2
-1
0
1
2
3 Rectas y figuras elementales
\psline[param]{flechas}(x1,y1)...(xn,yn)
\pscurve[param]{flechas}(x1,y1)....(xn,yn)
\psecurve[param]{flechas}(x1,y1)...(xn,yn) (no pasa por el ult. ni prim.)
\psccurve[param](x1,y1)....(xn,yn)
3
3.1 Ejemplos
3.2 Opciones y parametros
\psset{param1=valor,param2=valor,...}
cambia los valores de los parametros.
xunit=dim (defecto 1cm)
yunit=dim (defecto 1cm)
runit=dim (defecto 1cm)
linewidth=dim (defecto 0.8pt)
linecolor=color (defecto black)
showpoints=true/false (defecto false)
linearc=dim (defecto 0pt)
framearc=num (defecto 0)
dotstyle=estilo (defecto *)
estilos:
* , o, +, triangle
triangle*, square,
square*, pentagon,
pentagon*, |
Los puntos cuando se muestran en un grafico
se rellenan del color definido como fillcolor=color
Ejemplos:
\begin{pspicture}(3,3)
\psccurve[showpoints=true,
dotsize=20pt,
dotstyle=o,
fillcolor=red]
(0,0)(1,1)(1,2)(2,1)(1,0)
\end{pspicture}
genera: bc
bc
bc
bc
bc
4
\begin{pspicture}(3,3)
\psline[showpoints=true,dotsize=20pt,
dotstyle=o,fillcolor=red]
(0,0)(1,1)
\psline[showpoints=true,dotsize=20pt,
dotstyle=o,fillcolor=green]
(1,1)(1,2)
\psline[showpoints=true,dotsize=20pt,
dotstyle=o,fillcolor=yellow]
(1,2)(2,1)
\psline[showpoints=true,dotsize=20pt,
dotstyle=o,fillcolor=blue]
(2,1)(1,0)
\psline[showpoints=true,dotsize=20pt,
dotstyle=o,fillcolor=magenta]
(1,0)(1,0)
\end{pspicture}
bc
bcbc
bcbc
bcbc
bcbcbc
3.3 Figuras elementales
La mayor parte de las figuras elementales se pueden usar directamente.
\pscircle[param](x0,y0){radio} ((x0,y0)=centro)
\psellipse[param](x0,y0)(a,b)
\psarc[param]{flechas}(x,y){radio}{anguloA}{anguloB}
\parabola[param]{flechas}(x0,y0)(x1,y1)
(x0,y0) pasa por ese punto
max o min en (x1,y1)
\pspolygon[param](x0,y0)(x1,y1)...(xn,yn)
\psframe[param](x0,y0)(x1,y1)
\psdiamond[param](x0,y0)(x1,y1)
\pstriangle[param](x0,y0)(base,alt)
Algunos parametros:
linearc=dim defecto 0pt
framearc=num defeto 0
fillstyle=estilo defecto none
solid, vlines, hlines crosshatch
tambien con estrella
hatchwidth=dim defecto 0.8pt
hatchsep=dim defecto 4pt
hatchcolor=color defecto black
hatchangle=rot defecto 45
fillcolor=color defecto white (fondo)
3.4 Ejemplos
El codigo siguiente:
\psframebox{
\begin{pspicture}(3,3)
\pscircle(1.5,1.5){1}
\end{pspicture}
}
5
\psframebox{
\begin{pspicture}(3,3)
\psellipse(1.5,1.5)(1,0.5)
\end{pspicture}
}
\psframebox{
\begin{pspicture}(3,3)
\psarc[showpoints=true]{->}(1.5,1.5){1.3}{0}{75}
\end{pspicture}
}
\psframebox{
\begin{pspicture}(3,3)
\parabola(0,0)(1,3)
\end{pspicture}
}
\psframebox{
\begin{pspicture}(3,3)
\pscircle[fillstyle=crosshatch](1.5,1.5){1.5}
\end{pspicture}
}
\noindent \psframebox{
\begin{pspicture}(3,3)
\pscircle[fillstyle=vlines](1.5,1.5){1.5}
\end{pspicture}
}
\psframebox{
\begin{pspicture}(3,3)
\pscircle[fillstyle=hlines*,fillcolor=green](1.5,1.5){1.5}
\end{pspicture}
}
\psframebox{
\begin{pspicture}(3,3)
\pscircle[fillstyle=hlines,hatchsep=2pt](1.5,1.5){1.5}
\end{pspicture}
}
\psframebox{
\begin{pspicture}(3,3)
\psdiamond(1.5,1.5)(0.5,1)
\end{pspicture}
}
\psframebox{
\begin{pspicture}(3,3)
\pstriangle(1.5,1.5)(2,1)
\end{pspicture}
}
genera:
6
4 Representacion de curvas
Para representar datos y funciones tenemos los siguientes comandos (necesitan el paquete pst-plot).
\fileplot[param]{ficherodatos}
\psplot[param]{xmin}{xmax}{funcion}
\parametricplot[param]{tmin}{tmas}{funcion}
funcion representa el codigo postscript para calcular los valores de la funcion f que se prentende repre-sentar, veanse los ejemplos siguientes y la seccion 5
4.1 Ejemplos
El codigo siguiente
\psframebox{
\begin{pspicture}(3,3)
\fileplot{pepe.dat}
\end{pspicture}
}
\psframebox{
\begin{pspicture}(0,-1.5)(3,1.5)
\psplot{0}{3}{x 300 mul sin}
\end{pspicture}
}
\psframebox{
\begin{pspicture}(3,3)
\parametricplot{-6}{6}{1.2 t exp 1.2 t neg exp}
\end{pspicture}
}
\psframebox{
\begin{pspicture}(-1.5,-1.5)(1.5,1.5)
\parametricplot{0}{3.8}{ t 100 mul sin t 100 mul 2 mul sin}
\end{pspicture}
}
genera:
7
donde pepe.dat es un fichero que contiene:1 21 32 11 0para entender las definiciones de las funciones vease la seccion 5. Las funciones que se han representadoson:f(x) = sen(x){x(t) = 1.2t, y(t) = 1.2−t}{x(t) = sin(t), y(t) = sin(2t)}
4.2 Parametros
plotstyle=estilo defecto=lineestilos: dots, line, polygon,curve,ecurve, ccurveplotpoints=num, defecto=50showpoints=true/false defecto= falsedotstyle=estilo
linestyle=estilo defecto=solidestilos: none, solid, dashed y dottedpara ver mas parametros consultar la hoja de referencia.
5 Operadores aritmeticos y matematicos en postscript
operador resultado estandardnum1 num2 add suma num1+num2num1 num2 div cociente num1/num2num1 num2 mul producto num1xnum2num1 num2 sub diferencia num1-num2num1 abs valor absoluto |num1|num1 neg negativo -num1
num1 sqrt raız cuadrada√
num1num1 cos coseno cos(num1)num1 sin seno sen(num1)base exponente exp potencia baseexponente
num1 ln logaritmo ln(num1)num1 log logaritmo log(num1)
6 Ejes
En ocasiones es interesante pintar los ejes del grafico, para eso podemos usar:\psaxes[param]{flechas}(x0,y0)(x1,y1)(x2,y2)
con el mismo significado para los tres puntos que en el comando \psgrid
8
6.1 Ejemplo
El codigo siguiente:
\begin{pspicture}(0,-1.5)(3,1.5)
\psaxes[linewidth=1pt]{<->}(0,0)(0,-1.5)(3.25,1.5)
\psplot{0}{3}{x 300 mul sin}
\end{pspicture}
genera:
1 2 30
1
−1Para otros parametros vease la hoja de referencia.
7 Nodos y conexiones
Para representar diagramas diversos son muy utiles los siguientes comandos:
\psframebox[param]{contenido}
\begin{psmatrix}[rowsep=dist,colsep=dist]
nodos y conexiones diagrama
\end{psmatrix}
\psdiabox[param]{contenido}
\psovalbox[param]{contenido}
\pscirclebox[param]{contenido}
\psdblframebox[param]{contenido}
etc. (hoja referencia)
\ncline[param]{flechas}{nodoA}{nodoB}
\ncbar[param]{flechas}{nodoA}{nodoB}
\ncdiag[param]{flechas}{nodoA}{nodoB}
etc (hoja de referencia)
7.1 Ejemplos
El codigo siguiente:
\begin{center}
Diagrama de flujo\\[5mm]
\psframebox[linearc=5mm,cornersize=absolute]{%
\begin{psmatrix}[rowsep=.5cm,colsep=0.8cm]
\psovalbox[fillstyle=solid,fillcolor=yellow]{Inicio} \\
\psframebox{Inicializaci\’on} \\
\psdiabox[fillstyle=solid,fillcolor=Pink]{Especial} &
\psframebox{Llamada a SP1} & \psframebox{Llamada a SP2} \\
\psframebox{Acci\’on 1} \\
\psframebox{Acci\’on 2} \\
\psovalbox[fillstyle=solid,fillcolor=yellow]{Final}
% Links
\ncline{1,1}{2,1}
\ncline{2,1}{3,1}
\ncline{3,1}{4,1}>{\textcolor{red}{ No}}
\ncline{4,1}{5,1}
9
\ncline{5,1}{6,1}
% \ncbar[nodesepB=10mm]{->}{1,1}{3,2}
\ncline{->}{3,1}{3,2}^{\textcolor{red}{Si}}
\ncline{->}{3,2}{3,3}
\ncbar[angleA=-90,armB=0,nodesepB=2.5mm]{->}{3,3}{4,1}
\ncdiag[angleA=-90,angleB=90,armA=0.1,armB=0.5]{->}{1,1}{3,2}
\end{psmatrix}
}\\[1cm]
\psframebox[linearc=5mm,cornersize=absolute]{%
\begin{psmatrix}[rowsep=1.5cm,colsep=1.8cm]
\pscirclebox{A} \\
\psframebox{Inicializaci\’on} \\
\psdiabox[fillstyle=solid,fillcolor=Pink]{Especial} &
\psframebox{Llamada a SP1} & \psframebox{Llamada a SP2} \\
\psframebox{Accin 1} \\
\pscirclebox{$\mathcal{B}$} \\
\psovalbox[fillstyle=solid,fillcolor=yellow]{Final}
% Links
\ncline{1,1}{2,1}
\ncline{2,1}{3,1}
\ncline{3,1}{4,1}>{\textcolor{red}{ No}}
\ncline{4,1}{5,1}
\ncline{5,1}{6,1}
\ncbar[nodesepB=8mm,angleA=0,angleB=90,armA=1,armB=0]{->}{1,1}{3,2}
\ncline{->}{3,1}{3,2}^{\textcolor{red}{Si}}
\ncline{->}{3,2}{3,3}
\ncbar[angleA=-90,armB=0,nodesepB=9mm]{->}{3,3}{4,1}
\ncdiag[angleA=90,angleB=-90,armA=0.1,armB=0.5]{<-}{6,1}{3,3}
\end{psmatrix}
}
\end{center}
genera los diagramas siguientes:
Diagrama de flujo
Inicio
Inicializacion
Especial Llamada a SP1 Llamada a SP2
Accion 1
Accion 2
Final
No
Si
10
A
Inicializacion
Especial Llamada a SP1 Llamada a SP2
Accion 1
B
Final
No
Si
Para mas informacion:http://www.tug.org/applications/PSTricks/index.html
11