如何在GitHub风格的Markdown中添加脚注?

Enr*_*tyo 236 markdown multimarkdown github-flavored-markdown

我只是想在我的GitHub Gist中添加脚注,但它不起作用:

Some long sentence. [^footnote]

[^footnote]: Test, [Link](https://google.com).
Run Code Online (Sandbox Code Playgroud)

我遵循这个指南,我不认为我做错了什么.有人可以指出我的错误吗?

sur*_*kar 308

在前面的答案中稍微扩展一下,你也可以在这里点击脚注链接.首先像这样在底部定义脚注

<a name="myfootnote1">1</a>: Footnote content goes here
Run Code Online (Sandbox Code Playgroud)

然后在文档中的其他位置引用它,就像这样

<sup>[1](#myfootnote1)</sup>
Run Code Online (Sandbox Code Playgroud)

  • 这是一个很好的中间立场答案。它保持意图的澄清,_IMO_,没有太多的格式膨胀。 (3认同)
  • 不要错过下面@ Matteo的答案中的第2部分.我很满意这个答案(谢谢),我几乎没有费心向下滚动... (3认同)
  • 使用非数字引用消除了上述维护顺序数字引用的问题 - 示例[[TPL]](#TPL)`...`#### Notes` ...`<a name ="TPL" > [TPL] </a>脚注模板` (2认同)
  • GitHub 自 2021 年 9 月起支持此功能:/sf/answers/4857739071/ (2认同)

Chr*_*ris 195

GitHub Flavored Markdown不支持脚注,但您可以使用Unicode字符或上标标记手动伪造它<sup>1</sup>.

¹当然这并不理想,因为您现在负责维护脚注的编号.如果你只有一两个,它的效果相当不错.

  • 你也可以使用方括号[1]中的常规数字,这是我在经验中明文脚注的一个非常成熟的惯例.(Gosh darnit为什么我不能在评论中做出换行符.)[1]就像Pandoc Mandoc脚注减去插入符号一样. (4认同)

Mat*_*teo 160

进一步扩展前面的答案,您可以id在脚注的链接中添加一个属性:

 Bla bla <sup id="a1">[1](#f1)</sup>
Run Code Online (Sandbox Code Playgroud)

然后从脚注中链接回来.

<b id="f1">1</b> Footnote content here. [?](#a1)
Run Code Online (Sandbox Code Playgroud)

这将?在您的脚注内容的末尾添加一点,这会让您的读者回到包含脚注链接的行.

  • 对上面的@Matteo的回复添加一个小修正,我不得不在脚注的调用中使用`name`而不是`id`.即<p>`Bla bla <sup name ="a1"> [1](#f1)</ sup>` (8认同)
  • 对于那些在 2020 年左右找到此问答的人:此答案在 GitHub 上有效,此外它还有附加功能:*返回到您单击的脚注链接*。我发现了一个[小警告(此处解释)](https://github.com/seamusdemora/seamusdemora.github.io/blob/master/GFM_FootnotesWithReturnFeature.md),但这就是**答案** afaic。 (6认同)
  • 谢谢@oldfartdeveloper.似乎'name`和`id`都适用于github.com上的README文件..但是还没有测试过gists. (2认同)

Von*_*onC 38

2021 年 9 月:脚注在这里!

(2021 年 12 月,如下评论,wikiREADME.md尚不支持脚注)

Markdown 字段现在支持脚注

脚注可让您引用相关信息,而不会中断您要表达的内容:

Here is a simple footnote[^1]. With some additional text after it.

[^1]: My reference.
Run Code Online (Sandbox Code Playgroud)

您现在可以在任何 Markdown 字段中使用脚注语法!

脚注显示为上标链接。单击它们可跳转到其引用的信息,这些信息显示在文档底部的新部分中:

https://i1.wp.com/user-images.githubusercontent.com/2503052/135463148-0231966e-8631-41a1-b1a7-66746100d20a.gif?ssl=1

比照。文档

  • 这似乎在 GitHub wiki 上不起作用。 (2认同)

aer*_*man 12

这对我有用:

布拉布拉布[<sup>1</sup>](#1)拉布拉布拉布拉

脚注:参考blablabla <a class="anchor" id="1"></a>


Dev*_*evy 11

虽然我不知道它是否在任何地方正式记录,但您可以在Github中做页脚注释.

  1. 使用方括号IE中的数字标记要插入页脚链接的位置 [1]

  2. 在帖子的底部,创建编号标记的引用,然后是冒号和链接,IE [1]: http://www.example.com/link1

一旦你预览它,它将被呈现为帖子正文中的编号链接.

  • 这不是一个脚注,这是一个链接. (9认同)
  • 但是,这不会在文档末尾生成链接列表.就像维基百科页面一样. (4认同)

Mar*_*ars 9

我无法让Surya和Matteo的解决方案奏效.例如,"(#f1)"仅显示为文本,并未成为链接.然而,他们的解决方案使我的解决方案略有不同.(我还将脚注和链接格式化为原始上标略有不同.)

在正文中:

Yadda yadda<a href="#note1" id="note1ref"><sup>1</sup></a>
Run Code Online (Sandbox Code Playgroud)

在文件的最后:

<a id="note1" href="#note1ref"><sup>1</sup></a>Here is the footnote text.
Run Code Online (Sandbox Code Playgroud)

单击脚注中的上标将返回原始文本中的上标.


Sco*_*ner 9

这是Eli Holmes答案的变体,它在不使用乳胶的情况下对我有用:

Text<span id="a1">[¹](#1)</span>

<span id="1">¹</span> Footnote.[?](#a1)<br>
Run Code Online (Sandbox Code Playgroud)

例子


Eli*_*mes 8

我使用了 Mateo 解决方案的变体。我在用 github 风格的 Markdown (gfm) 编写的 Rmd 文件中使用它,用于 Jekyll 驱动的网站,但相同的 Rmd 文件被用于在各种上下文中生成 pdf。Rmd 文件包含大量数学运算,并且数学运算与 MathJax 一起显示在网站上。所以我需要一个与 gfm 一起工作的解决方案,它通过 Jekyll 处理,与 pandoc->pdflatex 一起工作,并且与 MathJax 兼容。

来自 Rmd 文件的片段(即 gfm)

Here is a paragraph with an footnote <span id="a1">[[1]](#f1)</span>.

Footnotes
=========

1. <span id="f1"></span> This is a footnote. [$\hookleftarrow$](#a1)
Run Code Online (Sandbox Code Playgroud)

$\hookleftarrow$是乳胶,这对我有用,因为我总是启用 MathJax。我用它来确保它在我的 pdf 文件中正确显示。我将脚注放在方括号中,因为如果我在一些内联数学上放置脚注,上标会令人困惑。

这是在行动:https : //eeholmes.github.io/posts/2016-5-18-FI-recursion-1/

这些音符可以放在 Rmd 的任何位置。我在最后放了一个列表,所以它们在技术上是尾注。


Dor*_*har 8

虽然问题是关于 GitHub 风格的 Markdown,但我认为值得一提的是,截至 2013 年,GitHub 支持内置了此功能的AsciiDoc。您只需要.adoc使用扩展名重命名文件并使用:

A statement.footnote:[Clarification about this statement.]

A bold statement!footnote:disclaimer[Opinions are my own.]

Another bold statement.footnote:disclaimer[]
Run Code Online (Sandbox Code Playgroud)

文档和最终结果在这里


小智 6

对于简短注释,提供具有title属性的锚元素会创建"工具提示".

<a title="Note text goes here."><sup>n</sup></a>
Run Code Online (Sandbox Code Playgroud)

否则,对于更多涉及的注释,看起来您最好的选择是手动维护命名链接.