Ir al contenido

Introducción a Markdown

7 mins· 0 · 0 ·
Markdown Markup Writing Open Science
Tabla de contenido

1. Introducción al Lenguaje Markdown #

Orígenes y Usos Comunes #

Markdown se originó como una simplificación del HTML, diseñado por John Gruber en 2004 con la colaboración de Aaron Swartz. Aunque inicialmente concebido como una forma más sencilla de escribir contenido en la web, ha evolucionado para abarcar aplicaciones más diversas. Entre las tareas para las que se emplea se incluyen la documentación de software, toma de notas, y escritura de contenido en plataformas como GitHub y Wordpress.

Diferencias entre Markdown y otros lenguajes de marcado #

A diferencia del HTML, donde se requieren etiquetas de apertura y cierre, Markdown opta por una sintaxis más ligera, apoyándose en caracteres como asteriscos y almohadillas. Esto facilita la escritura rápida y hace que el texto sea más legible incluso en su forma no renderizada.

2. Instalación y Herramientas #

Editores Recomendados #

Se puede optar por una variedad de editores, desde simples blocs de notas hasta plataformas más avanzadas como Visual Studio Code u Obsidian. Estas últimas a menudo ofrecen extensiones que facilitan el trabajo con Markdown.

Plugins y Extensiones Útiles #

Extensiones como “Markdown Preview” en Visual Studio Code permiten ver una vista previa del documento final sin necesidad de salir del editor. Otras extensiones ofrecen resaltado de sintaxis, autocompletado, y más.

3. Sintaxis Básica #

Encabezados y Sub-encabezados

Se utiliza el signo de almohadilla (#) seguido de un espacio para definir un encabezado. El número de almohadillas indica el nivel del encabezado:

# Encabezado 1
## Encabezado 2
### Encabezado 3

Encabezado 1 #

Encabezado 2 #

Encabezado 3 #

Párrafos y Saltos de Línea #

Un nuevo párrafo se crea con una línea en blanco entre dos bloques de texto. Para un salto de línea dentro de un párrafo, es suficiente con dos espacios al final de la línea.

Enfatización de Texto #

El empleo de asteriscos o guiones bajos permite enfatizar el texto:

*itálica* o _itálica_

**negrita** o __negrita__

itálica o itálica

negrita o negrita

4. Listas y Elementos Ordenados #

Listas No Ordenadas #

Se pueden crear listas no ordenadas empleando un asterisco, más o menos, seguido de un espacio:

* Elemento 1
* Elemento 2
  • Elemento 1
  • Elemento 2

Listas Ordenadas Para una lista numerada, se emplean números seguidos de un punto:

1. Primer elemento
2. Segundo elemento
  1. Primer elemento
  2. Segundo elemento

Listas Anidadas La indentación con cuatro espacios o un tabulador permite crear listas anidadas:

* Elemento 1
    * Subelemento 1.1
* Elemento 2
  • Elemento 1
    • Subelemento 1.1
  • Elemento 2

5. Enlaces y Referencias #

Enlaces Internos y Externos #

La incorporación de enlaces se logra utilizando corchetes para el texto visible y paréntesis para la URL:

[Texto del enlace](https://jandimter.cl)

Texto del enlace

Es posible añadir enlaces que redirijan a secciones dentro del mismo documento, utilizando el símbolo de la almohadilla:

[Sección de Introducción](#introducción-al-lenguaje-markdown)

Sección de Introducción

Etiquetas de Anclaje #

Para crear un punto de anclaje personalizado en el documento, se puede emplear la siguiente estructura en HTML:

<a name="anclaje-personalizado"></a>

Esto permite enlazar a esa sección específica con [Texto del enlace](#anclaje-personalizado).


6. Incorporación de Imágenes #

Formatos Soportados #

Imágenes en formatos como JPEG, PNG y GIF se pueden incorporar. La sintaxis es similar a la de los enlaces, pero se añade un signo de exclamación al principio:

![Texto alternativo](https://jandimter.cl/tutoriales/markdown/featured.png)

Texto alternativo

Resolución y Escalado #

Markdown nativo no ofrece opciones para el escalado de imágenes. Sin embargo, se puede recurrir a HTML para un control más detallado:

<img src="https://jandimter.cl/tutoriales/markdown/featured.png" width="200" />

7. Código y Fragmentos de Código #

Bloques de Código #

Para incluir bloques de código, se encierra el texto entre tres acentos graves. Es posible especificar el lenguaje para habilitar el resaltado de sintaxis:

```python
print("Hola, mundo!")
```
print("Hola, mundo!")

Fragmentos de código #

Lo mismo se replica para los fragmentos de código contenidos en líneas utilizando las tildes `(…)`.

Este es una línea con código inserto. Ej. `print("Hola mundo")`

Este es una línea con código inserto. La función print("Hola mundo")

Resaltado de Sintaxis #

Algunos editores y plataformas soportan el resaltado de sintaxis, lo que mejora la legibilidad del código en múltiples lenguajes de programación. Para esto se agrega el lenguaje del código después de las tres tildes:

```
print("Hola, mundo!")
```
print("Hola, mundo!")

Versus:

```python
print("Hola, mundo!")
```
print("Hola, mundo!")

Nota: la forma de representar las triple tildes ``` dentro de Markdown sin que se transforme en sí mismas en un bloque de código es insertarlas dentro de lineas con una tilde extra (o más):

````
```python
print("Hola, mundo!")
```
````

8. Tablas y Alineación #

Creación de Tablas #

Para estructurar información en forma de tabla, se emplea la siguiente sintaxis:

| Encabezado 1 | Encabezado 2 |
| ------------ | ------------ |
| Celda 1A     | Celda 1B     |
| Celda 2A     | Celda 2B     |
Encabezado 1 Encabezado 2
Celda 1A Celda 1B
Celda 2A Celda 2B

Alineación de Texto en Columnas #

El uso de dos puntos en la línea de separación define la alineación:

| Izquierda | Centro  | Derecha  |
|:----------|:-------:|---------:|
Izquierda Centro Derecha

9. Extensiones de Markdown #

Tablas de Contenido #

Algunos procesadores de Markdown, como Pandoc, ofrecen la posibilidad de generar automáticamente una tabla de contenidos. Este recurso se activa generalmente con una opción de compilación o una directiva especial en el documento.

Notas al Pie #

Se pueden añadir notas al pie con una sintaxis especial que varía según el procesador de Markdown. En el caso de Pandoc, se usa el siguiente formato:

Texto que requiere una nota[^1].

[^1]: Texto de la nota al pie.

Texto que requiere una nota1.

Texto destacado #

Ejemplo de texto a <mark>destacar</mark>.

Ejemplo de texto a destacar.

Comandos LaTeX para Ecuaciones #

En plataformas que lo permiten, como Jupyter Notebooks, se pueden incorporar ecuaciones matemáticas utilizando comandos LaTeX. Para ecuaciones en línea, se emplean signos de dólar simples ($), y para ecuaciones en bloque, signos de dólar dobles ($$).

Fórmula: $\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…$

Fórmula: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\)

$$
E = mc^2
$$

$$ E = mc^2 $$

$$ \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } $$


10. Integración con Otras Tecnologías #

Uso de Markdown en Jupyter Notebooks #

Jupyter Notebooks soporta celdas de Markdown, permitiendo una mezcla rica de código y documentación. Esto es especialmente útil en tareas como análisis de datos y visualización.

Compatibilidad con HTML y CSS #

Markdown se integra sin problemas con HTML y CSS, brindando un mayor grado de personalización. Así, es posible insertar fragmentos de HTML dentro de un documento Markdown para lograr efectos que la sintaxis nativa no soporta.


11. Ventajas de la Naturaleza Abierta de Markdown #

Interoperabilidad y Portabilidad #

A diferencia de formatos propietarios como los utilizados por Microsoft Word, Markdown es un estándar abierto. Esto significa que los archivos Markdown son legibles y editables en una amplia variedad de aplicaciones y plataformas, asegurando un alto grado de portabilidad.

Menor Sobrecarga Computacional #

Los archivos de Markdown suelen ser más ligeros que los archivos de Word, lo que resulta en tiempos de carga más rápidos y menor uso de recursos del sistema. Esto es especialmente valioso en entornos con limitaciones de hardware o ancho de banda.

Control Versátil sobre la Presentación del Contenido #

Mientras que los procesadores de texto como Word ofrecen opciones de estilo a través de una interfaz gráfica, Markdown permite un control más directo sobre el formato del documento. Esto es beneficioso para quienes buscan una personalización más detallada o para aquellos que prefieren trabajar desde la línea de comandos.

Facilita la Colaboración y el Control de Versiones #

Dado que Markdown es texto plano, es altamente compatible con sistemas de control de versiones como Git. Esto simplifica el seguimiento de cambios y la colaboración en proyectos de escritura en equipo.

Independencia de Plataforma #

Ser un formato abierto también implica que no está atado a un ecosistema específico. Los archivos pueden transferirse, editarse y visualizarse en diferentes sistemas operativos y dispositivos sin preocuparse por incompatibilidades.

Al ser un formato abierto, Markdown ofrece ventajas significativas en términos de interoperabilidad, eficiencia y flexibilidad, lo que lo convierte en una opción robusta para una amplia variedad de escenarios de escritura y publicación.


12. Conclusión y Recursos Adicionales #

Al concluir este tutorial, se habrá obtenido una visión global del universo de Markdown, abarcando desde la sintaxis básica hasta las capacidades extendidas mediante plugins y extensiones.

Tutoriales y Guías Recomendadas #

Foros y Comunidades en Línea #


  1. Texto de la nota al pie. ↩︎

Relacionados

Análisis de Redes Sociales - Magíster en Economía y Políticas Públicas 2023
0 · 0
Ayudantía Universidad Adolfo Ibáñez Redes Sociales
Análisis de Redes Sociales - Magíster en Economía y Políticas Públicas 2023
Introducción a Beautifulsoup en Python
5 mins· 0 · 0
Python Beautifulsoup Webscraping
BeautifulSoup es una biblioteca de Python que permite extraer información de archivos HTML y XML. Fue diseñada para hacer que el webscraping, o la extracción de datos de sitios web, sea más accesible y fácil de hacer. BeautifulSoup convierte los archivos HTML y XML en árboles de parseo, que son estructuras de datos que representan la jerarquía de los elementos en el archivo.
Introducción a R & Rstudio
10 mins· 0 · 0
R Rstudio Languages
R fue desarrollado principalmente como un lenguaje para el análisis estadístico y contiene una amplia variedad de funciones y paquetes para estadísticas tradicionales y modernas.