Gu Ia Del Paquete Tikz: Daniel S Anchez S Anchez Matem Aticas - Universidad de Cartagena [PDF]

Gu´ıa del paquete Tikz Daniel S´anchez S´anchez Matem´aticas - Universidad de Cartagena 4 de noviembre de 2021 2 ´I

32 0 410KB

Report DMCA / Copyright

DOWNLOAD PDF FILE

Gu Ia Del Paquete Tikz: Daniel S Anchez S Anchez Matem Aticas - Universidad de Cartagena [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Gu´ıa del paquete Tikz Daniel S´anchez S´anchez Matem´aticas - Universidad de Cartagena

4 de noviembre de 2021

2

´Indice general 1. DIBUJOS CON TikZ

7

´ 1.1. DIBUJOS BASICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

1.1.1. Segmentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

1.1.2. Rect´ angulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

1.1.3. Cuadr´ıculas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

1.1.4. C´ırculos y elipses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

1.1.5. Par´ abolas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.1.6. Curvas con controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.1.7. Curvas con coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.1.8. Arcos con arc

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.1.9. Arcos con edge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 ´ DE PUNTO Y NODOS . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.2. DEFINICION 1.2.1. Definici´ on de puntos con coordinate y node . . . . . . . . . . . . . . . . . . 14 1.2.2. Posici´ on del texto en un nodo . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.2.3. Posici´ on del nodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.2.4. Dibujos utilizando nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 ´ 1.3. PARAMETROS OPCIONALES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.3.1. Escalar la figura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.3.2. Rotaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.3.3. Traslaci´ on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.3.4. Relleno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.3.5. Background con forma de ´esfera . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.3.6. Color del trazo y color del texto . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.3.7. Mezclar colores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.3.8. Definici´ on de colores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.3.9. Tipo de color y ubicaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3

´INDICE GENERAL

1.3.10. Delinear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.3.11. L´ınea doble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.3.12. Grosor y estilo de l´ıneas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.3.13. Redondear esquinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.3.14. Nombre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.3.15. Forma de la l´ınea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 ´ 1.4. MANEJO DE PARAMETROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.4.1. Ambiente scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.4.2. Comando clip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.4.3. Definici´ on de estilos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.5. OPCIONES DE LIBRER´IA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.5.1. Liber´ıa shadows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.5.2. Librer´ıa shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.5.3. Librer´ıa fit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.5.4. Librer´ıa positioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.5.5. Intersecci´ on de objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 ´ EN LATEX . . . . . . . . . . . . . . . . . . . . 24 1.6. ELEMENTOS DE PROGRAMACION 1.6.1. Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.6.2. Contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.6.3. Ciclos (comando foreach) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.7. COORDENADAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.7.1. Coordenadas cartesianas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.7.2. Coordenadas absolutas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.7.3. Coordenadas relativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.7.4. Coordenadas polares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.7.5. Coordenadas cartesianas en R3 . . . . . . . . . . . . . . . . . . . . . . . . . . 26 ´ SOFISTICADOS 1.8. DIBUJOS MAS

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

1.8.1. Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.8.2. Curvas param´etricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.8.3. Datos estad´ısticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2. DIBUJOS CON PGFPLOTS

33

2.1. DIBUJOS SOFISTICADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.1.1. Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4

´ nchez Sa ´ nchez Daniel Sa 2.1.2. Funciones en coordenadas polares . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.1.3. Superficies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.1.4. Curvas param´etricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5

´INDICE GENERAL

6

Cap´ıtulo 1

DIBUJOS CON TikZ 1.1.

´ DIBUJOS BASICOS

Para comenzar a crear nuestros dibujos por medio de TikZ en LATEX, partimos del uso del paquete esencial \usepackage{tikz} a medida que se requiera se deber´a agregar librerias propias del paquete por medio del comando: \usetikzlibrary{ libreria 1, libreria 2, ...} Ser´an muy utiles para agregar figuras cada vez m´as sotisficadas. Un ejemplo de estas librer´ıa son: calc, arrows, shapes, shadows, decorations etc. todo dibujo con tikz debe estar encerrado por el ambiente \begin{tikzpicture} ...; \end{tikzpicture} o tambi´en puede este comando para una sola l´ınea \tikz

l´ ına de comando

;

Nota 1.1.1. Es muy importante terminar cada linea de comando punto y coma (;) para indicar que all´ı termina la l´ınea de comandos. Nota 1.1.2. Es muy importante aclarar que tikz tiene conflictos con el paquete \usepackage{babel} y su par´ ametro opcional spanish, ya que ambos definen como caracteres activos a < y >, babel para el entrecomillado multinivel y tikz para las flechas de las l´ınas. Una forma de eliminar este conflicto es usando: \usepackage[spanish,es-noshorthands]{babel}

7

´ 1.1. DIBUJOS BASICOS

Al igual que en geometr´ıa anal´ıtica los puntos en TikZ se definen con pares ordenados. las unidades en Tikz por defecto son en cent´ımetros (cm); por lo tanto no hay distinci´on entre (x,y) y (xcm,ycm) (-7,2.65) y (-7cm,2.65cm).

1.1.1.

Segmentos

El comando utilizado para hacer cualquier tipo de trazo o dibujo es \draw. Asi haremos una l´ınea; especificando los extremos de ella. \draw (punto1) -- (punto2)

\begin{tikzpicture} \draw (0,0) -- (4,0); \end{tikzpicture} \begin{tikzpicture} \draw (0,0) -- (4,2); \end{tikzpicture} La uni´on de varios segmentos nos permitir´a realizar nuestros primeros dibujos, para ello se finalizar´a con la palabra cycle que enlazar´a el primer punto con el u ´ltimo. \draw (punto1) -- (punto2) --...-- (punto-n) -- cycle;

\begin{tikzpicture} \draw (0,0) -- (4,2) -- (4,0) -- (0,2) -- cycle; \end{tikzpicture}

1.1.2.

Rect´ angulos

La construcci´ on de rect´ angulos ser´ a mediante los puntos inferior izquierdo y superior derecho \draw (punto inferior izquierdo) rectangle (punto superior derecho);

\begin{tikzpicture} \draw (0,0) rectangle (1.5,0.75); \end{tikzpicture} 8

´ nchez Sa ´ nchez Daniel Sa

1.1.3.

Cuadr´ıculas

El comando grid Permite elaborar cuadr´ıculas. Se debe indicar las coordenadas del punto donde inicia (esquina inicial) y el punto donde termina (esquina final). Est´as cuadriculas resultan muy u ´tiles para cuando se gr´ afican planos cartesianos. \draw (esquina incial) grid (esquina final);

\begin{tikzpicture} \draw (-1,0) grid (3,3); \end{tikzpicture}

Con el comando help lines puede hacer que las lineas de la cuadr´ıcula sean mas opacas.

\begin{tikzpicture} \draw[help lines] (-1,0) grid (3,3); \end{tikzpicture}

Con el comando step, puede ajustar el tama˜ no de paso de las cuadr´ıculas.

\begin{tikzpicture} \draw[help lines, step=0.5cm] (-1,0) grid (3,3); \end{tikzpicture}

Podemos cambiar el color de la cuadr´ıcula con help lines/.style{color}.

1.1.4.

C´ırculos y elipses

Los c´ırculos se construyen especificando su centro y su radio: \draw (centro) circle (radio);

\begin{tikzpicture} \draw (0,0) circle (1.5); \end{tikzpicture}

9

´ 1.1. DIBUJOS BASICOS

La construcci´ on de la elipse es similar a la del c´ırculo, pero en este caso se define mediante sus ejes (paralelos al eje X y Y , respectivamente) y su centro. \draw (centro) ellipse (eje1 and eje2); o tambi´en \draw (centro) circle (eje1 and eje2); \begin{tikzpicture} \draw (0,0) ellipse (0.7 and 1); \end{tikzpicture}

\begin{tikzpicture} \draw (0,0) circle (0.7 and 1); \end{tikzpicture} Resulta muy u ´til a la hora de representar puntos en nuestro dibujo hacer circulos con radios muy peque˜ nos que nos permitan representar dicho punto. Muchas gr´ aficas de funciones y dibujos requieren una curva no necesariamente circular, para ello se utilizar´a la instrucci´ on controls. Esta permitir´a “estirar” el segmento al punto o a los puntos indicados \draw (extremo1) controls (punto1) and ... and (punto n) .. (extremo2);

1.1.5.

Par´ abolas

Para construir parabolas podemos usar el comando parabola definiendo un punto inicial y punto final o el comando parabola bend definiendo punto inicial, v´ertice y punto final. \draw (punto inicial) parabola (punto final); \begin{tikzpicture} \draw (0,0) parabola (1.5,2); \end{tikzpicture}

\draw (punto inicial) parabola bend (vertice) (punto final);

\begin{tikzpicture} \draw (0,0) parabola bend (1.25,2.25) (1.75,2); \end{tikzpicture}

10

´ nchez Sa ´ nchez Daniel Sa

1.1.6.

Curvas con controls

con el comando controls se puede hacer trazos suavizados, evitando esquinas. Acontinuaci´ on se muestra un trazo recto y este mismo trazo pero con el comando controls.

Se llamar´ a punto de control a aquellos punto en los cuales se suaviza el trazo y se evita tener una esquina. La sintaxis para controls es:

\draw(puntoinicio) .. controls(puntocontrol1)and(puntocontrol n) .. (puntofinal);

por ejemplo \begin{tikzpicture} \filldraw (0,0) circle (2pt); \filldraw (1,1) circle (2pt); \filldraw (2,0) circle (2pt); \filldraw (4,1) circle (2pt); \draw (0,0) .. controls (1,1) and (3,0) .. (4,1); \end{tikzpicture}

1.1.7.

Curvas con coordinates

Para gr´aficar curvas resulta muy u ´til la combinaci´on de los siguientes tres comandos plot, smooth y cordinates. Para gr´ aficar una curva se necesitan n-puntos que se unir´an por recta y se suavizaran los trazos de estas rectas. La sintaxis es:

\plot[smooth] coordinates{(punto1)(punto2)...(punto n)}

Veamos acontinuaci´ on un ejemplo de una curva unidad por segemento de rectas (para este ejemplo se usaron muchos puntos) y veamos un ejemplo con segmentos de rectas suavizados usando la sintaxis mostrada anteriormente (para este ejemplo se us´o menos de la mitad de punto que en el ejemplo anterior). Ambas gr´ aficas aproximan a f (x) = 3 sin(x). 11

´ 1.1. DIBUJOS BASICOS

\begin{tikzpicture} \draw[arrows=->] (-0.5,0) -- (7,0); \draw [arrows=->] (0,-3) -- (0,3.25); % MUCHOS PUNTOS \draw (0,0)--(0.083,0.25)--(0.167,0.5)--(0.253,0.75)--(0.34,1)--(0.43,1.25)-(0.523,1.5)--(0.623,1.75)--(0.73,2)--(0.848,2.25)--(0.985,2.5)--(1.16,2.75)-(1.57,3)--(1.982,2.75)--(2.156,2.5)--(2.294,2.25)--(2.412,2)--(2.519,1.75)-(2.618,1.5)--(2.712,1.25)--(2.802,1)--(2.889,0.75)--(2.974,0.5)--(3.058,0.25)-(3.1416,0)--(3.225,-0.25)--(3.309,-0.5)--(3.394,-0.75)--(3.481,-1)--(3.571,-1.25) --(3.66,-1.5)--(3.764,-1.75)--(3.871,-2)--(3.99,-2.25)--(4.127,-2.5)-(4.301,-2.75)--(4.71,-3)--(5.124,-2.75)--(5.298,-2.5)--(5.435,-2.25)--(5.553,-2) --(5.66,-1.75)--(5.76,-1.5)--(5.853,-1.25)--(5.943,-1)--(6.031,-0.75)-(6.116,-0.5)--(6.2,-0.25)--(6.283,0); \end{tikzpicture}

\begin{tikzpicture} \draw[arrows=->] (-0.5,0) -- (7,0); \draw [arrows=->] (0,-3) -- (0,3.25); 12

´ nchez Sa ´ nchez Daniel Sa % POCOS PUNTOS, SUAVIZACION APROXIMADA \draw plot[smooth] coordinates {(0,0)(0.167,0.5)(0.523,1.5)(0.985,2.5)(1.57,3)(2.156,2.5)(2.618,1.5)(2.974,0.5) (3.309,-0.5)(3.66,-1.5)(4.127,-2.5)(4.71,-3)(5.298,-2.5)(5.76,-1.5)(6.116,-0.5) (6.283,0)}; \end{tikzpicture}

1.1.8.

Arcos con arc

Para gr´aficar arcos podemos usar \draw (punto inicial) arc (grado inicial:grado final:radio) Para tener idea de la construcci´ on de arcos, vea la siguiente gr´afica. En la figura 1.1 para generar el arco azul se utiliz´ o: \tikz \draw (0,3) arc (90:210:3);

u

Figura 1.1: Arcos con arc

Donde los ´angulos son medidos con respecto a un ejer polar u, el radio es la distancia del arco al origen del eje polar u (no necesariamente este coincida con el origen de coordenadas). el arco parte desde el punto inicial que le indiquemos hasta cumplir con el ´angulo final medido con respecto al ejer polar u. (el radio y ´angulo inicial; definen la ubicaci´on del eje u, si cambia estos, entonces tambi´en tendr´ a un nuevo eje u)

\begin{tikzpicture} \draw (0,0) arc (180:90:2); \end{tikzpicture}

\begin{tikzpicture} \draw (0,0) arc [start angle=180,end angle=90,radius=2]; \end{tikzpicture}

1.1.9.

Arcos con edge

Para gr´aficar arcos podemos usar el siguiente comando \draw (punto inicial) edge[out=´ ang inicial, in=´ ang final] (punto final); Para tener m´ as idea de la naturaleza de los ´angulos necesario para gr´aficar arcos observe la siguiente figura 13

´ DE PUNTO Y NODOS 1.2. DEFINICION

in = 155

out = 35 ´ Figura 1.2: Angulos para gr´aficar arcos

\begin{tikzpicture} \draw (1.6,1.6) edge[out=155, in=155] (5,3.25); \begin{tikzpicture}

Nota 1.1.3. Si desea hacer modificaciones (secci´on 1.3) al arco, coloque las modificaciones dentro de edge[] y no dentro de \draw[] como es costumbre. por ejemplo para colocar punta al arco vea el siguiente ejemplo.

\begin{tikzpicture} \draw (1.6,1.6) edge[out=32, in=155,arrows=->] (5,3.25); \end{tikzpicture}

1.2. 1.2.1.

´ DE PUNTO Y NODOS DEFINICION Definici´ on de puntos con coordinate y node

Podemos definir los puntos con: \coordinate: Asigna un nombre a un punto (x, y). \coordinate (A) at (x,y); A pesar de que no se dibuje el punto, se declara la existencia de ´el y se le asigna un nombre. Por ejemplo: puede tomar dos puntos del plano, al primero se le asignar´a el nombre A y al segundo se le asigna el nombre B, luego se trazar´a el segmento que va de A a B. \begin{tikzpicture} \coordinate (A) at (-1,0); \coordinate (B) at (3,3); \draw (A) -- (B); \end{tikzpicture}

\node: funciona igual que \coordinate, es decir; 14

´ nchez Sa ´ nchez Daniel Sa \coordinate (A) at (x,y); y \node (A) at (x,y); son equivalentes. Adem´ as, tiene la ventaja de que permite insertar texto: \node (B) at (x,y){texto}; Entre los corchetes {

} se puede insertar texto corriente o c´odigo LATEX. B \begin{tikzpicture} \node (A) at (-1,0){$a$}; \node (B) at (3,3){$B$}; \draw (A) -- (B); \end{tikzpicture}

a Esta posibilidad de insertar texto resulta muy u ´til, por ejemplo para colocar etiquetas a las funciones, en la subsecci´ on 1.2.4 veremos algunos ejemplos del uso coordinate y node. Nota 1.2.1. Los nodos no son solo para punto se le puede agregar nodos a cualquier trazo, ya sea segmento, parabola, c´ ırculo etc. La forma de hacer eso es, por ejemplo:

f

1.2.2.

\begin{tikzpicture} \draw (0,0) -- (3,0) node[below] {$f$}; \end{tikzpicture}

Posici´ on del texto en un nodo

Para cambiar la posici´ on del texto en un nodo se ultiliza el comando \node[posicion del texto] at (x,y);

above above right

above left

right

left

below right

below left below 1.2.3.

Posici´ on del nodo

Con el comando anchor es posible dar una posici´on al nodo con referencia a como se ubique el texto (por defecto es centrado), es decir, se puede colocar el nodo al norte del texto (contario a lo visto en la subsecci´ on anterior; donde se le da una posici´on al texto con respecto al nodo). La sintaxis es: 15

´ 1.3. PARAMETROS OPCIONALES

\node[anchor=posicion del nodo] at (x,y);

south south east

south west

east

west

north east

north west north

1.2.4.

Dibujos utilizando nodos \begin{tikzpicture} \coordinate (A) at (0,0); \coordinate (B) at (4,0); \coordinate (C) at (6,3); \draw (A) -- (B) -- (C) -- cycle; \end{tikzpicture} f (x) = x2 \begin{tikzpicture}[scale=0.7] \draw (0,0) parabola (2,4) node[below right] {$f(x)=x^2$}; \end{tikzpicture}

1.3.

´ PARAMETROS OPCIONALES

Como era de esperarse podemos usar par´ametros opcionales para la modificaci´on de nuestros dibujos. podemos colocar estos par´ ametros opcionales a: \tikz[opciones], \begin{tikzpicture}[opciones],

1.3.1.

\draw[opciones], etc

Escalar la figura

Para indicarle a LATEX que deseamos escalar una figura a un tama˜ no deseado en referencia al tama˜ no original se usa scale=tama~ no relativo al original, donde el tama˜ no relativo es un n´ umero 1 si el tama˜ no es el original, entre 0 y 1 si el tama˜ no requerido es un poco m´as peque˜ no al de la figura original, mayor que 1 para aumentar el tama˜ no. Este n´ umero se puede interpretar como la cantidad de veces que vamos a ampliar el tama˜ no. xscale: permite escalar el tama˜ no del ancho de una figura. yscale: permite escalar el tama˜ no del alto de una figura. 16

´ nchez Sa ´ nchez Daniel Sa

1.3.2.

Rotaciones

Mediante el comando rotate=angulo de rotaci´ on, se puede rotar la figura dado su ´angulo de rotaci´on.

1.3.3.

Traslaci´ on

Gracias al comando shift={(x,y)} podemos trasladar nuestra figura al punto deseado.

1.3.4.

Relleno

El comando fill=color permite rellenar el dibujo uniformemente de un color espec´ıfico, agregando el color deseado.

1.3.5.

Background con forma de ´ esfera

Con ball color=color podemos rellenar la fugura con un fondo parecido al de una ´esfera de un color deseado.

1.3.6.

Color del trazo y color del texto

Con el comando color podemos cambiar el color de trazo de la figura deseada. El comando text=color permite darle un color deseado al texto, se puede mezclar los colres como se acostumbra en LATEX. Los siguientes colores son predefinidos

yellow

red

blue

orange

brown

black

cyan

teal

darkgray

pink

purple

lime

violet

magenta

white

olive

gray

green

lightgray

El paquete xcolor permite definir como opciones, dvipsnames, x11names, svgnames distintas paletas de colores predefinidos que traen muchos m´as colores que los de la tabla anterior. 17

´ 1.3. PARAMETROS OPCIONALES

Figura 1.3: Opcion dvipsnames

1.3.7.

Mezclar colores

En LATEX podemos mezclar colores, la forma de hacerlo es: color1!porcentaje de color 1!color2 El porcentaje del segundo color ser´ a el porcentaje restante para completar 100 %. Por ejemplo blue!75!black es una mezcla que tiene 75 % de color azul y 25 % de color negro. Podemos hacer cadenas de mezclas de colores, por ejemplo lime!90!orange!70!white esta mezcla genera un primer color que es 90 % lime y 10 % orange, luego este primer color obtenido se mezcla con blanco, con los siguientes porcentajes 70 % del color obtenido de lime y orange y 30 % de blanco. Podemos hacer cadenas de colores tan grande como se desee. Tambi´en podemos bajar la intensidad a un color con color!intensidad por ejemplo, red!50 genera un color con el 50 % de intensidad del color rojo, es apena obvio que: color=color!100.

1.3.8.

Definici´ on de colores

En LATEX podemos definir nuevos colores usando las escalas de colores como HTML, RGB, etc \definecolor{nombre}{escala}{valor en la escala} 18

´ nchez Sa ´ nchez Daniel Sa Escala

ejemplo

HTML

\definecolor{micolor1}{HTML}{BF0043}

RGB

\definecolor{micolor2}{RGB}{50,245,1}

rgb

\definecolor{micolor3}{rgb}{.5,.5,.1}

cmyk

\definecolor{micolor4}{0,.5,.4,.3,.1}

gray

\definecolor{micolor5}{gray}{.47}

Cuadro 1.1: Tabla de escala de colores y ejemplos Lo m´as ideal para generar colores personalizados es tener una paleta donde pueda escoger cualquier color y conocer su valor en alguna de las escalas, para esto puede usar recomienda el siguiente enlace Paleta de colores. Tambi´en se recomienda el sitio web latexcolor.com donde encontrar´a una lista muy extensa de colores y su repectivo comando para definirlo en LATEX.

1.3.9.

Tipo de color y ubicaci´ on

Los primeros dos tipos requieren de la librer´ıa: \usetikzlibrary{shadings} \tikz \fill[lower left=red,upper right=black] (0,0) rectangle (1,1); \tikz \fill[upper left=red,lower right=black] (0,0) rectangle (1,1); \tikz \fill[inner color=red,outer color=black] (0,0) rectangle (1,1); \tikz \fill[bottom color=red, top color=black] (0,0) rectangle (1,1); \tikz \fill[left color=red,right color=black] (0,0) rectangle (1,1);

1.3.10.

Delinear

Podemos delinear con el comando draw.

1.3.11.

L´ınea doble

Podemos crear una l´ınea doble con el comando double.

1.3.12.

Grosor y estilo de l´ıneas

Existen diferentes comandos para editar l´ıneas. line width=grosor permite darle un grosor espec´ıfico al segemento o curva. Por su parte tikz cuenta con grosores y estilos de l´ıneas predefinido. 19

´ 1.3. PARAMETROS OPCIONALES

1.3.13.

ultra thin

loosely dotted

dashdotted

very thin

dotted

densely dashdotted

thin

densely dotted

loosely dashdotted

semithick

solid

dashddototted

thick

loosely dashed

densely dashddototted

very thick

dashed

loosely dashddototted

ultra thick

densely dashed

Redondear esquinas

Mediante rounded corners, se pueden redondear las puntas de algunas figuras por ejemplo rect´angulos, veamos una figura construida en la secci´on de segmentos con sus esquinas redondeadas. \begin{tikzpicture} \draw[rounded corners] (0,0) -- (4,2) -- (4,0) -- (0,2) -- cycle; \end{tikzpicture}

1.3.14.

Nombre

Podemos ponerle nombre a una figura mediante name path=nombre este comando requiere de la importaci´on de la librer´ıa intersections y es sumamente importante para dibujar intersecciones entre dibujos. 20

´ nchez Sa ´ nchez Daniel Sa

1.3.15.

1.4.

Forma de la l´ınea arrows=o-o

arrows=|

arrows=(-)

arrows=)-(

arrows=-

arrows=|-|

arrows=||-||

arrows=()-()

arrows=>-
] (-5.5,0) -- (6.5,0) node[right] {$\mathbb{R}$}; \foreach \x in {-5,...,6} \draw (\x,2pt) -- (\x,-2pt) node[below] {\x}; \end{tikzpicture}

\begin{tikzpicture} \foreach \x in {1,...,9} \shade[ball color=lightgray!\x0!lime] (\x,0) circle (3mm); \end{tikzpicture} \begin{tikzpicture}[scale=1.75] \foreach \x in {9,...,1} \draw[fill=lightgray!30!lime!\x0] (-0.\x cm - 1cm,-0.\x cm) rectangle (0.\x cm + 1cm,0.\x cm); \end{tikzpicture}

1.7. 1.7.1.

COORDENADAS Coordenadas cartesianas

Para gr´aficar nuestros dibujos dentro del ambiente tikzpicture, podemos denotar los puntos en coordenadas cartesianas; por ejemplo \begin{tikzpicture} \draw (0,0)--(2,0)--(2,2)--(0,2)-- cycle; \draw (3,0)--(6,0)--(6,2)--(3,2)-- cycle; \end{tikzpicture}

1.7.2.

Coordenadas absolutas

El sistema de coordenadas absolutas permite hacer nuestos trazos con referencia al punto en el cual inicial el trazo, por ejemplo 25

1.7. COORDENADAS

\begin{tikzpicture} \draw (0,0) --+ (2,0) --+ (2,2) --+(0,2) -- cycle; \draw (3,0) --+ (3,0) --+ (3,2) --+(0,2) -- cycle; \end{tikzpicture}

1.7.3.

Coordenadas relativas

Con el sistema de coordenadas relativas, realizamos nuestros dibujos haciendo los trazos con respecto al punto anterior, por ejemplo \begin{tikzpicture} \draw (0,0)--++ (2,0)--++ (0,2)--++(-2,0) -- cycle; \draw (3,0)--++ (3,0)--++ (0,2)--++(-3,0) -- cycle; \end{tikzpicture}

1.7.4.

Coordenadas polares

Para hacer nuestro dibujos en tikz, tambi´en podemos hacer uso de las coordenas polares, en esta caso definimos los punto (θ : r) en vez de (x, y), θ es un ´angulo en grados y r es radio. El uso de coordenadas polares facilita la realizaci´on de una gran cantidad de trazos, por ejemplos para gr´aficar tri´angulo con un deseado ´ angulo de x grados: \tikz \draw (0:0) -- (45:3); \tikz \draw (0:0) -- (45:3) -- (45:3 |- 0,0) -- cycle; \tikz \draw (0:0) -- (45:3) |- (0,0); Se puede combinar las coordenadas definiendo los punto como se desee. \begin{tikzpicture} \draw (0:0) -- (45:3) |- (0,0); \draw (45:3 |- 0,0)--+(-0.3,0)--+(-0.3,0.3)--+(0,0.3); \end{tikzpicture}

1.7.5.

Coordenadas cartesianas en R3

26

´ nchez Sa ´ nchez Daniel Sa

1.8. 1.8.1.

´ SOFISTICADOS DIBUJOS MAS Funciones

Para gr´aficar funciones, TikZ utiliza dos comandos importantes: plot y domain los cu´ales perimiten dibujar la funci´ on en el dominio [a, b] dado. Ambos comandos reconocen las constastes e y π, para hacer uso de estas se utiliza e y pi, respectivamente. \draw[domain=a:b] plot(\x,f(\x)); \draw plot[domain=a:b] (\x,f(\x));

sqrt(\x)

pow(\x,y)

exp(\x)

ln(\x)

log10(\x)

factorial(\x)

log2(\x)

abs(\x)

mod(\x,y)

round(\x)

floor(\x)

ceil(\x)

sin(\x)

cos(\x)

tan(\x)

cot(\x)

sec(\x)

cosec(\x)

asin(\x)

acos(\x)

atan(\x)

min(\x,y)

max(\x,y)

Cuadro 1.2: Lista de funciones

Nota 1.8.1. Para gr´ aficar fuciones polinomiales con t´erminos que contengan exponente par. 2 4 Por ejemplo x o x − 2x3 + x se deben definir las funciones de la siguiente forma:

Funci´ on

Forma correcta

Forma err´onea

x2

plot(\x,\x*\x)

plot(\x,\x^2)

x4 − 2x3 + x

plot(\x,\x*\x^3-2x^3+x)

plot(\x,\x^4-2x^3+x)

\begin{tikzpicture} \draw[domain=-1:2] plot(\x,\x*\x); \end{tikzpicture}

27

´ SOFISTICADOS 1.8. DIBUJOS MAS

Podemos cambiar el color y rotular la funci´on y colocar ejes rotulados de la siguiente forma: y

f (x) = x2

x

\begin{tikzpicture} \draw[domain=-1:2,green!70!black] plot(\x,\x*\x) node[left] {$f(x)=x^2$}; % \draw[arrows=->] (0,-0.5) -- (0,4) node[above] {$y$}; % \draw[arrows=->] (-1.5,0) -- (3,0) node[right] {$x$}; \end{tikzpicture}

Nota 1.8.2. En caso de ser una funci´on trigonom´etrica se agrega un r para indicar que se est´a trajando en radianes, por ejemplo: tan(\xr).

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

\begin{tikzpicture} \draw[blue,thick,arrows=->,>=latex] plot[domain=0:7] (\x,{2*sin(\x r)}) node[right] {$f(x) = 2\sin x$}; \draw[red,thick,arrows=->] plot[domain=0:6.35] (\x,{2*cos(\x r)}) node[above] {$g(x) = 2\cos x$}; % \draw[arrows=->] (-0.5,0) -- (7,0) node[right] {$x$}; \draw[arrows=->] (0,-2) -- (0,2.75) node[above] {$y$}; \end{tikzpicture}

Se utliza foreach para trazar cordenadas en los ejes y asi tener un plano cartesiano. 28

´ nchez Sa ´ nchez Daniel Sa y g(x) = 2 cos x 2 f (x) = 2 sin x

1

x 1

2

3

4

5

6

1

\begin{tikzpicture} \draw[blue,arrows=->] plot[domain=0:7] (\x,{2*sin(\x r)}) node[right] {$f(x) = 2\sin x$}; \draw[red,arrows=->] plot[domain=0:6.35] (\x,{2*cos(\x r)}) node[above] {$g(x) = 2\cos x$}; % \draw[arrows=->] (-0.5,0) -- (7,0) node[right] {$x$}; \foreach \x/\xtext in {1/1, 2/2, 3/3, 4/4, 5/5, 6/6} \draw[shift={(\x,0)}] (0pt,2pt)--(0pt,-2pt) node[below] {$\xtext$}; % \draw[arrows=->] (0,-2) -- (0,2.75) node[above] {$y$}; \foreach \y/\ytext in {-1/1, 1/1, 2/2} \draw[shift={(0,\y)}] (2pt,0pt)--(-2pt,0pt) node[left] {$\ytext$}; \end{tikzpicture} Tambi´en se puede agregar cuadriculas (subsecci´on 1.1.3) a las gr´aficas. Al momento de agregar la cuadr´ıcula debera poner primero la cuadr´ıcula y luego las funciones y dem´as complementos. y g(x) = 2 cos x 2 f (x) = 2 sin x

1

x 1

2

3

4

5

6

1

\begin{tikzpicture} \draw[very thin,color=gray] (-0.6,-2) grid (6.9,2.75); \draw[blue,arrows=->] plot[domain=0:7] (\x,{2*sin(\x r)}) node[right] {$f(x) = 2\sin x$}; \draw[red,arrows=->] plot[domain=0:6.35] (\x,{2*cos(\x r)}) 29

´ SOFISTICADOS 1.8. DIBUJOS MAS

node[above] {$g(x) = 2\cos x$}; % \draw[arrows=->] (-0.5,0) -- (7,0) node[right] {$x$}; \foreach \x/\xtext in {1/1, 2/2, 3/3, 4/4, 5/5, 6/6} \draw[shift={(\x,0)}] (0pt,2pt)--(0pt,-2pt) node[below] {$\xtext$}; % \draw[arrows=->] (0,-2) -- (0,2.75) node[above] {$y$}; \foreach \y/\ytext in {-1/1, 1/1, 2/2} \draw[shift={(0,\y)}] (2pt,0pt)--(-2pt,0pt) node[left] {$\ytext$}; \end{tikzpicture} Con el comando samples podemos escoger el n´ umero de muestras. Veamos un ejemplo de esto: En el siguiente gr´ afico la funci´ on f (x) = 2 sin x tiene 8 samples, mientras que g(x) = 2 cos x tiene 100 samples. Nota 1.8.3. El comando samples permite mejorar el trazo de nuestras funciones, m´as un teniendo en cuenta que no siempre la cantidad de samples por defecto es adecuada para la funci´ on que se gr´ afica. Otra forma de mejorar el trazo es suavizandolo con el comando smooth. y g(x) = 2 cos x f (x) = 2 sin x x

\begin{tikzpicture} \draw[blue,thick,samples=8] plot[domain=0:7] (\x,{2*sin(\x r)}) node[right] {$f(x) = 2\sin x$}; \draw[red,thick,samples=100] plot[domain=0:6.35] (\x,{2*cos(\x r)}) node[above] {$g(x) = 2\cos x$}; % \draw[arrows=->] (-0.5,0) -- (7,0) node[right] {$x$}; \draw[arrows=->] (0,-2) -- (0,2.75) node[above] {$y$}; \end{tikzpicture}

1.8.2.

Curvas param´ etricas

El comando variable permite como es de esperarse cambiar la variable sobre la cual est´ a definida la funci´ on. Por supuesto que con este comando se puede generar curvas param´etricas, por ejemplo, veamos una curva muy conocida, que parametriza a una circuferencia. 30

´ nchez Sa ´ nchez Daniel Sa y

x

1.8.3.

\begin{tikzpicture} \draw[arrows=->] (-2.5,0)--(2.5,0) node[right]{$x$}; \draw[arrows=->] (0,-2.5)--(0,2.5) node[above]{$y$}; \draw[domain=0:360,variable=\t,teal,smooth] plot ({2*cos(\t)},{2*sin(\t)}); \end{tikzpicture}

Datos estad´ısticos

Veamos como realizar gr´ aficos estad´ısticos para un conjunto de datos. Nota 1.8.4. Resulta muy u ´til guardar los datos en un nuevo comando,vea el siguiente ejemplo. \newcommand{\misdatos}{(1,2)(2,7)(3,1)(4,2)(5,3)(6,6)(7,4)(8,2)(9,4)(10,1)}

7 6 5 4 3 2 1 1

2

3

4

5

6

7

8

9

10

\begin{tikzpicture}[help lines/.style={blue!40}] \draw[help lines] (0,0) grid (10,8); \draw (0,0) -- (10,0); \draw (0,0) -- (0,8); \foreach \x in {1,2,3,4,5,6,7,8,9,10} \draw (\x,0) node[below] {\x}; \foreach \y in {1,2,3,4,5,6,7} \draw (0,\y) node[left] {\y}; \draw plot coordinates {\misdatos}; \end{tikzpicture} 31

´ SOFISTICADOS 1.8. DIBUJOS MAS

7 6 5 4 3 2 1 1

2

3

4

5

6

7

8

9

10

\begin{tikzpicture} \draw[help lines] (0,0) grid (11,8); \draw (0,0) -- (11,0); \draw (0,0) -- (0,8); \foreach \x in {1,2,3,4,5,6,7,8,9,10} \draw (\x,0) node[below] {\x}; \foreach \y in {1,2,3,4,5,6,7} \draw (0,\y) node[left] {\y}; \draw[line width=8mm, green!40!black!50] plot[ycomb] coordinates{\misdatos}; \end{tikzpicture}

32

Cap´ıtulo 2

DIBUJOS CON PGFPLOTS 2.1.

2.1.1.

DIBUJOS SOFISTICADOS

Funciones

sin (t) cos (t)

Amplitud

120 V

0

-120 V 0

π 3

2π 3

π

4π 3

t [rad] 33

5π 3



2.1. DIBUJOS SOFISTICADOS

2.1.2.

Funciones en coordenadas polares

120

90 60

150

30

0

180

1

2

210

3

0

330

240

120

270

300

90 60

150

30

0

180

0.5

210

1

0

330

240

270

300

34

´ nchez Sa ´ nchez Daniel Sa

2.1.3.

Superficies

0.5 1 0 0 −0.5 −1 0

200 100

200

300

0

20 0 5

−20 −4

−2

0 0

2

4

−5 35

2.1. DIBUJOS SOFISTICADOS

z

1

0.5 2 0 −2

0

−1

0

1

x

y 2 −2

z

1

0.5 2 0 −2

0

−1

0 x

1

y 2 −2

36

´ nchez Sa ´ nchez Daniel Sa

1

z

0.5 2 0 −2

0

−1

0

y

1

2 −2

x

2.1.4.

Curvas param´ etricos

z

y 3

2 2 −3

1

−2

−1 1 −1

x 2

3

−2 z 2 −2 −1 −0.5 0.5 x2

1

1.5

2

2.5

−2

37

y 3