Por qué Markdown no tiene subrayado y cómo conseguirlo igualmente con HTML, CSS o la sintaxis propia de editores como Discord o Bear, y qué alternativas usar en su lugar.
Markdown no tiene una sintaxis para subrayar texto. Ni la especificación original ni CommonMark ni GitHub Flavored Markdown la incluyen, así que no existe una marca estándar que funcione en todas partes. Aun así, hay varias formas de conseguirlo según dónde escribas, y en esta guía verás cuáles funcionan y cuándo conviene usar otra cosa.
La ausencia es deliberada. Markdown nació para escribir contenido web, y en la web el subrayado tiene un significado muy concreto: indica un enlace. Un texto subrayado que no se puede pulsar confunde al lector, que intenta hacer clic y no pasa nada. Por eso Markdown ofrece otras formas de dar énfasis, como la negrita y la cursiva, y deja el subrayado fuera.
El problema aparece cuando el destino no es una web. Si redactas un trabajo académico, un documento que vas a exportar a Word o un libro, el subrayado puede ser una convención de estilo que necesitas respetar. Para esos casos tienes las opciones que siguen.
La solución más portable es usar HTML dentro del Markdown. La mayoría de procesadores lo admiten, aunque algunas plataformas lo filtran por seguridad. Hay dos etiquetas que producen subrayado, y no significan lo mismo.
La etiqueta <ins> marca un texto insertado en un documento, como una adición en una revisión. Los navegadores la muestran subrayada por defecto. Es la opción que recomienda GitHub en su documentación para subrayar en archivos .md y comentarios.
En el siguiente ejemplo subrayamos un texto con <ins>:
El siguiente <ins>texto debería subrayarse</ins>Si el editor que usas admite HTML, el resultado será:
La etiqueta <u> sirve para marcar texto con una anotación no textual, como una palabra mal escrita o un nombre propio en ciertos sistemas de escritura. Visualmente también se muestra subrayada.
En el siguiente ejemplo subrayamos un texto con <u>:
El siguiente <u>texto debería subrayarse</u>Si el editor que usas admite HTML, el resultado será:
En pantalla se ven igual, así que la elección depende del significado. Usa <ins> cuando el subrayado indica que algo se ha añadido, por ejemplo al mostrar los cambios entre dos versiones de un texto. Usa <u> cuando solo quieres el efecto visual. Si publicas en GitHub, <ins> es la que aparece en su documentación oficial, así que es la apuesta segura allí.
Si tu procesador admite HTML con el atributo style, puedes aplicar la propiedad text-decoration a un <span>. Tiene la ventaja de que permite elegir el estilo de la línea, por ejemplo ondulada o de otro color.
En el siguiente ejemplo subrayamos un texto con CSS:
El siguiente <span style="text-decoration: underline;">texto debería subrayarse</span>El resultado será:
Ten en cuenta que muchas plataformas eliminan el atributo style aunque admitan HTML, así que esta opción es menos portable que <ins> o <u>. Es la misma limitación que explicamos en cómo cambiar el color del texto.
Algunas aplicaciones han añadido su propia marca de subrayado. Funcionan bien dentro de esa aplicación, pero el texto no se verá subrayado si lo llevas a otro editor.
En Discord, dos guiones bajos a cada lado subrayan el texto. Es justo la sintaxis que en Markdown estándar produce negrita, así que el mismo texto se verá distinto fuera de Discord.
En el siguiente ejemplo subrayamos un texto en Discord:
El siguiente __texto debería subrayarse__Discord permite combinarlo con otros estilos, por ejemplo __**texto**__ para subrayado y negrita a la vez.
En Bear, el subrayado se escribe con una sola virgulilla a cada lado del texto, mientras que dos virgulillas producen tachado.
En el siguiente ejemplo subrayamos un texto en Bear:
El siguiente ~texto debería subrayarse~Cuidado al llevar estas notas a otros editores: en GitHub Flavored Markdown una sola virgulilla a cada lado también puede interpretarse como tachado.
Editores como Typora no tienen una marca propia y remiten directamente a la etiqueta <u>. Otros, como Obsidian, admiten HTML en las notas, así que <u> e <ins> funcionan sin configurar nada.
Antes de recurrir a HTML, piensa si de verdad necesitas el subrayado o solo quieres destacar algo. Si es lo segundo, Markdown tiene opciones que funcionan en todas partes y no se confunden con enlaces:
Si publicas en la web, la recomendación general es reservar el subrayado para los enlaces y usar negrita o cursiva para el énfasis. Tu texto será más claro y funcionará igual en cualquier editor.
Y con esto ya hemos terminado. Espero que te haya resultado de ayuda.
👋 Hola! Soy Edu, me encanta crear cosas y he redactado este tutorial. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirlo en Twitter.
Sígueme en Twitter para estar al día con mi contenido. 😊