最近在面试天下网发表文章的时候,经常出现latex公式无法正常显示的问题,经过彻夜排查,终于发现了问题所在,特此记录一下,以便后续再次出现问题可以及时翻看此文。
在 Markdown 中,单个下划线 _ 的作用取决于上下文,主要有两种截然不同的情况:
1、作为强调标记(与 * 等效)
当 _ 用来包裹文字时,表示斜体(强调)。
语法:_文字_
效果:文字
注意:必须成对出现,且只能包裹单个单词或连续无空格的内容。如果包裹的内容包含空格,在某些变体(如 GFW 下的常见 Markdown 解析器)中可能不会被识别。
2、作为普通文本字符(字面量)
当 _ 单独出现(不成对)或出现在单词中间时,它会被当作普通字符直接显示,不会触发任何格式。
示例:hello_world 或 文件_名称.txt
效果:显示为 hello_world,不会变成斜体。
关键陷阱(容易踩坑)
LaTeX语法中的_表示下标,如 $x_1$ 显示为 $x_1$,所以与Markdown出现了冲突问题,如下公式所示:

它经过Markdown处理之后,变成了:

此时已经不再是合法的Latex公式了,导致无法正常显示出公式。解决的方法有两种。
第一种方法:增加<p></p>包裹住Latex公式。原因在于,当Markdown内容被包裹在 HTML 块级标签(如 <p>、<div>)内部时,解析器默认会跳过对其内部 Markdown语法的解析。
第二种方法:对下划线进行转义