Guía Básica de TikZ en LaTeX
Guía Básica de TikZ en LaTeX
30 de junio de 2022
2
Índice general
3
ÍNDICE GENERAL
4
Capı́tulo 1
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á agregar librerias propias
del paquete por medio del comando:
Serán muy utiles para agregar figuras cada vez más 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}
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ámetro opcional spanish, ya que ambos definen como ca-
racteres 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}
5
1.1. DIBUJOS BÁSICOS
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ón 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.
\begin{tikzpicture}
\draw (0,0) -- (4,0);
\end{tikzpicture}
\begin{tikzpicture}
\draw (0,0) -- (4,2);
\end{tikzpicture}
La unión de varios segmentos nos permitirá realizar nuestros primeros dibujos, para ello se
finalizará con la palabra cycle que enlazará el primer punto con el último.
\begin{tikzpicture}
\draw (0,0) -- (4,2) -- (4,0) -- (0,2) -- cycle;
\end{tikzpicture}
1.1.2. Rectángulos
La construcción de rectángulos será mediante los puntos inferior izquierdo y superior derecho
\begin{tikzpicture}
\draw (0,0) rectangle (1.5,0.75);
\end{tikzpicture}
6
Daniel Sánchez Sánchez
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ás cuadriculas resultan muy
útiles para cuando se gráfican planos cartesianos.
\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}
\begin{tikzpicture}
\draw[help lines, step=0.5cm] (-1,0) grid (3,3);
\end{tikzpicture}
\begin{tikzpicture}
\draw (0,0) circle (1.5);
\end{tikzpicture}
7
1.1. DIBUJOS BÁSICOS
La construcción 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.
o también
\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 útil a la hora de representar puntos en nuestro dibujo hacer circulos con radios
muy pequeños que nos permitan representar dicho punto.
Muchas gráficas de funciones y dibujos requieren una curva no necesariamente circular, para ello
se utilizará la instrucción controls. Esta permitirá “estirar” el segmento al punto o a los puntos
indicados
1.1.5. Parábolas
Para construir parabolas podemos usar el comando parabola definiendo un punto inicial y
punto final o el comando parabola bend definiendo punto inicial, vértice y punto final.
\begin{tikzpicture}
\draw (0,0) parabola (1.5,2);
\end{tikzpicture}
\begin{tikzpicture}
\draw (0,0) parabola bend (1.25,2.25) (1.75,2);
\end{tikzpicture}
8
Daniel Sánchez Sánchez
con el comando controls se puede hacer trazos suavizados, evitando esquinas. Acontinuación
se muestra un trazo recto y este mismo trazo pero con el comando controls.
Se llamará punto de control a aquellos punto en los cuales se suaviza el trazo y se evita tener
una esquina. La sintaxis para controls es:
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}
Para gráficar curvas resulta muy útil la combinación de los siguientes tres comandos plot,
smooth y cordinates. Para gráficar una curva se necesitan n-puntos que se unirán por recta y se
suavizaran los trazos de estas rectas. La sintaxis es:
Veamos acontinuación 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ó menos de la mitad de punto que en el
ejemplo anterior). Ambas gráficas aproximan a f (x) = 3 sin(x).
9
1.1. DIBUJOS BÁSICOS
\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);
10
Daniel Sánchez Sánchez
\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}
Para tener más idea de la naturaleza de los ángulos necesario para gráficar arcos observe la
siguiente figura
11
1.2. DEFINICIÓN DE PUNTO Y NODOS
in = 155
out = 35
\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ón ??) 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}
\begin{tikzpicture}
\coordinate (A) at (-1,0);
\coordinate (B) at (3,3);
\draw (A) -- (B);
\end{tikzpicture}
12
Daniel Sánchez Sánchez
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:
\begin{tikzpicture}
f \draw (0,0) -- (3,0) node[below] {$f$};
\end{tikzpicture}
above
above left above right
left right
below left below right
below
Con el comando anchor es posible dar una posición 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ón anterior; donde se le da una posición al texto con respecto al nodo). La
sintaxis es:
13
1.3. PARÁMETROS OPCIONALES
south
south east south west
east west
north east north west
north
\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}
Como era de esperarse podemos usar parámetros opcionales para la modificación de nuestros
dibujos. podemos colocar estos parámetros opcionales a:
Para indicarle a LATEX que deseamos escalar una figura a un tamaño deseado en referencia
al tamaño original se usa scale=tama~ no relativo al original, donde el tamaño relativo es un
número 1 si el tamaño es el original, entre 0 y 1 si el tamaño requerido es un poco más pequeño
al de la figura original, mayor que 1 para aumentar el tamaño. Este número se puede interpretar
como la cantidad de veces que vamos a ampliar el tamaño.
xscale: permite escalar el tamaño del ancho de una figura.
yscale: permite escalar el tamaño del alto de una figura.
14
Daniel Sánchez Sánchez
1.3.2. Rotaciones
1.3.3. Traslación
1.3.4. Relleno
Con ball color=color podemos rellenar la fugura con un fondo parecido al de una ésfera de
un color deseado.
El paquete xcolor permite definir como opciones, dvipsnames, x11names, svgnames distintas
paletas de colores predefinidos que traen muchos más colores que los de la tabla anterior.
15
1.3. PARÁMETROS OPCIONALES
El porcentaje del segundo color será 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én 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.
En LATEX podemos definir nuevos colores usando las escalas de colores como HTML, RGB, etc
\definecolor{nombre}{escala}{valor en la escala}
16
Daniel Sánchez Sánchez
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}
Lo más 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én se recomienda el sitio web latexcolor.com donde
encontrará una lista muy extensa de colores y su repectivo comando para definirlo en LATEX.
1.3.10. Delinear
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.
17
1.3. PARÁMETROS OPCIONALES
Mediante rounded corners, se pueden redondear las puntas de algunas figuras por ejemplo
rectángulos, veamos una figura construida en la sección 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ón de la librerı́a intersections y es sumamente importante para dibujar intersecciones
entre dibujos.
18
Daniel Sánchez Sánchez
arrows=o-o arrows=|<-<|
Existen varias manera de editar nuestros dibujos. Lo podemos hacer globalmente (todos los
dibujos), por secciones (varios dibujos) o localmente (un sólo dibujo). Todos los dibujos se verán
si lo indicamos junto al \begin{tikzpicture}[opciones]. Ahora si queremos solo afectar un
conjunto de dibujos utilizaremos las etiquetas:
\begin{scope}[opciones]
\end{scope}
Sin embargo, la manera más sencilla y utilizada para editar nuestros dibujos es la que se hace
localmente, especificamente en la etiqueta \draw.
\draw[opciones]...;
Se pueden indicar varias opciones a la vez siempre y cuando estén separadas por comas. Veamos
algunas opciones:
\draw[opcion1,opcion2,...,opcion n]...;
El ambiente scope se utiliza para asignar un conjunto de parámetros a varios dibujos. Se utiliza
la siguiente sintaxis
\begin{tikzpicture}
\draw ... ;
\begin{scope}[opciones]
\draw ... ;
\end{scope}
\end{tikzpicture}
19
1.5. OPCIONES DE LIBRERÍA
Podemos definir un estilo donde guardamos varios parámetros opcionales con el comando
\tikzstyle{mystyle}=[opciones1,opciones2,opciones n]
por ejemplo
\tikzstyle{mistilo1}=[fill=orange!35,semithick,
densely dotted]
\tikzstyle{mistilo2}=[fill=green!45!black!70!white,
thick]
%
\begin{tikzpicture}
\draw[mistilo1] (-2,0) rectangle (0,3);
\draw[mistilo2] (0,1.5) -- (2,0) -- (2.5,3) --
cycle;
\end{tikzpicture}
\usetikzlibrary{shadows}
Sombras
20
Daniel Sánchez Sánchez
\usetikzlibrary{shapes}
Cilindros
Permite dibujar un cilindro en un texto. Deben agregarse como una sola instrucción.
Figuras
Son utilizadas en las opciones de nodos: Ellas encieran el texto en diferentes figuras, entre ellas
tenemos:
rectangle Encierra el texto en un rectángulo.
circle Encierra el texto en un cı́rculo.
ellipse Encierra el texto en una elipse.
circle slipt Encierra el texto en un cı́rculo con una lı́nea central.
forbidden sign Encierra el texto en un cı́rculo con una lı́nea cruzada.
diamond Encierra el texto en un diamante.
cross out Tacha el texto.
strike out Lı́nea diagonal sobre el texto.
regular polygon, regular polygon side=n Encierra el texto en un polı́gono regular de n
lados.
star, starpoints=n Encierra el texto en una estrella de n lados.
Es una librerı́a que permite colocar los nodos en posiciones relativas a otros.
21
1.6. ELEMENTOS DE PROGRAMACIÓN EN LATEX
Muchas veces nos interesa graficar un punto en la intersección de dos objetos, sin embargo,
sin embargo es muy difı́cil conocer la intersección por ejemplo de un circulo y una función, de un
rectángulo y una lı́nea, etc. Para ello vamos a utilizar la librerı́a intersectons.
Primero podemos dibujar figuras “imaginarias” con el comando \path en vez del comando
\draw con el fin de encontrar intersecciones en las cuales solo queremos que se vea un único dibujo.
Una vez hecha la intersección de dos figuras podemos asignarle nombre a las intersecciones de la
siguiente manera:
Existen algunos conceptos de programación que hoy nos ayudan a realizar dibujos, estos son;
La creación de variables, contadores y ciclos.
1.6.1. Variables
1.6.2. Contadores
LATEX permite a los editores utilizar ciclos. Nos interesa el uso del \foreach. Este nos permite
recorrer una lista de números con el fin de simplificar el código y hacerlo más eficiente.
\foreach \x in {x1,x2,...,xn}
{código a ejecutar;}
22
Daniel Sánchez Sánchez
Por ejemplo:
\begin{tikzpicture}
\foreach \x in {1,2,...,5}
{\filldraw (\x,0) circle (0.08);}
\end{tikzpicture}
Esto gráfica los puntos (1.0), (2, 0), (3, 0), (4, 0), (5, 0). Se pueden recorrer sólo números pares
cambiando la lista por {2, 4, ..., 10}, multiplos de 3 si la cambiamos por {3, 6, ..., 12}, etc. Veamos
ahora algunos ejemplos del uso de foreach, en especial es muy útil para trazar las guı́as de coor-
denadas en un plano cartesiano. Primero trazemos un eje, solo debemos dibujar un segmento con
dirección.
R
-5 -4 -3 -2 -1 0 1 2 3 4 5 6
\begin{tikzpicture}
\draw[->] (-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. COORDENADAS
Para gráficar 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}
23
1.7. COORDENADAS
El sistema de coordenadas absolutas permite hacer nuestos trazos con referencia al punto en el
cual inicial el trazo, por ejemplo
\begin{tikzpicture}
\draw (0,0) --+ (2,0) --+ (2,2) --+(0,2)
-- cycle;
\draw (3,0) --+ (3,0) --+ (3,2) --+(0,2)
-- cycle;
\end{tikzpicture}
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}
Para hacer nuestro dibujos en tikz, también podemos hacer uso de las coordenas polares, en
esta caso definimos los punto (θ : r) en vez de (x, y), θ es un ángulo en grados y r es radio. El uso
de coordenadas polares facilita la realización de una gran cantidad de trazos, por ejemplos para
gráficar triángulo con un deseado ángulo de x grados:
\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}
24
Daniel Sánchez Sánchez
1.8.1. Funciones
Para gráficar funciones, TikZ utiliza dos comandos importantes: plot y domain los cuáles pe-
rimiten dibujar la función 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));
Nota 1.8.1. Para gráficar fuciones polinomiales con términos que contengan exponente par.
Por ejemplo x2 o x4 − 2x3 + x se deben definir las funciones de la siguiente forma:
25
1.8. DIBUJOS MÁS SOFISTICADOS
\begin{tikzpicture}
\draw[domain=-1:2] plot(\x,\x*\x);
\end{tikzpicture}
Podemos cambiar el color y rotular la función y colocar ejes rotulados de la siguiente forma:
y \begin{tikzpicture}
f (x) = x2
\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$};
x \end{tikzpicture}
Nota 1.8.2. En caso de ser una función trigonométrica se agrega un r para indicar que se
está trajando en radianes, por ejemplo: tan(\xr).
y
g(x) = 2 cos x
f (x) = 2 sin 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}
26
Daniel Sánchez Sánchez
Se utliza foreach para trazar cordenadas en los ejes y asi tener un plano cartesiano.
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én se puede agregar cuadriculas (subsección ??) a las gráficas. Al momento de agregar la
cuadrı́cula debera poner primero la cuadrı́cula y luego las funciones y demás 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)})
27
1.8. DIBUJOS MÁS SOFISTICADOS
Con el comando samples podemos escoger el número de muestras. Veamos un ejemplo de esto:
En el siguiente gráfico la función 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ás un
teniendo en cuenta que no siempre la cantidad de samples por defecto es adecuada para
la función que se gráfica. Otra forma de mejorar el trazo es suavizandolo con el comando
smooth.
y
g(x) = 2 cos x
f (x) = 2 sin 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}
28
Daniel Sánchez Sánchez
El comando variable permite como es de esperarse cambiar la variable sobre la cual está
definida la función. Por supuesto que con este comando se puede generar curvas paramétricas, por
ejemplo, veamos una curva muy conocida, que parametriza a una circuferencia.
y
\begin{tikzpicture}
\draw[arrows=->] (-2.5,0)--(2.5,0) node[right]{$x$};
\draw[arrows=->] (0,-2.5)--(0,2.5) node[above]{$y$};
x \draw[domain=0:360,variable=\t,teal,smooth]
plot ({2*cos(\t)},{2*sin(\t)});
\end{tikzpicture}
Nota 1.8.4. Resulta muy ú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)}
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);
29
1.8. DIBUJOS MÁS SOFISTICADOS
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}
1.8.4. Regiones
a b
30
Daniel Sánchez Sánchez
31
1.8. DIBUJOS MÁS SOFISTICADOS
32
Capı́tulo 2
2.1.1. Funciones
-120 V
0 π 2π π 4π 5π 2π
3 3 3 3
t [rad]
33
2.1. DIBUJOS SOFISTICADOS
90
120 60
150 30
0 1 2 3
180 0
210 330
240 300
270
90
120 60
150 30
0 0.5 1
180 0
210 330
240 300
270
34
Daniel Sánchez Sánchez
2.1.3. Superficies
0.5
1
0
0
−0.5
−1
0 200
100
200
300 0
20
5
−20
−4 0
−2 0 2 4 −5
35
2.1. DIBUJOS SOFISTICADOS
0.5
z
0 0
−2
−1
0 y
1
x 2 −2
0.5
z
0 0
−2
−1
0 y
1
x 2 −2
36
Daniel Sánchez Sánchez
0.5
z
0 0
−2
−1
0 y
1
x 2 −2
z
y
2 3
2
−3 1
−2
−1 x
1
2
−1 3
−2
z
2
−2
−1 −0.5
0.5
1 1.5 y
x2 2 2.5
3
−2
37
2.1. DIBUJOS SOFISTICADOS
38
Capı́tulo 3
\begin{tikzpicture}
\pie{parte1,parte2,...,parte n}
\end{tikzpicture}
B 35 %
20 % \begin{tikzpicture}[scale=0.8]
\pie{35/A,20/B,15/C,30/D}
\end{tikzpicture}
15 % 30 %
C
D
Grupo A
Grupo B 35 % \begin{tikzpicture}[scale=0.8]
20 % \pie{35/{Grupo A},20/{Grupo B},
15/{Grupo C},30/{Grupo D}}
\end{tikzpicture}
15 % 30 %
Grupo C
Grupo D
39
3.1. PARÁMETROS OPCIONALES
Nota 3.0.1. Al usar el comando \pie no es necesario colocar punto y coma (;) como se
acostumbra cuando se hace cualquier dibujo con tikz.
3.1.1. Centro
La instrucción pos establece el centro del gráfico en el punto deseado {x,y}. El punto predeter-
minado para el centro es el origen {0,0}. El poder cambiar el centro resulta muy útil para cuando
se desea colocar algo adicional, como puede ser colocar dos gráficos en una misma lı́nea.
A A
\begin{tikzpicture}[scale=0.55]
B 35 % B 35 % \pie{35/A,20/B,15/C,30/D}
20 % 20 %
10 % \pie[pos={7.75,0}]
15 % 30 % 15 % E {35/A,20/B,15/C,20/D,10/E}
20 %
\end{tikzpicture}
C D C
D
Nota 3.1.1. Deber tener en cuenta que al cambiar de posición un gráfico La coordenada
de posición nueva, debera escribirla entre llaves {x,y} y no entre paréntesis (x,y).
3.1.2. Rotaciones
El parámetro rotate gira el gráfico tantos grados como se desee. Por ejemplo, veamos un gráfico
sin rotación y nuevamente el mismo gráfico rotado 75◦ .
A
B 35 % \begin{tikzpicture}[scale=0.55]
20 %
\pie{35/A,20/B,15/C,30/D}
\end{tikzpicture}
15 % 30 %
C D
A
D
35 % \begin{tikzpicture}[scale=0.55]
30 %
\pie[rotate=75]{35/A,20/B,15/C,30/D}
\end{tikzpicture}
20 % 15 %
B C
40
Daniel Sánchez Sánchez
3.1.3. Radio
B 35 %
20 % \begin{tikzpicture}
\pie{35/A,20/B,15/C,30/D}
\end{tikzpicture}
15 % 30 %
C
D
B 35 % \begin{tikzpicture}
20 %
\pie[radius=1.75]{35/A,20/B,15/C,30/D}
\end{tikzpicture}
15 % 30 %
C D
3.1.4. Color
color establece el color de cada parte, el valor debe ser una lista de colores separados por
comas, correspondiente a cada parte de la parte de la gráfica o puede asignar un solo color para
todo el gráfico o alternar los colores dados en un lista.
A A A
B 35 % B 35 % B 35 %
20 % 20 % 20 %
15 % 30 % 15 % 30 % 15 % 30 %
C C C
D D D
\begin{tikzpicture}
\pie[color={teal,yellow,orange,cyan}, radius=2]{35/A,20/B,15/C,30/D}
\pie[color=violet!35, pos={5,0},radius=2,]{35/A,20/B,15/C,30/D}
\pie[color={violet!35,teal!45}, pos={10,0},radius=2]{35/A,20/B,15/C,30/D}
41
3.1. PARÁMETROS OPCIONALES
\end{tikzpicture}
3.1.5. Separación
la orden explode separa cada parte, se puede dar un solo valor para separar cada parte con
una distancia común, o se puede dar una lista de valores que indique la separación de una parte
con el resto del gráfico.
A
A
A
B 35 % B
B 35 % 35 %
20 % 20 % 20 %
30 % 30 % 15 %
15 %
30 %
15 % C
D C
D
C D
\begin{tikzpicture}
\pie[explode={.4,.5,1,.1}, radius=1.95]{35/A,20/B,15/C,30/D}
\pie[explode=.25, pos={5,0},radius=1.95]{35/A,20/B,15/C,30/D}
\pie[explode={.1,.75}, pos={10,0},radius=1.95]{35/A,20/B,15/C,30/D}
\end{tikzpicture}
3.1.6. Suma
La suma de todos los datos. con sum Esto se puede calcular automáticamente si la opción auto
esta activa. Si auto no está activa y la suma de datos real es menor que el valor predeterminado
100, entonces habrá una parte vacı́a.
A C
C B
B
30
75 20 30 20
20
B
40 40 40
30
D D
C
D
\begin{tikzpicture}
\pie[sum=auto, radius=2]{75/{A}, 20/B, 30/C, 40/D}
42
Daniel Sánchez Sánchez
before number Indica el texto a colocar antes del número que muestra cada parte. Mientras que
after number indica el texto a colocar después del número que se muestra en cada parte. El valor
predeterminado es \%. Para que quede vacı́o ese espacio simplemente debe colocar after number=.
A A A
B .350 B 35 B
.200 20
.150 .300 15 30
C C C
D D D
\begin{tikzpicture}
\pie[before number=., after number=0, radius=2]{35/A,20/B,15/C,30/D}
\pie[after number=, pos={5.25,0},radius=2]{35/A,20/B,15/C,30/D}
\pie[hide number, pos={10.5,0},radius=2]{35/A,20/B,15/C,30/D}
\end{tikzpicture}
Al colocar el parámetro scale font, se escala la fuente utilizada para la etiqueta interna de
acuerdo con el grande de cada parte, es decir, las partes más grandes tendrán etiquetas internas
grandes y las partes pequeñas tendrán etiquetas internas pequeñas.
A
40 % \begin{tikzpicture}
B 20 % \pie[radius=2,scale font]{40/A,20/B,15/C,25/D}
\end{tikzpicture}
25 %
15 %
D
C
El parámetro text permite indicar como colocar la etiqueta exterior. Las opciones posibles son:
43
3.1. PARÁMETROS OPCIONALES
label: Coloca el texto fuera de cada parte (esta es la opción por defecto).
pin: Al igual que label coloca el texto por fuera y le añade una lı́nea desde la mitad del arco
hasta el texto.
inside: Coloca el texto dentro de cada parte y justamente encima de la etiqueta interior.
legend: Con este comando se podrá agregar el texto como una leyenda.
A
C A
15 %
15 % B B
75 10 %
D 10 %A C
30 % 5%
30 % 5% D
20
B E E
40 40 %
30 40 %
D
C
\begin{tikzpicture}
\pie[text=pin, sum=auto,radius=2.]{75/{A}, 20/B, 30/C, 40/D}
\pie[text=inside, radius=2, pos={4.8,0}]{5/A,10/B,15/C,30/D,40/E}
\pie[text=legend, radius=2,pos={9.45,0}]{5/A,10/B,15/C,30/D,40/E}
\end{tikzpicture}
Podemos escoger entre cuatro tipos de gráficos, que son polar, square, cloud y el tradicional
gráfico de torta.
A C
B team B
20 % 10 %
A 20 % D 20 % 10 % D
Grupo A 40 %
40 %
10 %
30 % 40 % C 30 % B
30 %
C D
\begin{tikzpicture}[scale=1]
\pie[polar,radius=2]{10/{A}, 20/B, 30/C, 40/D}
\pie[cloud,text=inside,pos={3.85,0},radius=2]{10/{A}, 20/{team B}, 30/C, 40/D}
\pie[square, pos={11,0},radius=2]{40/A, 30/B, 20/C, 10/D}
\end{tikzpicture}
44
Capı́tulo 4
EJEMPLOS
4.1.1. Segmentos
\begin{tikzpicture}
\draw[dashed] (-2,0) -- (2,2);
\end{tikzpicture}
\begin{tikzpicture}
\draw[arrows=->, ultra thick] (-2,2) -- (2,3);
\end{tikzpicture}
\begin{tikzpicture}
\draw[arrows=<->, very thick] (-2,2) -- (2,3);
\end{tikzpicture}
45
4.1. FIGURAS SIMPLES
\begin{tikzpicture}
\draw[arrows=|->|, double=red] (-2,1) -- (3,-1);
\end{tikzpicture}
\begin{tikzpicture}
\draw[arrows=->] (-1,0) -- (4,0);
\draw[arrows=->] (0,-1) -- (0,3.5);
\end{tikzpicture}
\begin{tikzpicture}
\draw (0,0) circle (0.09);
\end{tikzpicture}
\begin{tikzpicture}
\draw[fill=black] (0,0) circle (0.15);
\end{tikzpicture}
\begin{tikzpicture}
\draw[color=cyan] (0,0) circle (0.7);
\end{tikzpicture}
46
Daniel Sánchez Sánchez
\begin{tikzpicture}
\draw[color=red, fill=blue, ultra thick] (0,0) circle (1);
\end{tikzpicture}
\begin{tikzpicture}
\draw[thick] (0,0) circle (1);
\draw[fill] (0,0) circle (0.07);
\draw[fill] (1,0) circle (0.07);
\draw[thick] (0,0) -- (1,0);
\end{tikzpicture}
\begin{tikzpicture}
\draw[fill=green, double=red] (-2,1) rectangle (3,2);
\end{tikzpicture}
\begin{tikzpicture}
\draw[color=teal, shade] (-3,1) rectangle (1,3);
\draw (-3,1) -- (1,3);
\end{tikzpicture}
\begin{tikzpicture}
\draw[shade] (0,0) rectangle (2,2);
\draw[fill=pink, loosely dashed] (1,1) circle (1);
\end{tikzpicture}
47
4.1. FIGURAS SIMPLES
\begin{tikzpicture}
\draw (1,1) rectangle (2,3);
\draw[densely dashed] (1,3) -- (2,1);
\draw[ultra thin] (1,1) rectangle (1.3,1.3);
\draw[ultra thin] (1.7,2.7) rectangle (2,3);
\end{tikzpicture}
\begin{tikzpicture}
\draw[line width=1.3, color=magenta, rotate=40] (-1,0) ellipse (0.7 and 1);
\end{tikzpicture}
\begin{tikzpicture}
\draw (-1,-2) ellipse (1 and 1.5);
\draw[dashed] (-2,-2) -- (0,-2);
\draw[dashed] (-1,-3.5) -- (-1,-0.5);
\end{tikzpicture}
\begin{tikzpicture}
\draw (0,0) ellipse (1.4 and 0.9);
\draw[fill] (1.0723,0) circle (0.07);
\draw[fill] (-1.0723,0) circle (0.07);
\draw[fill] (0.54,0.83) circle (0.07);
\draw (-1.0723,0) -- (0.54,0.83);
\draw (1.0723,0) -- (0.54,0.83);
\end{tikzpicture}
48
Daniel Sánchez Sánchez
4.1.3. arcos
Ejemplo 4.3.
\begin{tikzpicture}
\draw (-2,1) -- (0,0) -- (2,3) -- cycle;
\end{tikzpicture}
\begin{tikzpicture}
\draw [very thick] (-2,0) -- (0,2) -- (2,0) -- cycle;
\draw[fill=orange] (-1,0) rectangle (1,1);
\end{tikzpicture}
\begin{tikzpicture}
\draw[ultra thick, color=blue] (-3,-1) -- (-2,1) -- (1,1) -- (0,-1) -- cycle;
\end{tikzpicture}
49
4.1. FIGURAS SIMPLES
\begin{tikzpicture}
\draw (-1,-1) -- (-1.62,0.9) -- (0,2) -- (1.62,0.9) -- (1,-1) -- cycle;
\end{tikzpicture}
x
1 2 3 4 5
P (t)
60
50
40
30
20
10
t
0 100 200 300 400 500
50
Daniel Sánchez Sánchez
4.2.2. Geometrı́a
Bisector 2
⃗u3 ⃗v1
Bisector 1
⃗u4 Pc
2
⃗v2 3 (0, 0, 0)
4.2.3. Fı́sica
4.2.4. Funciones
g(x) = 3 cos x
h(x) = sin x
x
51
4.2. FIGURAS MÁS SOFISTICADAS
V (h)
100
80
60
40
20
h
−4 −2 2 4 6 8 10
−20
[9 − h]
V (h) = πh2 − 30
3
−40
V (h)
20
h
0 2 4
−20
3 1
2
0.5
1
−1 0.5 1
x
−1 1 2 3 4 5 −0.5
−1
−1
−2
1
(1 − x)(3 + x) 2
f (x) = 1√ − 3.06
−3 x(x + 1) 2 5
−4
52
Daniel Sánchez Sánchez
1
f ′ (x)
x
−1 1 2 3 4 5
−1
−2
−3
−4
−5
−6
s(t)
300
250
200
150
100
50
t
0 1 2 3 4 5 6
53
4.2. FIGURAS MÁS SOFISTICADAS
y
y=x
7
g(x)
6
(6.004, 6.004)
5
x
−2 −1 0 1 2 3 4 5 6 7 8
y
f5 (x)
5
x
−2 −1 1 2 3 4
−1
−2
54
Daniel Sánchez Sánchez
4 f3 (x)
x
−2 −1 1 2 3 4
−1
−2
−3
−4
4.2.5. Regiones
P ∗ = .8
(0,0) Q∗ = 3 Q
55
4.2. FIGURAS MÁS SOFISTICADAS
ℑ{z}
4i
3i
2i
1i
−4 −3 −2 −1 1 2 3 4 ℜ{z}
−1i
|z − 1 + i| ≤ 3
−2i
−3i
−4i
56
Daniel Sánchez Sánchez
f (x)
Q Sekante
f (x0 + ε) − f (x0 )
P
f (x0 + ε)
ε
f (x0 )
x0 ε x0 + ε x
A2
A1
A7 A3
A6 A4
A5
4.2.7. Topologı́a
4.2.8. Sólidos
y V = x · y2
y
x
57
4.2. FIGURAS MÁS SOFISTICADAS
0 a = b = 1/2 1
V (q)
58
Daniel Sánchez Sánchez
∅d1 ∅d2
x=0 x=l
n
n+1
n
···
4
3
2
1
n
Ideas iniciales o con-
Conceptos definidos
ceptos indefinidos
Proceso de definición
Proceso de demostración
59
4.2. FIGURAS MÁS SOFISTICADAS
EUR
2 mı́n[v1 , v2 ]
v2 (x)
v1 (x)
τ
V A
V ∩A
s0 = 300 f t
s(t) = 0 f t
60
Daniel Sánchez Sánchez
b1 b2
x=0 x=l
5
8
4
f5
1
f4
f3
6
f2 7
3
f6
f ∗ EV EV
f ∗E E
U V
M N
Ft (x) F (x)
Bt
BX BT
∃
At A
BT
61
4.2. FIGURAS MÁS SOFISTICADAS
F (0, t2 )
β≃α
x0
•
I ×I
⊂X
F (1, t2 )
F :I ×I →X •
x1
E D
C
F
B H
G A
62
Daniel Sánchez Sánchez
90◦
105◦ 75◦
120◦ 60◦
135◦ 45◦
150◦ 30◦
165◦ 15◦
180◦ 0◦
1 2 3 4 5 6 7
195◦ 345◦
210◦ 330◦
225◦ 315◦
240◦ 300◦
255◦ 285◦
270◦
63
4.2. FIGURAS MÁS SOFISTICADAS
0 if n = 0
(
f (n) = 1 if n = 1
f (n − 1) + f (n − 2) if n ≥ 2
64