<jupyter_start><jupyter_text>Markdown Autor: [<NAME>](https://www.linkedin.com/in/daniel-ortiz-lópez/) ¿Qué es?Lenguaje de marcado que nos permite aplicar formato a nuestros textos mediante unos caracteres especiales. Muy útil cuando tenemos que documentar algo, escribir un artículo, o entregar un reporte. Este lenguaje está pensado para web, pero es muy común utilizarlo en cualquier tipo de texto, independientemente de su destino.Lo bueno que tiene es que se edita en **texto plano y está integrado en muchísimas herramientas**, como Jupyter Notebook o RStudio. Markdown vs HTMLTenemos un viejo conocido en cuanto a programación web: HTML. Son lenguajes muy diferentes. Con HTML podemos construir un complejo **árbol de tags**, mientras que markdown se desarrolla en texto plano. Por supuesto, las finalidades también son distintas. HTML se aplica a todo tipo de webs, ya sean sencillas o complejas, mientras que markdown se suele usar para blogs o artículos. Su sencillez a la hora de desarrollar le penaliza en su versatilidad. Pero como el objetivo de este curso no es hacer páginas web, markdown cumple más que de sobra para acompañar y mejorar la comprensión de nuestro código. Además, ya verás a lo largo de este notebook que ambos lenguajes son perfectamente compatibles. ¿Cómo funciona?Contiene una serie de **caracteres especiales** que le dan forma a los textos. Por ejemplo, si queremos un texto en *cursiva*, simplemente lo rodearemos con asteriscos. Lo veremos en detalle en este Notebook. ¿De qué nos va a servir?En Jupyter lo normal será crear celdas con código, pero también tenemos la posibilidad de insertar celdas de markdown, donde podremos poner **imágenes, títulos, enumerar texto, listar, citar y mucho más!**  1. Primera celdaHaz doble clik en esta celda y verás cómo cambia el texto. Significa que estás en el **modo edición** de Markdown.Como puedes observar, markdown se edita como si fuese texto plano, y en el caso concreto de los párrafos, no necesita de ningún caracter para que markdown sepa que es un párrafo. Sin embargo, fíjate que para la cabecera "1.Primer celda", hay dos hashtags delante que indican que es un encabezado. Veremos en el apartado 2 cómo crear cabeceras.Haz ctrl + enter para ejecuta la celda (o botón de play de arriba). Así abandonamos el modo edición y nuestro texto obtiene el formato que deseábamos.**¡Tu turno!** Crea una celda nueva en el menu de arriba y selecciona la opción Markdown ![imagen](img/primer_celda.png)  *Cabecera*  Cabecera<jupyter_code># Esto es código de Python.
# Va a ser muy habitual en el curso, acompañar el código de Python mediante celdas de markdown.<jupyter_output><empty_output><jupyter_text>**TIP**: cuando estemos escribiendo markdown, un buen indicador de que lo estamos haciendo bien es que **la letra cambia de color o de forma**. Significa que markdown ha interpretado los simbolos que has puesto. Si estamos escribiendo en cursiva, verás que la letra cambia a cursiva si lo estas haciendo bien. Por supuesto, también podemos ejecutar y ver el resultado, pero si queremos comprobar que la sentencia que escribimos es correcta, tendrás esa opción en Jupyter.  2. CabecerasYa has visto que en el apartado anterior usábamos dos hashtag para poner una cabecera. ¿Por qué dos? Cuantos más hashtags, menor es el tamaño del título. El tamaño mínimo lo obtenemos con 6 hashtags. Es decir, tenemos hasta 6 niveles de profundidad para aplicar a los apartados de nuestro notebook. Normalmente con 3 o 4 hay más que de sobra, pero también depende del tamaño que queramos darle a las cabeceras.  3. HTMLComo te comentaba al principio, una cosa es utilizar markdown y otra HTML. No obstante, markdown nos ofrece la posibilidad de escribir código HTML, dentro de una celda markdown. Si te manejas bien con HTML y quieres insertar una porción de código de este lenguaje, markdown lo va a interpretar.  4. Negrita, cursivaPaara resaltar texto en negrita tenemos que rodearlo con asteriscos. En el caso en que queramos cursiva, será un único asterisco, y si deseamos combinar negrita con cursiva, son 3 asteriscos. *cursiva***negrita*****negrita y cursiva*** Cuidado con dejar espacios entre los asteriscos y el texto. Es decir, si queremos escribir en negrita, inmediatamente despues de los asteriscos tiene que ir el texto: ** No es negrita **  5. CitarEn ocasiones resulta útil poner una citación, o una nota, destacándola con un margen. Esto lo podemos hacer mediante el símbolo mayor que ">" esto no es una cita>esto si es una cita>>Esto es una cita con mayor tabulacion  6. ListasHay dos opciones. **Listas ordenadas o sin ordenar**. Si queremos listas ordenadas, simplemente usamos números 1. elemento 12. elemento 2 Lista no ordenada * Elemento 1- Elemento 2+ Elemento 3  7. Código de PythonEs otra manera de enseñar código. Se suele usar cuando lo único que quieres es mostrar un fragmento de código, pero sin ejecutarlo ```Pythonstring = "Esto es codigo Python"`palabra````  8. Líneas de separaciónPara separar secciones utilizamos líneas horizontales. Hay varias opciones en markdown para insertar una lína horizontal. En este ejemplo se usa o asteriscos o guiones. ***---  9. Links y enlacesPara crear enlaces externos, a páginas web, se usa la sintaxis `[ enlace ] (web)`[enlace en línea](http://www.google.es)Tambien podemos definir [un enlace][mi_web].A una [web][mi_web] a la que podemos referenciar mas adelante[mi_web]: http://www.google.esPor otro lado, podemos definir links que vayan a otras partes del Notebook, como por ejemplo a una cabecera concreta. Si haces clik en [este enlace](Markdown), volverás al inicio del notebook.Con [este otro enlace](1.-Primera-celda) vas al primer apartado.¿Cómo linkarlos? Copiamos el nombre de la cabecera, sustituimos espacios por guiones, le añadimos en hashtag al principio, y eso es lo que va dentro de los paréntesis.<jupyter_code>[link de prueba](https://www.google.com/)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.053304186985034474, 'fraction_numerical': 0.004035648225996301, 'mean_word_length': 4.871668311944719, 'pattern_counts': {'":': 0, '<': 10, '<?xml version=': 0, '>': 14, 'https://': 2, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '611929', 'license': 'Apache-2.0', 'n_tokens_mistral': 1927, 'n_tokens_neox': 1913, 'n_words': 898, 'path': '1-Ramp Up/2-Python/0-Markdown/Markdown en Jupyter.ipynb', 'repo_name': 'guillermodeprada/RepoGuillermo', 'size': '5959'}