\documentclass[12pt,a4paper]{article}

\usepackage[utf8]{inputenc}         % para usar el teclado normalmente
\usepackage[spanish]{babel}         % selecciona el idioma
\usepackage[T1]{fontenc}            % gestión de fuentes con acentos

\usepackage{tikz}                   % paquetes TikZ / pgf para los dibujos
\usetikzlibrary{babel}              % para evitar conflictos entre TikZ y babel
\usetikzlibrary{arrows.meta}        % para los extremos de los arcos
\usetikzlibrary{shapes.geometric}   % para las formas de los nodos
\usetikzlibrary{positioning}        % para los nodos

%\usepackage{color}                 % para definir colores (lo carga tikz)
\definecolor{azulUE}{rgb}{0,0.2,0.6} % 0 / 51 / 153
\definecolor{amarilloUE}{rgb}{1,0.8,0} % 255 / 204 / 0

%------- 
% Sin numeración de páginas, ni cabeceras
\pagestyle{empty}

\title{{Ti\textit{k}Z: figuras geométricas, gráficas de funciones, grafos y otros dibujos en~\LaTeX}}
\author{Mario Pérez Riera}
\date{Octubre de 2023}

\begin{document}
\maketitle
% Y la primera página, sin numeración de páginas, ni cabeceras tampoco
\thispagestyle{empty}

%---------- PRIMEROS PASOS
\begin{tikzpicture}
% Línea recta entre los puntos de coordenadas (-5,0) y (0,5)
\draw (-5,0) -- (5,0);
% Línea recta de color rojo entre los puntos de coordenadas (0,-2) y (0,3)
\draw[red] (0,-2) -- (0,3);
% Línea recta de color azul y trazo grueso entre los puntos (-2,2) y (-1,1)
\draw[blue, thick] (-2,2) -- (-1,1);
% Una poligonal
\draw[orange] (2,1) -- (4,-1) -- (4,2.5) -- (-3,2.5);
% El segundo punto dado en coordenadas polares:
% es el de argumento 45 grados y módulo 1.4142 ~ raíz de 2
\draw[very thick] (0,2) -- (45:1.4142);
% Línea de trazos, y el segundo punto es el (2,2) + (1,-1) = (3,1)
\draw[dashed] (2,2) -- +(1,-1);
% Una poligonal de trazo azul (cyan) muy grueso.
% El tercer punto es (5,0) + (1,1) = (6,1).
% El cuarto punto es (5,0) + (2,0) = (7,0).
% El quinto punto es (7,0) + (-1,-1) = (6,-1).
\draw[very thick, cyan] (5,3) -- (5,0) -- +(1,1) -- ++(2,0) -- +(-1,-1);
% Polígonos sin y con el interior coloreado
\draw[green] (-2,1) -- (-2.5,-2) -- (-3,2) -- (-2,1);
\filldraw[draw=black, fill=red] (-4,1) -- (-4.5,-2) -- (-5,2) -- cycle;
% Una circunferencia centrado en (5,1) y de radio 0.25cm
\draw[gray] (5,1) circle[radius=0.25];
% Un rectángulo con los lados horizontales y verticales:
% indicamos dos vértices opuestos.
\fill[yellow] (4.5,1.5) rectangle (7,2.35);
% Un circulito en un punto en coordenadas polares: -30 grados, módulo 2.5.
\filldraw (-30:2.5) circle[radius=2pt];
% Y ahora otro en la vertical de (-30:2.5) y la horizontal de (0,0).
\filldraw[fill=yellow, draw=black] (-30:2.5 |- 0,0) circle[radius=3pt];
% Un pentágono centrado en el origen de coordenadas. En coordenadas polares.
\draw (90:1) -- (162:1) -- (234:1) -- (306:1) -- (18:1) -- cycle;
\end{tikzpicture}
%---------- FIN DE PRIMEROS PASOS

%\newpage
\vfill

%---------- LA BANDERA DE LA UNIÓN EUROPEA
\begin{center}
%---
\begin{tikzpicture}[scale=0.2]
% Proporciones de la bandera: longitud = 1.5 por la anchura.
% Color de fondo: rgb(1,0.8,0), RGB(255,204,0)
\fill[azulUE] (-13.5,-9) rectangle (13.5,9);
%
% Estrellas: doce, centradas en un círculo de radio 1/3 de la anchura
%  centrado en el centro de la bandera,
%  colocadas en la posición de las horas del reloj.
% Cada estrella: punta hacia arriba,
%  inscrita en un círculo de radio 1/18 de la anchura.
% Color: rgb(0,0.2,0.6), RGB(0,51,153)
\foreach \n in {0,30,...,330}
{
\fill[amarilloUE, shift={(\n:6)}] (90:1) -- (234:1) -- (18:1) -- (162:1) -- (306:1) -- cycle;
}
%
\end{tikzpicture}
%---
\end{center}
%---------- FIN DE LA BANDERA DE LA UNIÓN EUROPEA

\newpage

%---------- FIGURAS GEOMÉTRICAS
\begin{center}
%---
\begin{tikzpicture}[>=latex]
% Las flechas van a ser de estilo LaTeX
% Una flecha - el extremo en coordenadas polares
\draw[<->] (0,0) -- (15:8cm);
% Ejes
\draw (-1,0) -- (8,0);
\draw (0,-1) -- (0,4);
% Varias marcas en el eje x
\foreach \n in {-1,1,2,...,8}
{
   \draw (\n,0) + (0,0.1) -- + (0,-0.1) node[below]{$\n$};
}
% Varias marcas en el eje y
\foreach \n in {-1,1,2,3,4}
{
   \draw (0,\n) + (0.1,0) -- + (-0.1,0) node[left]{$\n$};
}
% Una circunferencia y su interior
\filldraw[draw=gray, thin, fill=green!20!white] (2,2) circle[radius=2];
% Un sector circular
\fill[yellow!30!white] (2,0) arc[start angle=-90, end angle=30, radius=2cm] -- (2,2) -- cycle;
% Un punto con rótulo
\filldraw[red] (2,2) circle[radius=2pt] node[left, black]{$2+2i$};
% Un arco de circunferencia de color rojo
\draw[very thick, red, ->] (2,0) arc[start angle=-90, end angle=30, radius=2cm];
% Un segmento
\draw[very thick, black] (2,2) + (30:2cm) -- + (150:2cm);
% Una elipse
\fill[orange] (6,3) circle[x radius=1.8, y radius = 0.8];
% Un rectángulo con un cierto grado de transparencia
\filldraw[draw=black, very thick, fill=gray, opacity=0.5] (6,1) rectangle (8,4);
\end{tikzpicture}
%---
\end{center}
%---------- FIN DE FIGURAS GEOMÉTRICAS

%\newpage
\vfill
% Necesita la librería arrows.meta
%\usetikzlibrary{arrows.meta }        % para los extremos de los arcos

%---------- FIGURA CON CLIP Y SCOPE
\begin{center}
%---
\begin{tikzpicture}[scale=2.5]
% Semicírculo gris (luego quedará tapado en parte)
\fill[gray!30!white] (1,0) arc[start angle=0, end angle=180, radius=1cm] -- cycle;
% Zona verde, zona blanca y arco negro dentro del círculo
\begin{scope}
 \clip (0,0) circle[radius=1];
 \fill[green] (1,1) circle[radius=1];
 \filldraw[fill=white, draw=black, thick] (1,0.7) circle[radius=0.7];
\end{scope}
% Circunferencia
\draw[black, very thin] (0,0) circle[radius=1];
% Segmento de -1 a 1
\draw[red, very thin] (-1,0) -- (1,0);
% Arco azul con extremos especiales y un rótulo a la mitad
\draw[blue, very thick, Bracket-Parenthesis] (-1,0) arc[start angle=180, end angle=90, radius=1cm] node[left, midway, red]{$J$};
\end{tikzpicture}
%---
\end{center}
%---------- FIN DE FIGURA CON CLIP Y SCOPE

%\newpage
\vfill

%---------- GRÁFICA DE FUNCIONES
\begin{center}
%---
\begin{tikzpicture}[scale=1.2]
% Eje horizontal
\draw[thin, gray] (-5,0) -- (5,0);
% Eje vertical
\draw[thin, gray] (0,-1.2) -- (0,1.2);
% Rótulo en el origen
\node at (0,0)[above left]{$0$};
% Marcas y rótulos en el eje x
\draw (pi/2,0.2) -- +(0,-0.4) node[below]{$\frac{\pi}{2}$};
\draw (-pi/2,0.2) -- +(0,-0.4) node[below]{$-\frac{\pi}{2}$};
\draw (pi,0.2) -- +(0,-0.4) node[below]{$\pi$};
\draw (-pi,0.2) -- +(0,-0.4) node[below left]{$-\pi$};
% Marcas y rótulos en el eje y
\draw (0.2,1) -- +(-0.4,0) node[above left]{$1$};
\draw (0.2,-1) -- +(-0.4,0) node[left]{$-1$};
% La curva y = sen x desde x=-5 hasta x=5
% La r de sin(\x r) indica radianes (si no, la hace en grados)
\draw[thick, red] plot[domain=-5:5, samples=200] ({\x}, {sin(\x r)});
% Rótulo
\node at (4.7,-1)[below]{$\sen x$};
% La curva 1/(1+x^2)
\draw[thick, blue] plot[domain=-5:5, samples=200] ({\x}, {1/(1+\x*\x)});
\end{tikzpicture}
%---
\end{center}
%---------- FIN DE GRÁFICA DE FUNCIONES

%\newpage
\vfill
% Necesita la librería positioning:
%\usetikzlibrary{positioning}        % para los nodos

%---------- GRAFO
\begin{center}
%---
\begin{tikzpicture}[scale=1.5, % Aunque a los grafos no parece que les afecte la escala
% Distancia entre los nodos (vertical y horizontal)
node distance=0.5 and 3,
% Estilo de los círculos
redondel/.style={shape=circle, minimum size=35pt, draw=blue, thick, fill=blue!10!white},
% Estilo de las flechas
flecha/.style={-latex, shorten <=2pt, shorten >=2pt, color=blue, very thick},
]
% Nodos - versión 1: colocar los nodos a mano
%\node[redondel] (a) at (-0.5,0) {$A$};
%\node[redondel] (b) at (1,1) {$B$};
%\node[redondel] (c) at (1.5,-1) {$C$};
%\node[redondel] (d) at (4,-1) {$D$};
%\node[redondel] (e) at (-1,-2) {$E$};
%\node[redondel] (f) at (3,1) {$F$};
% Nodos - versión 2: colocar los nodos de manera automática
\node[redondel] (a)                    {$A$};
\node[redondel] (b) [above right=of a] {$B$};
\node[redondel] (c) [below right=of a] {$C$};
\node[redondel] (d) [right=of c]       {$D$};
\node[redondel] (e) [below left=of c]  {$E$};
\node[redondel] (f) [right=of b]       {$F$};
\node[redondel,shape=rectangle,fill=orange!20!white, rounded corners] (g) [left=of e] {$\gamma_1$};
% Flechas (unas rectas y otras curvadas)
\draw[flecha] (a) -- (b);
\draw[flecha] (c) -- (a);
\draw[flecha] (b) -- (c);
\draw[flecha] (f) -- (b);
\draw[flecha] (d) -- node[midway,above,sloped]{$w = \sqrt{3}$} (b);
\draw[flecha] (e) to[bend right=15]  (c);
\draw[flecha] (c) to[bend right=15] (e);
\draw[flecha] (g) |- node[near start, right, red]{Peso $\frac{1}{5}$} (b);
\draw[flecha, dashed, red] (g) to[out=-45,in=225] (d);
\draw[flecha] (b) to[out=45,in=135] (f);
\end{tikzpicture} 
%---
\end{center}
%---------- FIN DE GRAFO

\end{document}