Latex Avanzado Paquetes y herramientas para gráficos. 1. Introducción. 2. xymatrix 1. 3. Metapost 8. 3.1. Metapost y Latex... 9



Documentos relacionados
MICROSOFT WORD 2007 AVANZADO. Unidad Didáctica Nº 1

Draw: objetos en 3D, diagramas de flujo y exportación

Imprimir códigos de barras

generar columnas de texto y números disponer texto en columnas paralelas (para traducciones por ejemplo) situar imágenes junto a textos.

Operación de Microsoft Excel

Ministerio de Educación. Diseño de Presentaciones en la Enseñanza. Módulo 9: Imprimir

TÉCNICAS DE GESTIÓN ADMINISTRATIVA PARA PEQUEÑAS EMPRESAS

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

Paso 1 de 13. Paso 2 de 13. Guía de aprendizaje de Flash CS5 Tutorial 3. Creación de un logotipo textual.

2_trabajar con calc I

Excel 2010 Dar formato a la hoja de cálculo

El módulo de texto plano es un sencillo editor. Al seleccionarlo en la caja de módulos, el área central adoptará al siguiente aspecto:

Combinar correspondencia (I)

MANUAL DE FORMULARIOS WEB. Informazio Zerbitzua Servicio de Información

9. Composer: Bugs y consejos.

Manual Word Tablas

Presentaciones con pdfscreen

COREL DRAW PARTE II. TERCER y CUARTO BIMESTRE 1 B - 2 AÑO A- B TABLAS

MS ACCESS BÁSICO 6 LOS INFORMES

Plantilla de texto plano

Corte y Grabado Grabado Corte Marcado de líneas Izquierda: Derecha: Izquierda: Centro: (*) Derecha: (*) -

Windows Journal en dos patadas

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Plantilla de texto plano

Anna Berbel i Mihaela Elena. Manual PREZI DATA MODIFICACIÓ: VERSIÓ: I

CAJA DE ESQUINAS REDONDEADAS Y ANCHO FIJO ver. 3

TEMA 5. INTRODUCCIÓN AL MANEJO DE ORIGIN 6.1

BASES DE DATOS - Microsoft ACCESS 2007-

Técnicas de Programación

OpenOffice.org Calc MANUAL CALC 1.INTRODUCCIÓN ENTORNO BARRAS DE MENÚ PERSONALIZACIÓN DE BARRAS... 4

Para crear una lista como la anterior, primero escribe la información, y después selecciona el texto y aplícale el formato de viñetas.

A continuación se describen cuáles son los elementos principales de las tablas, cómo crear una y cómo modificarla.

Aplicaciones Lineales

Instructivo - Instalación y Uso de PDF Creator

Uso del programa CALC

3_formato I. NOTA: al pegar unas celdas sobre otras no vacías, se borrará el contenido de estas últimas.

CURSOS PRÁCTICOS SEDEN. Maquetación de un trabajo en Word SEDEN

Análisis de los datos

Operación Microsoft Access 97

Índice general de materias LECCIÓN 7 74

Aplicación Virtual Glass by Verallia Creación de Imágenes para Etiquetas y Cápsulas

Sección 4.1 Imágenes e ilustraciones

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

Tutorial de Introducción a la Informática Tema 0 Windows. Windows. 1. Objetivos

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Tema 2. Espacios Vectoriales Introducción

SESIÓN 6 INTRODUCCIÓN A WORD.

Poner músicas por mumble en PDR for DUMMIES

Roberto Quejido Cañamero

Teclado sobre una PDA para Personas con Parálisis Cerebral

Manual de ayuda para la utilización del Correo Interno en el Campus Virtual

Tema: CREACIÓN y FORMATEO DE HOJAS ELECTRONICAS EN EXCEL 2013.

Graficando con Octave

Instituto Mar de Cortés Elaborar Documentos en Procesador de Texto

PRÁCTICAS DE GESTIÓN GANADERA:

Instructivo de Microsoft Excel 2003

Funciones en Excel (II)

Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA. Gráficos de Excel. Hojas de cálculo Tema 4

GUIA TALLER No. 1 ESPECIALIZACIÓN EN MULTIMEDIA PARA LA DOCENCIA Prof. Ing. FREDYS SIMANCA HERRERA

Introducción RecetatorUSB

MICROSOFT EXCEL Introducción: Qué es y para qué sirve Excel2007? TECNOLOGIA/ INFORMATICA: MS-EXCEL

01 Índice. GESTOR DE CONTENIDOS Manual de uso 01 ÍNDICE OBJETO DEL DOCUMENTO ESTRUCTURA GRÁFICA DEL SISTEMA... 3

1.- MENU DE CONTROL O MENU VENTANA: permite cerrar la ventana cambiarla de tamaño y pasar a otra ventana

MINITUTORIAL PARA EL MANEJO DE TABLEAU

Manual de NVU Capítulo 5: Las hojas de estilo

UNIDAD I PROCESADOR DE TEXTOS

Plantilla de menú de bloques

Manual de Introducción a SIMULINK

Sistema Ventanilla Manual Solicitud Compra DIMERC

Páginas multimedia Dashboard

CRM para ipad Manual para Usuario

INSTRUCCIÓN DE SERVICIO NOCIONES BÁSICAS PARA DIAGRAMAS DE FLUJO. MICROSOFT VISIO

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

Matrices equivalentes. El método de Gauss

efactura Online La fibra no tiene competencia

Internet Information Server

Bases de Datos en Visual FoxPro. Administrador de proyectos

Cómo convertir texto de Word en una tabla de datos en Excel (todas las versiones)

Para trabajar este tema vamos a situarlo un poco más en el lenguaje común:

TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS

Gráficos en Matlab

GVisualPDA Módulo de Almacén

Dinos qué tal lo estamos haciendo

Procesador de texto Apunte N 5

ELABORACIÓN DE TABLEROS DINÁMICOS DE COMUNICACIÓN CON EL PROGRAMA EDITOR TICO

SIGUIENDO EL CAMINO Prerrequisitos: Tener adecuadamente configurado los ajustes de voz/sonidos en configuración Avisos Voz/sonidos

Introducción al diseño híbrido con ZW3D

Trabajar con diapositivas

EMPLEO NTIC`S II SEGUNDO SEMESTRE

Conversor de audios y vídeos.

Como verás pone Microsoft Office y si te colocas sobre esta línea debería salir:

PROGRAMA INFORMÁTICO PARA LA CUMPLIMENTACIÓN DE RECETAS EN FORMATO XML VERSIÓN: 1.0

Diseño de actividades para el aula con Jclic Módulo 2: Generalidades sobre la creación de Proyectos Jclic

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 2: representación de la información

CREACIÓN Y CONFIGURACIÓN DE WIKIS

Word XP (Continuación) Salto de página vs. Salto de Sección

Kaldeera Advanced Forms 2009 Guía del usuario

Transcripción:

Índice 1. Introducción 1 2. xymatrix 1 3. Metapost 8 3.1. Metapost y Latex....................................... 9 3.2. Metapost y pdflatex..................................... 9 3.3. s y ejercicios..................................... 10 4. Dia 20 5. JFig y fig2dev 20 6. eps2pdf 20 1. Introducción En este documento se presenta el paquete xymatrix que se puede utilizar para generar diagramas directamente en el fichero tex. También se presenta una selección de herramientas (Metapost, JFig, Dia, eps2pdf, fig2dev) que se pueden utilizar para generar gráficos 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ámbulo (para trabajar con pdflatex). Página: 1

Latex Avanzado \ documentclass [ a4paper, spanish, 1 1 pt ] { a r t i c l e } \ usepackage [ p d f t e x ] { graphicx } \ usepackage [ p d f t e x ] { c o l o r } % Para t r a b a j a r con l a t e x comentar l a s dos a n t e r i o r e s y descomentar e s t a s %\usepackage [ dvips ] { g r a p h i c s } %\usepackage [ dvips ] { c o l o r } \ usepackage {amsmath} % Para t r a b a j a r con a c e n t o s \ usepackage [ l a t i n 1 ] { inputenc } \ usepackage [ s p a n i s h ] { babel } \ usepackage [ a l l ] { xy} \ begin { document} \ xymatrix {... } \ end{ document} Una matriz se puede insertar dentro de una ecuación utilizando el entorno matrix. Una matriz en Latex a c b d \ [ \ begin { bmatrix } a & b \\ c & d \end{ bmatrix } \ ] Aquellos diagramas que tengan una estructura similar a una matriz se pueden dibujar utilizando el comando xymatrix. Una modificación del ejemplo anterior para unir con flechas los cuatro elementos sería: Un primer ejemplo de diagrama a b \ xymatrix { a \ ar [ r ] & b \ ar [ d ] \ \ c \ ar [ u ] & d \ ar [ l ] } c d Página: 2

Latex Avanzado donde \ar[ ] indica que se desea dibujar una flecha y el argumento entre corchetes indica la dirección en la que se debe dibujar. Carácter r l u d Significado una columna hacia la derecha (right) una columna hacia la izquierda (left) una fila hacia arriba (up) 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[ ] Estilos de las flechas \ xymatrix { {\ b u l l e t } \ ar@{=>}[dr ] & & {\ b u l l e t } \ ar@{ >}[ dr ] & & {\ b u l l e t } \ ar@{ }[ dr ] & \\ & {\ b u l l e t } \ ar@ {: >}[ ur ] & & {\ b u l l e t } \ ar@{ >}[ur ] & & {\ b u l l e t } } Ejercicio 2 Añade al documento anterior la figura: Página: 3

Latex Avanzado a b c Si se desean poner etiquetas a las flechas se puede hacer del siguiente modo: Etiquetas sobre las flechas i a c f h b d g \ xymatrix { a \ ar [ r ] ˆ f & b \ ar [ d ] ˆ g \\ c \ ar [ u ] ˆ i & d \ ar [ l ] h } Ejercicio 3 Añade al documento anterior la figura: T a b c G También es posible que la etiqueta no esté por encima o por debajo (o a la izquierda o derecha si la flecha es vertical) sino que esté en medio, para ello hay que indicar que se debe producir un corte. Etiquetas partiendo las flechas Página: 4

Latex Avanzado i a f b c h d g \ xymatrix { a \ ar [ r ] { f } & b \ ar [ d ] ˆ g \\ c \ ar [ u ] ˆ i & d \ ar [ l ] h } Las flechas no tienen porqué ser rectas, se pueden dibujar con curvatura. 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ñade al documento anterior la figura: a R T b c G Se puede decorar el texto con rectángulos, circunferencias, se puede hacer que el objeto sea mayor o menor... La sintaxis es *{modificador}{elemento} Página: 5

+ Aumenta un poco el tamaño. Se puede especificar la cantidad utilizando +<cantidad> += Hace que el tamaño del objeto sea cuadrado aumentando la dimensión menor. -= hace que se disminuya la mayor de las dimensiones. [F] Pone un rectángulo alrededor del texto. [F=] Pone un rectángulo con linea doble alrededor del texto. [F.] Pone un rectángulo punteado alrededor del texto. [F--] Pone un rectángulo con línea discontinua alrededor del texto. [F-,] Pone un rectángulo sombreado alrededor del texto. [o][f] Pone una circunferencia alrededor del texto. 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 ] A B \xymatrix{*+[o][f]{a} \ar[r] & B} El texto que aparece está en formato de matemáticas (que es conveniente para poner variables o expresiones matemáticas 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. Palabras o frases como elementos Página: 6

Latex Avanzado Paquetes y herramientas para gra ficos Dept. d Informa tica Universitat de Vale ncia 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 aplicara n a todos los elementos 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 taman o 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. Decoraciones en todos los elementos / Filtro pasa baja / O O Imagen original Imagen desenfocada \ begin { center } \ e n t r y m o d i f i e r s ={++[F ] } \ xymatrix@=1cm{ \ i n c l u d e g r a p h i c s [ width=4cm ] { im a g en es / im1. png } \ a r [ r ] & \ t x t { F i l t r o pasa b a j a } \ a r [ r ] & \ i n c l u d e g r a p h i c s [ width=4cm ] { im a g en es / im2. png } \ \ \ t x t {\ s c r i p t s i z e \ em Imagen o r i g i n a l } \ a r [ u ] & { } & \ t x t {\ s c r i p t s i z e \ em Imagen desenfocada } \ ar [ u ] } \ end { c e n t e r } Pa gina: 7

Latex Avanzado Ejercicio 5 Añade al documento anterior las figuras: DNA Transcripción RNA Traslación Proteínas x 2 x 3 3 + C D Fichero tex latex Fichero dvi Fichero pdf pdflatex dvips Fichero ps ps2pdf Fichero pdf 3. Metapost Metapost es un lenguaje de programación de gráficos desarrollado por John Hobby en los laboratorios Bell que permite producir gráficos de alta calidad. Está basado en en Metafont de Donald Knuth, pero genera una salida PostScript. Las figuras se almacenan en un fichero (habitualmente con extensión mp). La estructura de este fichero se muestra a continuación: b e g i n f i g ( 1 ) I n s t r u c c i o n e s para g e n e r a r l a f i g u r a 1 Página: 8

b e g i n f i g ( 2 ) I n s t r u c c i o n e s para g e n e r a r l a f i g u r a 2... b e g i n f i g ( n ) I n s t r u c c i o n e s para g e n e r a r l a f i g u r a n 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ón de Miktex). La instrucción será: mpost figuras.mp Este procesado consiste en la generación 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án los fichero figuras.1,..., figuras.n siendo n el número 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ódigo: \ documentclass [ a4paper, spanish, 1 1 pt ] { a r t i c l e } \ usepackage [ dvips ] { g r a p h i c s } \ usepackage {amsmath} % Para t r a b a j a r con a c e n t o s \ usepackage [ l a t i n 1 ] { inputenc } \ usepackage [ s p a n i s h ] { babel } \ begin { document} \ i n c l u d e g r a p h i c s { imagenes / f i g u r a. 1 } \ end{ document} para ser procesado mediante Latex. 3.2. Metapost y pdflatex Si en lugar de utilizar Latex se está interesado en utilizar pdflatex hay que realizar los siguientes pasos: Página: 9

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: \ documentclass [ a4paper, spanish, 1 1 pt ] { a r t i c l e } \ usepackage [ p d f t e x ] { graphicx } \ usepackage {amsmath} % Para t r a b a j a r con a c e n t o s \ usepackage [ l a t i n 1 ] { inputenc } \ usepackage [ s p a n i s h ] { babel } \ begin { document}... \ i n c l u d e g r a p h i c s [ nombrefiguras. mps ]... \ end{ document} El cambio de la extensión del fichero es importante ya que cuando pdflatex encuentra un fichero con extensión mps lo convierte automáticamente a un formato compatible con PDF. Si no se hace esto las figuras no se visualizarán. Este cambio de extensión nos ahorra realizar la conversión por nuestra cuenta (que se puede realizar utilizando la aplicación mptopdf). 3.3. s y ejercicios Un ejemplo de dibujo en Metapost b e g i n f i g ( 1 ) draw ( 0, 0 ) (10,0) (10,10) (0,10) (0,0) ; 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ándose dos ficheros: figura.1 que contiene la figura en formato PostScript y figura.log que contiene información sobre el proceso realizado. Página: 10

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. Utilización de una variable para almacenar una ruta b e g i n f i g ( 2 ) path p ; p = ( 0, 0 ) (10,0) (10,10) (0,10) c y c l e ; draw p ; Desplazamiento de una figura b e g i n f i g ( 3 ) path p ; p = ( 0, 0 ) (10,0) (10,10) (0,10) c y c l e ; draw p ; draw p s h i f t e d ( 1 0, 0 ) ; Rotación de una figura b e g i n f i g ( 4 ) path p ; p = ( 0, 0 ) (10,0) (10,10) (0,10) c y c l e ; f o r x=10 s t e p 1 0 u n t i l 3 6 0 : draw p r o t a t e d x ; e n d f o r ; Página: 11

Desplazamiento y rotación de una figura b e g i n f i g ( 5 ) path p ; p = ( 0, 0 ) (10,0) (10,10) (0,10) c y c l e ; f o r x=5 s t e p 5 u n t i l 3 6 0 : draw p r o t a t e d x s h i f t e d ( x, 0 ) ; e n d f o r ; Ejercicio 6 Realiza lo mismo que en los 5 ejemplos anteriores cambiando el cuadrado por la forma cuyas coordenadas se muestran a continuación: (0,10) (10,10) (5,5) (15,5) (0,0) (10,0) Guarda las figuras en un único fichero con nombre figuras.mp. Procesa este fichero con la aplicación mpost. Se generarán 5 ficheros figuras.1,..., figuras.5. Cambia el nombre a las figuras tal y como se ha explicado anteriormente e inclúyelas en un documento que se procese mediante pdflatex. Desplazamiento de una figura rellena con color variable Página: 12

b e g i n f i g ( 6 ) path p ; p = ( 0, 0 ) (5,0) (5,10) (0,10) c y c l e ; f o r x=0 s t e p 0. 0 2 5 u n t i l 1 : show x 2 0 0 ; f i l l p s h i f t e d ( x 200,0) w i t h c o l o r x red + (1 x ) blue ; e n d f o r ; Escalado y rotación de una figura rellena b e g i n f i g ( 7 ) path p ; p = ( 0, 0 ) (10,0) (10,10) (0,10) c y c l e ; f o r x=30 s t e p 3 0 u n t i l 3 6 0 : f i l l p s c a l e d 2 r o t a t e d x w i t h c o l o r 0. 6 red ; e n d f o r ; f i l l f u l l c i r c l e s c a l e d 1cm w i t h c o l o r white ; 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érico. pair para almacenar un punto con coordenadas x e y. color para almacenar un color. string para almacenar texto. picture para almacenar la figura. Uso de la variable pair Página: 13

b e g i n f i g ( 8 ) p a i r pa, pb ; p a i r pc, pd ; pa : = ( 10,10) ; pb : = (40, 4 0 ) ; draw pa pb ; draw pa withpen p e n c i r c l e s c a l e d 4 bp ; draw pb withpen p e n c i r c l e s c a l e d 4 bp ; pc :=(10, 40) ; pd : = (40, 1 0 ) ; draw pc pd ; draw pc withpen p e n c i r c l e s c a l e d 4 bp ; draw pd withpen p e n c i r c l e s c a l e d 4 bp ; La ruta entre puntos puede ser curva. Rutas curvas y puntos de intersección b e g i n f i g ( 9 ) p a i r pa, pb ; p a i r pc, pd ; pa : = ( 10,10) ; pb : = (40, 4 0 ) ; path l i n e a a ; l i n e a a : = pa{ d i r =20}.. pb ; draw l i n e a a ; draw pa withpen p e n c i r c l e s c a l e d 4 bp ; draw pb withpen p e n c i r c l e s c a l e d 4 bp ; pc :=(10, 40) ; pd : = (40, 1 0 ) ; path l i n e a b ; l i n e a b : = pc{ d i r = 70}..pd ; draw l i n e a b ; draw pc withpen p e n c i r c l e s c a l e d 4 bp ; draw pd withpen p e n c i r c l e s c a l e d 4 bp ; draw l i n e a a i n t e r s e c t i o n p o i n t l i n e a b withpen p e n c i r c l e s c a l e d 4 bp w i t h c o l o r 0. 7 red ; Página: 14

Es posible añadir texto utilizando label. Si se desea poner un punto y una etiqueta se puede utilizar dotlabel. o, Se puede controlar la posición en la que aparecerá el texto respecto a la posición utilizando: dotlabel.pos("texto",punto) label.pos("texto",punto) donde pos puede ser: top bot rt lft urt lrt ulft llft Sobre el punto Debajo del punto A la derecha del punto A la izquierda del punto Sobre el punto a la derecha Bajo el punto a la derecha Sobre el punto a la izquierda 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)) Etiquetas, flechas y punto medio Página: 15

b e g i n f i g ( 1 0 ) d e f a u l t f o n t : = t i r ; d e f a u l t s c a l e : = 1 2 pt / f o n t s i z e ( d e f a u l t f o n t ) ; p a i r pa, pb ; p a i r med, e t i q ; pa : = ( 10,10) ; pb :=(200,20) ; path l i n e a a ; l i n e a a : = pa.. c o n t r o l s ( 4 0, 4 0 ) and ( 1 5 0, 5 ).. pb ; draw l i n e a a ; % Punto medio med : = p o i n t 1/2 l e n g t h ( l i n e a a ) o f l i n e a a ; A Punto medio B d o t l a b e l. top ( A, pa ) ; d o t l a b e l. top ( B, pb ) ; e t i q : = ( xpart med, 6 0 ) ; drawarrow e t i q med ; l a b e l. top ( Punto medio, e t i q ) ; Ejercicio 7 Realiza la siguiente figura: b (a 2 + b 2 ) a Metapost es capaz de encontrar la intersección entre dos caminos cerrados. Página: 16

Intersección entre rutas b e g i n f i g ( 1 1 ) u:=2cm ; path c [ ] ; c [ 1 ] : = f u l l c i r c l e s c a l e d u ; c [ 2 ] : = c [ 1 ] s h i f t e d ( 0,. 5 u ) ; draw c [ 1 ] dashed evenly ; draw c [ 2 ] dashed evenly ; draw b u i l d c y c l e ( c [ 1 ], c [ 2 ] ) withpen p e n c i r c l e s c a l e d 1 bp ; Ejercicio 8 Realiza la siguiente figura: También es posible trabajar con funciones. En el ejemplo siguiente se dibuja la función 1 + 0,56 ln(x) x en el rango de valores x [0,15, 10] utilizando un incremento de 0,1. Además se encuentra el mínimo de la función y se dibujan los ejes utilizando símbolos matemáticos. (Complejo) Funciones Página: 17

b e g i n f i g ( 1 2 ) ; d e f a u l t f o n t : = t i r ; d e f a u l t s c a l e : = 1 8 pt / f o n t s i z e ( d e f a u l t f o n t ) ; numeric xmin, xmax, ymin, ymax ; xmin : = 0. 1 5 ; xmax : = 1 0 ; ymax : = 1 / xmin ; u : = 1cm ; % D e f i n i c i o n de l a f u n c i o n l n v a r d e f l n ( expr x ) = ( mlog ( x ) /256) enddef ; % D e f i n i c i o n de l a f u n c i o n f v a r d e f f ( expr x ) = 1/ x + 0. 5 6 l n ( x ) enddef ; x i n c : = 0. 1 ; path p t s f ; % Esto c o n s t r u y e e l path de l a curva ( s e u t i l i z a l a f u n c i o n f ) p t s f : = ( xmin, f ( xmin ) ) u f o r x=xmin+x i n c s t e p x i n c u n t i l xmax+x i n c :.. ( x, f ( x ) ) u e n d f o r ; draw p t s f ; % Esto s i r v e para e n c o n t r a r e l minimo de l a f u n c i o n numeric minx, miny, valy ; minx = xmin ; miny = f ( xmin ) ; f o r x=xmin+x i n c s t e p x i n c u n t i l xmax+x i n c : valy : = f ( x ) ; i f ( valy < miny ) : minx : = x ; miny : = valy ; f i ; e n d f o r ; p a i 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 withpen p e n c i r c l e s c a l e d 3 pt w i t h c o l o r 0. 3 white ; draw i n i c i a l withpen p e n c i r c l e s c a l e d 3 pt w i t h c o l o r 0. 3 white ; draw f i n a l withpen p e n c i r c l e s c a l e d 3 pt w i t h c o l o r 0. 3 white ; path h l i n e, v l i n e ; h l i n e = ( 0, 0 ) u (xmax, 0 ) u ; v l i n e = ( 0, 0 ) u (0,ymax) u ; draw h l i n e ; draw v l i n e ; l a b e l. bot ( btex $\lambda$ etex, ( 0. 9 xmax, 0 ) u ) ; l a b e l. l f t ( btex $d ( I o, I L (\ lambda ) ) $ e t e x r o t a t e d 9 0, ( 0, 0. 6 ymax) u ) ; draw ( xpart minimo, u /10) ( xpart minimo, u /10) ; l a b e l. bot ( btex $\ lambda o$ etex, ( xpart minimo, 0 ) ) ; draw ( u /10, ypart minimo ) (u /10, ypart minimo ) ; l a b e l. l f t ( btex $d o$ etex, ( 0, ypart minimo ) ) ; Página: 18

d(io, IL(λ)) d o λ o λ También es posible dibujar un gráfico a partir de una tabla de datos. Para ello hay que importar el fichero graph.mp e indicar el fichero que contiene los datos. Gráficas 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: input graph ; b e g i n f i g ( 1 3 ) ; draw begingraph ( 8cm, 4cm) ; g l a b e l. l f t ( btex \ vbox {\ hbox{ $y$ }} etex, OUT) ; g l a b e l. bot ( btex \ vbox {\ hbox{ $x$ }} etex, OUT) ; gdraw datos. dat withpen p e n c i r c l e s c a l e d 1 pt w i t h c o l o r 0. 4 white ; g l a b e l. urt ( btex $ s i n ( x ) $ etex, 1 5 ) ; endgraph ; 1 y 0.5 0 0.5 1 sin(x) 0 2 4 6 x Página: 19

4. Dia Este programa se puede utilizar para hacer diagramas de flujo, diagramas eléctricos, 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áfico 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ón similar al famoso Xfig de Unix. JFig está realizado en Java por lo que es necesario tener instalada una máquina 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 encapsulado (suponiendo que fig2dev está en el path): fig2dev -L eps -m 0.5 figura.fig figura.eps donde lo que sigue a la opción -L es el lenguaje al que se desea exportar y lo que sigue a la opción -m es el escalado global. 6. eps2pdf Si el programa de gráficos que estamos utilizando permite exportar a Postscript encapsulado pero no a PDF, y deseamos trabajar con pdflatex (que no admite Postscript como formato gráfico) se pueden transformar los ficheros *.eps mediante la utilidad eps2pdf. La figura exportada a eps en la sección 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ágina: 20