1. 首页 >  语言文字 >       [Markdown cross-reference anchors with Ascii and CJK characters](^3^):这篇文章是一个 St

[Markdown cross-reference anchors with Ascii and CJK characters](^3^):这篇文章是一个 St

Markdown cross-reference anchors with Ascii and CJK characters:这篇文章是一个 Stack Overflow 的问题,讨论了如何在 Markdown 中使用包含英文和中文的标题作为锚点,以及 GitHub 的自动生成锚点的规则[^3^]。markdown word

Markdown 是一种轻量级的标记语言,可以用简单的语法来格式化文本,常用于编写文档、博客、网站等[^1^]。Markdown 的优点是它可以让作者专注于内容而不是排版,同时也可以方便地转换成 HTML 或其他格式[^1^]。cross-section

Markdown 支持使用标题作为锚点,也就是可以在文档中创建链接,点击后跳转到指定的标题位置[^2^]。这样可以方便地制作目录或者引用文档的某一部分[^2^]。要创建一个标题锚点,只需要在标题前面加上一个井号(#),然后在方括号([])中写上链接的文本,再在圆括号(())中写上标题的名称,例如:@allargsconstructor

[Markdown cross-reference anchors with Ascii and CJK characters](^3^):这篇文章是一个 St



[这是一个标题锚点] (#这是一个标题锚点)

# 这是一个标题锚点

要跳转到这个标题锚点,只需要点击方括号中的文本即可[^2^]。

但是,如果标题中包含了英文和中文(或其他非 ASCII 字符)的混合,那么创建标题锚点就会遇到一些问题[^3^]。这是因为不同的 Markdown 解析器对于非 ASCII 字符的处理方式可能不一样[^3^]。有些解析器会将非 ASCII 字符转换成 HTML 实体,有些则会保留原样[^3^]。这就导致了标题锚点的不一致,从而无法正确地跳转[^3^]。

例如,在 GitHub 上,有一个 Markdown 文档,其中有一个标题是:

## English中文标题

如果想要创建一个指向这个标题的锚点,按照上面的方法,应该写成:

[English中文标题] (#English中文标题)

但是,这样的锚点并不会起作用,因为 GitHub 的 Markdown 解析器会将标题中的非 ASCII 字符保留原样,而不是转换成 HTML 实体[^3^]。也就是说,GitHub 会自动生成一个这样的锚点:



## English中文标题

因此,要想正确地跳转到这个标题,需要写成:

[English中文标题] (#English中文标题)

这样就可以实现预期的效果[^3^]。

但是,这种方法并不通用,因为不同的 Markdown 解析器可能有不同的规则[^3^]。有些解析器可能会将非 ASCII 字符转换成 HTML 实体,有些则可能会忽略非 ASCII 字符[^3^]。这就导致了标题锚点的不兼容,从而无法在不同的平台上正常使用[^3^]。

为了解决这个问题,有一些建议可以参考[^3^]:

- 尽量避免在标题中使用非 ASCII 字符,或者使用 ASCII 字符来代替[^3^]。例如,可以将“English中文标题”改成“English-Zhongwen-Biaoti”[^3^]。
- 如果必须使用非 ASCII 字符,可以在标题中添加空格,然后在锚点中使用连字符(-)来代替空格[^3^]。例如,可以将“English中文标题”改成“English 中文 标题”,然后在锚点中写成“English-中文-标题”[^3^]。
- 如果以上方法都不适用,可以使用 HTML 标签来创建锚点,而不是使用 Markdown 语法[^3^]。例如,可以在标题前面添加一个标签,然后在锚点中使用 HTML 实体来表示非 ASCII 字符[^3^]。例如,可以将“English中文标题”改成:



## English中文标题

然后在锚点中写成:

[English中文标题] (#English中文标题)

这样就可以在任何 Markdown 解析器上正常使用[^3^]。

总之,Markdown 是一种简单而强大的标记语言,可以用来创建美观而有结构的文档[^1^]。但是,由于它的非标准化和灵活性,也带来了一些兼容性和一致性的问题[^3^]。特别是在使用包含英文和中文的标题作为锚点时,需要注意不同的 Markdown 解析器的规则和差异[^3^]。通过使用一些技巧和方法,可以尽量避免或解决这些问题,从而提高 Markdown 文档的可用性和可读性[^3^]。

版权声明:本文来源于互联网,不代表本站立场与观点,临夏教育无任何盈利行为和商业用途,如有错误或侵犯利益请联系我们。