P. 1
LatexAvanzado Paquetes y herramientas para graficos

LatexAvanzado Paquetes y herramientas para graficos

|Views: 116|Likes:
Latex Avanzado Paquetes y herramientas para gr´ficos a

Dept. d’Inform`tica a Universitat de Val`ncia e

´ Indice
1. Introducci´n o 1

2. xymatrix

1

3. Metapost 3.1. Metapost y Latex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Metapost y pdflatex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3. Ejemplos y ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8 9 9 10

4. Dia

20

5. JFig y fig2dev
Latex Avanzado Paquetes y herramientas para gr´ficos a

Dept. d’Inform`tica a Universitat de Val`ncia e

´ Indice
1. Introducci´n o 1

2. xymatrix

1

3. Metapost 3.1. Metapost y Latex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Metapost y pdflatex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3. Ejemplos y ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8 9 9 10

4. Dia

20

5. JFig y fig2dev

More info:

Published by: Marcelo Alejandro Lopez Zambrano on Sep 05, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

12/10/2012

pdf

text

original

Latex Avanzado

Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
´
Indice
1. Introducci´on 1
2. xymatrix 1
3. Metapost 8
3.1. Metapost y Latex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2. Metapost y pdflatex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3. Ejemplos y ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4. Dia 20
5. JFig y fig2dev 20
6. eps2pdf 20
1. Introducci´on
En este documento se presenta el paquete xymatrix que se puede utilizar para generar diagramas
directamente en el fichero tex.
Tambi´en se presenta una selecci´on de herramientas (Metapost, JFig, Dia, eps2pdf, fig2dev) que se
pueden utilizar para generar gr´aficos o convertir entre diferentes formatos.
2. xymatrix
xymatrix es un paquete que se puede utilizar para dibujar diagramas cuyos elementos se puedan
colocar en las celdas de una matriz.
Para indicar que se desea utilizar este paquete hay que poner este pre´ambulo (para trabajar con
pdflatex).
P´agina: 1
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
\ documentcl ass [ a4paper , spani sh , 11 pt ] { a r t i c l e }
\ usepackage [ pdf t ex ] { graphi cx }
\ usepackage [ pdf t ex ] { c ol or }
% Para t r abaj ar con l at e x comentar l a s dos a nt e r i o r e s y descomentar e s t as
%\usepackage [ dvi ps ] { gr aphi cs }
%\usepackage [ dvi ps ] { c ol or }
\ usepackage {amsmath}
% Para t r abaj ar con acent os
\ usepackage [ l a t i n1 ] { i nputenc }
\ usepackage [ s pani s h ] { babel }
\ usepackage [ a l l ] { xy}
\ begi n{document}
\xymatri x { . . . }
\end{document}
Una matriz se puede insertar dentro de una ecuaci´on utilizando el entorno matrix.
Ejemplo
Una matriz en Latex
a b
c d
\[
\ begi n{bmatri x}
a & b \\
c & d
\end{bmatri x}
\]
Aquellos diagramas que tengan una estructura similar a una matriz se pueden dibujar utilizando el
comando xymatrix. Una modificaci´on del ejemplo anterior para unir con flechas los cuatro elementos
ser´ıa:
Ejemplo
Un primer ejemplo de diagrama
a

b

c
¸¸
d
¸
\xymatri x{
a \ ar [ r ] & b \ ar [ d ] \ \
c \ ar [ u] & d \ ar [ l ]
}
P´agina: 2
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
donde \ar[·] indica que se desea dibujar una flecha y el argumento entre corchetes indica la direcci´on
en la que se debe dibujar.
Car´acter Significado
r una columna hacia la derecha (right)
l una columna hacia la izquierda (left)
u una fila hacia arriba (up)
d una fila hacia abajo (down)
Estas direcciones se pueden combinar, as´ı ru significar´ıa hacia arriba y hacia la derecha. Estas
direcciones deben apuntar a elementos que existan en la matriz.
Ejercicio 1
Realiza un documento que contenga la siguiente figura:
a

b

c
¸¸>
>
>
>
>
>
>
>
El estilo de la flecha se puede cambiar utilizando \ar@estilo[·]
Ejemplo
Estilos de las flechas

@
@
@
@
@
@
@
@
@
@
@
@
@
@

_
_
_
_

@
@
@
@
@
@
@

¸

¸
~
~
~
~

\xymatri x{
{\ bul l e t } \ ar@{=>}[ dr ] & & {\ bul l e t } \ ar@{˜>}[ dr ] & & {\ bul l e t } \ ar@{−}[ dr ] & \\
& {\ bul l e t } \ ar@{: >}[ ur ] & & {\ bul l e t } \ ar@{−−>}[ ur ] & & {\ bul l e t }
}
Ejercicio 2
A˜ nade al documento anterior la figura:
P´agina: 3
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
a

b

O
O
O
c
>
>
>
>
Si se desean poner etiquetas a las flechas se puede hacer del siguiente modo:
Ejemplo
Etiquetas sobre las flechas
a
f

b
g

c
i
¸¸
d
h
¸
\xymatri x{
a \ ar [ r ] ˆ f & b \ ar [ d] ˆ g \\
c \ ar [ u] ˆ i & d \ ar [ l ] h
}
Ejercicio 3
A˜ nade al documento anterior la figura:
a
T

b
G

O
O
O
c
>
>
>
>
Tambi´en es posible que la etiqueta no est´e por encima o por debajo (o a la izquierda o derecha si
la flecha es vertical) sino que est´e en medio, para ello hay que indicar que se debe producir un corte.
Ejemplo
Etiquetas partiendo las flechas
P´agina: 4
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
a f

b
g

c
i
¸¸
d
h
¸
\xymatri x{
a \ ar [ r ] | { f } & b \ ar [ d] ˆ g \\
c \ ar [ u] ˆ i & d \ ar [ l ] h
}
Las flechas no tienen porqu´e ser rectas, se pueden dibujar con curvatura.
Ejemplo
Flechas curvas
@/^/ A

B \xymatrix{A \ar@/^/[r] & B}
@/_/ A B \xymatrix{A \ar@/_/[r] & B}
@/_1mm/ A
¸
B \xymatrix{A \ar@/_1mm/[r] & B}
@(out,in) A

B \xymatrix{A \ar@(u,u)[r] & B}
@(out,in) A

B \xymatrix{A \ar@(d,l)[r] & B}
Ejercicio 4
A˜ nade al documento anterior la figura:
a
T

b
G
¸.
c
R
¸¸
Se puede decorar el texto con rect´angulos, circunferencias, se puede hacer que el objeto sea mayor
o menor...
La sintaxis es *{modificador}{elemento}
P´agina: 5
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
+ Aumenta un poco el tama˜ no. Se puede especificar la cantidad utilizando +<cantidad>
+= Hace que el tama˜ no del objeto sea cuadrado aumentando la dimensi´on menor. -= hace que
se disminuya la mayor de las dimensiones.
[F] Pone un rect´angulo alrededor del texto.
[F=] Pone un rect´angulo con linea doble alrededor del texto.
[F.] Pone un rect´angulo punteado alrededor del texto.
[F--] Pone un rect´angulo con l´ınea discontinua alrededor del texto.
[F-,] Pone un rect´angulo sombreado alrededor del texto.
[o][F] Pone una circunferencia alrededor del texto.
Ejemplo
Decoraciones
+
A

B \xymatrix{*+<5em>{A} \ar[r] & B}
[F]
A

B \xymatrix{*[F]{A} \ar[r] & B}
[F]
A

B \xymatrix{*+[F]{A} \ar[r] & B}
[F]
A

B \xymatrix{*+<1cm>[F]{A} \ar[r] & B}
[F-,]
A

B \xymatrix{*+<1cm>[F]{A} \ar[r] & B}
[o][F]
GFED @ABC
A

B \xymatrix{*+[o][F]{A} \ar[r] & B}
El texto que aparece est´a en formato de matem´aticas (que es conveniente para poner variables o
expresiones matem´aticas pero no es conveniente para poner palabras o frases). Cuando sea necesario
poner palabras se puede utilizar el comando \txt lo mismo es aplicable a las etiquetas que aparecen
en las flechas.
Ejemplo
Palabras o frases como elementos
P´agina: 6
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
Estoestexto

B \xymatrix{*+[F]{Esto es texto} \ar[r] & B}
Esto es texto

B \xymatrix{*+[F]\txt{Esto es texto} \ar[r] & B}
Esto es texto

B \xymatrix{*+[F]{\scriptsize \txt{Esto es texto}} \ar[r] & B}
Al utilizar el comando \xymatrix se pueden pasar argumentos que se aplicar´an a todos los elemen-
tos de ese diagrama. Por ejemplo, es posible definir que todos los elementos se separen una determinada
cantidad, es posible definir cual debe ser el espaciado entre filas o columnas, o que no se tenga en
cuenta el tama˜ no de los elementos,...
\xymatrix @=1cm separa todos los elementos en un cent´ımetro.
\xymatrix @R=1cm separa las filas en un cent´ımetro.
\xymatrix @C=1cm separa las columnas en un cent´ımetro.
Si antes de utilizar \xymatrix ponemos \entrymodifiers={modificadores} provoca que todos
los elementos incluyan el modificador indicado. Por ejemplo \entrymodifiers={++[o][F-]}
provoca que todas los elementos aparezcan rodeados con un c´ırculo.
Ejemplo
Decoraciones en todos los elementos

Filtro pasa baja

Imagen original
¸¸
Imagen desenfocada
¸¸
\ begi n{ c e nt e r }
\ e nt r ymodi f i e r s ={++[F] }
\xymatrix@=1cm{
\ i nc l ude gr aphi c s [ wi dth=4cm] { i magenes /im1 . png } \ ar [ r ] & \ t xt { Fi l t r o pasa baj a } \ ar [ r ] &
\ i nc l ude gr aphi c s [ wi dth=4cm] { i magenes /im2 . png } \\
\ t xt {\ s c r i p t s i z e \em Imagen o r i g i n a l } \ ar [ u] & ∗{} & \ t xt {\ s c r i p t s i z e \em Imagen
desenf ocada } \ ar [ u ]
}
\end{ c e nt e r }
P´agina: 7
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
Ejercicio 5
A˜ nade al documento anterior las figuras:
DNA
Transcripci´on

RNA
Traslaci´on

Prote´ınas
x
2

x
3
3
+ C
¸.
D
¸¸
Fichero tex
latex
.r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
pdflatex

Fichero dvi
dvips

Fichero pdf
Fichero ps
ps2pdf

Fichero pdf
3. Metapost
Metapost es un lenguaje de programaci´on de gr´aficos desarrollado por John Hobby en los labo-
ratorios Bell que permite producir gr´aficos de alta calidad. Est´a basado en en Metafont de Donald
Knuth, pero genera una salida PostScript.
Las figuras se almacenan en un fichero (habitualmente con extensi´on mp). La estructura de este
fichero se muestra a continuaci´on:
be g i nf i g ( 1)
I ns t r uc c i one s para gener ar l a f i g ur a 1
P´agina: 8
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
e ndf i g ;
be g i nf i g ( 2)
I ns t r uc c i one s para gener ar l a f i g ur a 2
e ndf i g ;
. . .
be g i nf i g ( n)
I ns t r uc c i one s para gener ar l a f i g ur a n
e ndf i g ;
end ;
Supongamos que nuestro fichero con las figuras se llama figuras.mp.
Este fichero debe ser procesado mediante la utilidad mpost (incluida con la distribuci´on de Miktex).
La instrucci´on ser´a:
mpost figuras.mp
Este procesado consiste en la generaci´on de un fichero en formato PostScript (que no contiene las
fuentes) por cada una de las figuras que hab´ıa en el fichero original. As´ı si el fichero anterior se llama
figuras.mp se generar´an los fichero figuras.1, ... , figuras.n siendo n el n´ umero de figuras.
3.1. Metapost y Latex
Las figuras generadas tras ejecutar mpost se pueden utilizar en un documento latex tal y como
muestra el siguiente c´odigo:
\ documentcl ass [ a4paper , spani sh , 11 pt ] { a r t i c l e }
\ usepackage [ dvi ps ] { gr aphi cs }
\ usepackage {amsmath}
% Para t r abaj ar con acent os
\ usepackage [ l a t i n1 ] { i nputenc }
\ usepackage [ s pani s h ] { babel }
\ begi n{document}
\ i nc l ude gr aphi c s {i magenes / f i g ur a . 1}
\end{document}
para ser procesado mediante Latex.
3.2. Metapost y pdflatex
Si en lugar de utilizar Latex se est´a interesado en utilizar pdflatex hay que realizar los siguientes
pasos:
P´agina: 9
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
1. Cambiar los nombres de los ficheros figuras.numero por nombrefiguras.mps
En el ejemplo anterior se podr´ıa cambiar el nombre figuras.1 por figuras1.mps.
2. Incluir la figura en el documento, por ejemplo:
\ documentcl ass [ a4paper , spani sh , 11 pt ] { a r t i c l e }
\ usepackage [ pdf t ex ] { graphi cx }
\ usepackage {amsmath}
% Para t r abaj ar con acent os
\ usepackage [ l a t i n1 ] { i nputenc }
\ usepackage [ s pani s h ] { babel }
\ begi n{document}
. . .
\ i nc l ude gr aphi c s [ nombref i guras . mps ]
. . .
\end{document}
El cambio de la extensi´on del fichero es importante ya que cuando pdflatex encuentra un fichero
con extensi´on mps lo convierte autom´aticamente a un formato compatible con PDF. Si no se hace esto
las figuras no se visualizar´an.
Este cambio de extensi´on nos ahorra realizar la conversi´on por nuestra cuenta (que se puede realizar
utilizando la aplicaci´on mptopdf).
3.3. Ejemplos y ejercicios
Ejemplo
Un ejemplo de dibujo en Metapost
be g i nf i g ( 1)
draw ( 0 , 0 ) −−(10,0) −−(10,10) −−(0,10) −−(0,0) ;
e ndf i g ;
end ;
Supongamos que el texto del ejemplo se guarda en un fichero llamado figura.mp. Este fichero se
puede procesar utilizando la utilidad mpost:
mpost figura.mp
gener´andose dos ficheros:
figura.1 que contiene la figura en formato PostScript y
figura.log que contiene informaci´on sobre el proceso realizado.
P´agina: 10
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
La ruta definida por los puntos
( 0 , 0) −−(10,0) −−(10,10) −−(0,10) −−(0,0)
se puede almacenar en una variable de forma que puede ser utilizada posteriormente, esta variable
es de tipo path.
Ejemplo
Utilizaci´on de una variable para almacenar una ruta
be g i nf i g ( 2)
path p ;
p = ( 0 , 0) −−(10,0) −−(10,10) −−(0,10)−−c yc l e ;
draw p ;
e ndf i g ;
Ejemplo
Desplazamiento de una figura
be g i nf i g ( 3)
path p ;
p = ( 0 , 0) −−(10,0) −−(10,10) −−(0,10)−−c yc l e ;
draw p ;
draw p s hi f t e d ( 10 , 0) ;
e ndf i g ;
Ejemplo
Rotaci´on de una figura
be g i nf i g ( 4)
path p ;
p = ( 0 , 0) −−(10,0) −−(10,10) −−(0,10)−−c yc l e ;
f o r x=10 s t ep 10 unt i l 360:
draw p r ot at ed x ;
endf or ;
e ndf i g ;
P´agina: 11
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
Ejemplo
Desplazamiento y rotaci´on de una figura
be g i nf i g ( 5)
path p ;
p = ( 0 , 0) −−(10,0) −−(10,10) −−(0,10)−−c yc l e ;
f o r x=5 s t ep 5 unt i l 360:
draw p r ot at ed x s hi f t e d ( x , 0 ) ;
endf or ;
e ndf i g ;
Ejercicio 6
Realiza lo mismo que en los 5 ejemplos anteriores cambiando el cuadrado por la forma cuyas
coordenadas se muestran a continuaci´on:
(0,0) (10,0)
(15,5)
(10,10)
(0,10)
(5,5)
Guarda las figuras en un ´ unico fichero con nombre figuras.mp. Procesa este fichero con la aplica-
ci´on mpost. Se generar´an 5 ficheros figuras.1, ..., figuras.5. Cambia el nombre a las figuras tal y
como se ha explicado anteriormente e incl´ uyelas en un documento que se procese mediante pdflatex.
Ejemplo
Desplazamiento de una figura rellena con color variable
P´agina: 12
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
be g i nf i g ( 6)
path p ;
p = ( 0 , 0) −−(5,0) −−(5,10) −−(0,10)−−c yc l e ;
f o r x=0 s t ep 0 . 0 2 5 unt i l 1 :
show x∗200;
f i l l p s hi f t e d ( x∗200 , 0) wi t hc ol or x∗ red
+ (1−x) ∗ bl ue ;
endf or ;
e ndf i g ;
Ejemplo
Escalado y rotaci´on de una figura rellena
be g i nf i g ( 7)
path p ;
p = ( 0 , 0) −−(10,0) −−(10,10) −−(0,10)−−c yc l e ;
f o r x=30 s t ep 30 unt i l 360:
f i l l p s c al e d 2 r ot at ed x wi t hc ol or 0 . 6 red ;
endf or ;
f i l l f u l l c i r c l e s c al e d 1cm wi t hc ol or whi te ;
e ndf i g ;
Hemos visto que la variable path almacena una ruta. Hay otros tipos de variables que almacenan
otros tipos de datos, por citar algunos:
numeric para almacenar un valor num´erico.
pair para almacenar un punto con coordenadas x e y.
color para almacenar un color.
string para almacenar texto.
picture para almacenar la figura.
Ejemplo
Uso de la variable pair
P´agina: 13
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
be g i nf i g ( 8)
pai r pa , pb ;
pai r pc , pd ;
pa : =( 10 , 10) ;
pb: =( 40 , 40) ;
draw pa −− pb ;
draw pa wi thpen pe nc i r c l e s c al e d 4 bp ;
draw pb wi thpen pe nc i r c l e s c al e d 4 bp ;
pc : =( 10 , 40) ;
pd: =( 40 , 10) ;
draw pc −− pd ;
draw pc wi thpen pe nc i r c l e s c al e d 4 bp ;
draw pd wi thpen pe nc i r c l e s c al e d 4 bp ;
e ndf i g ;
La ruta entre puntos puede ser curva.
Ejemplo
Rutas curvas y puntos de intersecci´on
be g i nf i g ( 9)
pai r pa , pb ;
pai r pc , pd ;
pa : =( 10 , 10) ;
pb: =( 40 , 40) ;
path l i ne aa ;
l i ne aa : = pa{ di r =20}. . pb ;
draw l i ne aa ;
draw pa wi thpen pe nc i r c l e s c al e d 4 bp ;
draw pb wi thpen pe nc i r c l e s c al e d 4 bp ;
pc : =( 10 , 40) ;
pd: =( 40 , 10) ;
path l i ne ab ;
l i ne ab : = pc{ di r =−70}.. pd ;
draw l i ne ab ;
draw pc wi thpen pe nc i r c l e s c al e d 4 bp ;
draw pd wi thpen pe nc i r c l e s c al e d 4 bp ;
draw l i ne aa i nt e r s e c t i o npo i nt l i ne ab wi thpen
pe nc i r c l e s c al e d 4 bp wi t hc ol or 0 . 7 red ;
e ndf i g ;
P´agina: 14
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
Es posible a˜ nadir texto utilizando label. Si se desea poner un punto y una etiqueta se puede
utilizar dotlabel.
Se puede controlar la posici´on en la que aparecer´a el texto respecto a la posici´on utilizando:
dotlabel.pos("texto",punto)
o,
label.pos("texto",punto)
donde pos puede ser:
top Sobre el punto
bot Debajo del punto
rt A la derecha del punto
lft A la izquierda del punto
urt Sobre el punto a la derecha
lrt Bajo el punto a la derecha
ulft Sobre el punto a la izquierda
llft Bajo el punto a la izquierda
Si se desea tener control sobre el texto se puede poner entre btex y etex (que son abreviaturas de
begintex y endtex respectivamente). Por ejemplo para poner

2 a la derecha del punto (0, 0) se puede
hacer lo siguiente:
label.rt(btex $\sqrt 2$ etex, (0,0))
Ejemplo
Etiquetas, flechas y punto medio
P´agina: 15
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
be g i nf i g ( 10)
de f a ul t f o nt : = ” t i r ”;
de f a ul t s c a l e : = 12 pt / f o nt s i z e ( de f a ul t f o nt ) ;
pai r pa , pb ;
pai r med, e t i q ;
pa : =( 10 , 10) ;
pb: =(200 , 20) ;
path l i ne aa ;
l i ne aa : = pa . . c o nt r o l s ( 40 , 40) and ( 150 , 5) . .
pb ;
draw l i ne aa ;
% Punto medio
med : = poi nt 1/2 l engt h ( l i ne aa ) of l i ne aa ;
dot l abe l . top (”A” , pa ) ;
dot l abe l . top (”B” , pb) ;
e t i q : = ( xpart med, 60) ;
drawarrow et i q −−med;
l a be l . top (” Punto medio ” , e t i q ) ;
e ndf i g ;
A
B
Punto medio
Ejercicio 7
Realiza la siguiente figura:
a
b

(a
2
+ b
2
)
Metapost es capaz de encontrar la intersecci´on entre dos caminos cerrados.
P´agina: 16
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
Ejemplo
Intersecci´on entre rutas
be g i nf i g ( 11)
u:=2cm;
path c [ ] ;
c [ 1 ] : = f u l l c i r c l e s c al e d u ;
c [ 2 ] : = c [ 1 ] s hi f t e d ( 0 , . 5 u) ;
draw c [ 1 ] dashed evenl y ;
draw c [ 2 ] dashed evenl y ;
draw bui l dc yc l e ( c [ 1 ] , c [ 2 ] ) wi thpen pe nc i r c l e
s c al e d 1 bp ;
e ndf i g ;
Ejercicio 8
Realiza la siguiente figura:
Tambi´en es posible trabajar con funciones. En el ejemplo siguiente se dibuja la funci´on
1
x
+ 0,56 ln(x)
en el rango de valores x ∈ [0,15, 10] utilizando un incremento de 0,1. Adem´as se encuentra el m´ınimo
de la funci´on y se dibujan los ejes utilizando s´ımbolos matem´aticos.
Ejemplo (Complejo)
Funciones
P´agina: 17
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
be g i nf i g ( 12) ;
de f a ul t f o nt : = ” t i r ”;
de f a ul t s c a l e : = 18 pt / f o nt s i z e ( de f a ul t f o nt ) ;
numeri c xmin , xmax , ymin , ymax ;
xmin : = 0 . 1 5 ; xmax : = 1 0 ; ymax : = 1/ xmin ;
u : = 1cm;
% De f i ni c i on de l a f unci on l n
var def l n ( expr x) = ( mlog ( x) /256) enddef ;
% De f i ni c i on de l a f unci on f
var def f ( expr x) = 1/x + 0. 56∗ l n ( x) enddef ;
xi nc : = 0 . 1 ;
path p t s f ;
% Esto cons t r uye e l path de l a curva ( s e u t i l i z a l a f unci on f )
p t s f : = ( xmin , f ( xmin) ) ∗u
f o r x=xmin+xi nc s t ep xi nc unt i l xmax+xi nc :
. . ( x , f ( x) ) ∗u
endf or ;
draw p t s f ;
% Esto s i r v e para encont r ar e l minimo de l a f unci on
numeri c minx , miny , val y ;
minx = xmin ;
miny = f ( xmin) ;
f o r x=xmin+xi nc s t ep xi nc unt i l xmax+xi nc :
val y : = f ( x) ;
i f ( val y < miny) :
minx : = x ;
miny : = val y ;
f i ;
endf or ;
pai r minimo , i n i c i a l , f i n a l ;
minimo : = ( minx , miny) ∗u ;
i n i c i a l = ( xmin , f ( xmin) ) ∗u ;
f i n a l = (xmax , f (xmax) ) ∗u ;
draw minimo wi thpen pe nc i r c l e s c al e d 3 pt wi t hc ol or 0 . 3 whi te ;
draw i n i c i a l wi thpen pe nc i r c l e s c al e d 3 pt wi t hc ol or 0 . 3 whi te ;
draw f i n a l wi thpen pe nc i r c l e s c al e d 3 pt wi t hc ol or 0 . 3 whi te ;
path hl i ne , vl i ne ;
hl i ne = ( 0 , 0) ∗u −− (xmax , 0 ) ∗u ;
vl i ne = ( 0 , 0) ∗u −− (0,ymax) ∗u ;
draw hl i ne ;
draw vl i ne ;
l a be l . bot ( btex $\lambda$ etex , ( 0 . 9 xmax , 0 ) ∗u) ;
l a be l . l f t ( btex $d( I o , I L (\ lambda ) ) $ et ex r ot at ed 9 0 , ( 0 , 0 . 6 ymax) ∗u) ;
draw ( xpart minimo,−u/10) −− ( xpart minimo , u/10) ;
l a be l . bot ( btex $\lambda o$ etex , ( xpart minimo , 0 ) ) ;
draw ( −u/10 , ypart minimo ) −− (u/10 , ypart minimo ) ;
l a be l . l f t ( btex $d o$ etex , ( 0 , ypart minimo ) ) ;
e ndf i g ;
P´agina: 18
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
λ
d
(
I
o
,
I
L
(
λ
)
)
λ
o
d
o
Tambi´en es posible dibujar un gr´afico a partir de una tabla de datos. Para ello hay que importar
el fichero graph.mp e indicar el fichero que contiene los datos.
Ejemplo
Gr´aficas de datos
Supongamos un fichero datos.dat que contiene pares de puntos del tipo (x
n
, sin(x
n
)) en cada fila.
Para representarlos se puede hacer lo siguiente:
i nput graph ;
be g i nf i g ( 13) ;
draw begi ngraph (8cm, 4cm) ;
gl abe l . l f t ( btex \ vbox{\hbox{$y$ }} etex , OUT) ;
gl abe l . bot ( btex \ vbox{\hbox{$x$ }} etex , OUT) ;
gdraw ” datos . dat ” wi thpen pe nc i r c l e s c al e d 1 pt wi t hc ol or 0 . 4 whi te ;
gl abe l . urt ( btex $s i n ( x) $ etex , 15) ;
endgraph ;
e ndf i g ;
sin(x)
0 2 4 6
−1
−0.5
0
0.5
1
x
y
P´agina: 19
Latex Avanzado
Paquetes y herramientas para gr´aficos
Dept. d’Inform`atica
Universitat de Val`encia
4. Dia
Este programa se puede utilizar para hacer diagramas de flujo, diagramas el´ectricos, diagramas
UML, etc
Permite exportar las figuras a png a eps e incluso a Metapost (con lo cual se puede editar y cambiar
lo que deseemos).
El gr´afico exportado no coincide exactamente con lo que se ve en la pantalla (lo cual es un poco
desagradable) pero... es freeware.
5. JFig y fig2dev
JFig es una aplicaci´on similar al famoso Xfig de Unix. JFig est´a realizado en Java por lo que
es necesario tener instalada una m´aquina virtual de Java (Java Runtime Environment). Antes era
freeware pero ahora es shareware.
Guarda las figuras en formato *.fig. Se puede utilizar fig2dev para realizar conversiones a otros
formatos (como por ejemplo postscript).
Por ejemplo si tenemos una figura realizada con JFig y deseamos exportarla a Postscript encap-
sulado (suponiendo que fig2dev est´a en el path):
fig2dev -L eps -m 0.5 figura.fig figura.eps
donde lo que sigue a la opci´on -L es el lenguaje al que se desea exportar y lo que sigue a la opci´on -m
es el escalado global.
6. eps2pdf
Si el programa de gr´aficos que estamos utilizando permite exportar a Postscript encapsulado pero
no a PDF, y deseamos trabajar con pdflatex (que no admite Postscript como formato gr´afico) se
pueden transformar los ficheros *.eps mediante la utilidad eps2pdf.
La figura exportada a eps en la secci´on anterior se podr´ıa incluir en un fichero para ser procesado
mediante latex pero si se desea incluir en un fichero que sea procesado mediante pdflatex hay que
realizar un paso adicional para convertirla a pdf:
eps2pdf /f figura.eps
P´agina: 20

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->