Pstricks
Pstricks
Pstricks
Indice
1 Paquetes para pintar. Nociones elementales
1.1 Nociones elementales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Mallados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2
2
2 Papel milimetrado
2.1 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
3
.
.
.
.
3
4
4
5
5
Representaci
on de curvas
4.1 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Parametros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
7
8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Operadores aritm
eticos y matem
aticos en postscript
6 Ejes
6.1 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
9
7 Nodos y conexiones
7.1 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
9
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 del
angulo superior derecho del marco (en centmetros) tomando como origen el angulo inferior izquierdo del
marco. [?]
1.2
Mallados
Este conjunto de paquetes permite generar mallados muy precisos como papel milimetrado y otro tipo
de papeles para graficos.
\psgrid crea un mallado del tama
no del marco con separaciones de 1 centmetro y subdivisiones de
2 milmetros, por supuesto este mallado se puede generar a voluntad con separaciones de en milmetros
reales.
Papel milimetrado
\begin{center}
\begin{pspicture}(16,7)
\psgrid
\end{pspicture}
\end{center}
genera el mallado siguente
7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
El comando completo para generar mallados es:
10
11
12
13
14
15
\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 centmetros) del mallado y (x0,y0) determina el origen para empezar a escribir los n
umeros de
identificaci
on de las divisiones, y las opciones posibles son:
gridwidth=dim anchura de las lneas que forman el mallado (por defecto es 0.8 pt)
2
16
2.1
Ejemplo
El c
odigo:
\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:
2
1
-3
-2
0
-1 0
-1
-2
-3
3
\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)
10 11 12
3.1
Ejemplos
3.2
Opciones y par
ametros
\psset{param1=valor,param2=valor,...}
cambia los valores de los par
ametros.
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:
cb
bc bc
bc bc
\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}
3.3
cb
bc bc
bc bc
Figuras elementales
3.4
Ejemplos
El c
odigo 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:
Representaci
on 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 c
odigo postscript para calcular los valores de la funci
on f que se prentende representar, ve
anse los ejemplos siguientes y la seccion 5
4.1
Ejemplos
El c
odigo 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:
4.2
Par
ametros
plotstyle=estilo defecto=line
estilos: dots, line, polygon,curve,ecurve, ccurve
plotpoints=num, defecto=50
showpoints=true/false defecto= false
dotstyle=estilo
linestyle=estilo defecto=solid
estilos: none, solid, dashed y dotted
para ver m
as par
ametros consultar la hoja de referencia.
Operadores aritm
eticos y matem
aticos en postscript
num1 num2
num1 num2
num1 num2
num1 num2
num1
num1
num1
num1
num1
base exponente
num1
num1
operador
add
div
mul
sub
abs
neg
sqrt
cos
sin
exp
ln
log
resultado
suma
cociente
producto
diferencia
valor absoluto
negativo
raz cuadrada
coseno
seno
potencia
logaritmo
logaritmo
estandard
num1+num2
num1/num2
num1xnum2
num1-num2
|num1|
-num1
num1
cos(num1)
sen(num1)
baseexponente
ln(num1)
log(num1)
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
6.1
Ejemplo
El c
odigo 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
0
1
Nodos y conexiones
7.1
Ejemplos
El c
odigo 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}
Especial
Si
Llamada a SP1
No
Acci
on 1
Acci
on 2
Final
10
Llamada a SP2
Inicializacion
Especial
Si
Llamada a SP1
No
Acci
on 1
Final
Para m
as informaci
on:
http://www.tug.org/applications/PSTricks/index.html
11
Llamada a SP2