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


273

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

Some long sentence. [^footnote]

[^footnote]: Test, [Link](https://google.com).

我正在遵循本指南,但我认为我没有做错任何事情。有人可以指出我的错误吗?


1
fletcher.github.io/peg-multimarkdown 注意:目前,Github Wiki软件支持Markdown,但不支持MultiMarkdown。在哪里有记载说这可以工作?
ta.speot。是

1
@EnricoSusatyo不是简单的降价促销活动,但是例如Pandoc支持它
mb21

2
有趣的是[^footnote],即使在正式添加到文档
hmijail悼念辞职者,2016年

1
@hmijail是指GitLab的脚注,而不是OP所要求的Github。
Devy

1
@Devy,是的,这就是为什么我说“ GitLab的降价”。鉴于GitLab的风味实现似乎是基于GitHub风味的,并且总体而言Markdown,其风味及其实现是一团糟,因此它仍然可能有用。摘要:“以防万一也尝试一下”。
hmijail哀悼辞职者,

Answers:


218

GitHub Flavored Markdown不支持脚注,但您可以使用Unicode字符或上标标签(例如)手动对其进行伪造<sup>1</sup>

¹这当然不是理想的选择,因为您现在要负责维护脚注的编号。但是,如果您只有一个或两个,则效果很好。


谢谢,我也喜欢其他站点具有可单击的脚注链接的方式,但是我想这可能是在GitHub中实现此目的的唯一方法。
Enrico Susatyo 2014年

6
您也可以使用方括号[1]中包含的常规数字,根据我的经验,这是对纯文本脚注的相当明确的约定。(天哪,达尼特,我为什么不能在评论中插入换行符。)[1]例如,Pandoc Mandoc脚注减去尖号。
Guildenstern

342

在上一个答案上稍作扩展,您也可以在此处单击脚注链接。首先像这样在底部定义脚注

<a name="myfootnote1">1</a>: Footnote content goes here

然后像这样在文档的其他地方引用它

<sup>[1](#myfootnote1)</sup>

2
这是一个很好的中间答案。IMO保持了意图的明确性,而没有为格式设置过多的膨胀。
kayleeFrye_onDeck

3
使用非数字引用避免了上述维护顺序数字引用的问题Example [[TPL]](#TPL)-... #### Notes...<a name="TPL">[TPL]</a> footnote template
Randall Whitman

4
不要错过@Matteo的以下答案中的第2部分。我对这个答案感到非常高兴(感谢),以至于我几乎没有去滚动一下。。。
wardw '17

180

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

 Bla bla <sup id="a1">[1](#f1)</sup>

然后从脚注中链接回它。

<b id="f1">1</b> Footnote content here. [↩](#a1)

这将在脚注内容的末尾添加一些内容,从而使读者回到包含脚注链接的行。


8
在上述@Matteo的响应中添加一个小更正,我不得不在脚注的调用中使用name而不是id。即<p>Bla bla <sup name="a1">[1](#f1)</sup>
oldfartdeveloper 2015年

2
谢谢@oldfartdeveloper。看来,无论nameid工作在github.com README文件..还没有测试学家虽然。
Matteo

1
对于那些在2020年左右发现此问题的人:该答案在GitHub上有效,此外,它还具有其他功能:return-to-the-footnote-link-you-clicked。我发现了一个小警告(在这里解释),但这是答案
Seamus

13

我无法使用Surya和Matteo的解决方案。例如,“(#f1)”只是显示为文本,而没有成为链接。但是,他们的解决方案使我得出了略有不同的解决方案。(我对脚注和指向原始上标的链接的格式也有所不同。)

在正文中:

Yadda yadda<a href="#note1" id="note1ref"><sup>1</sup></a>

在文档末尾:

<a id="note1" href="#note1ref"><sup>1</sup></a>Here is the footnote text.

单击脚注中的上标会返回原始文本中的上标。


有趣。您使用了HTML,而@Matteo使用了GFM。我能够得到他的解决方案,但是需要一些摆弄。您是否认为这是GitHub渲染引擎中的怪癖?
Seamus

我不知道,@ Seamus。我记得,当我尝试找出答案时会经历反复的尝试。
火星

1
这是一个聪明的解决方案。是的-今天仍然是我们-反复试验:)
Seamus

12

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

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

  2. 在帖子的底部,参考编号标记,然后加上冒号和链接IE [1]: http://www.example.com/link1

预览后,它将在文章正文中显示为带编号的链接。


5
但是,这不会在文档末尾生成链接列表。就像在Wikipedia页面上一样。
米洛萨

方括号后应该有一个冒号吗?
sAguinaga

17
这不是脚注,而是链接。
大卫·摩尔

step #1不能作为github markdown的链接(2018年12月)。
ruhong

7

对于简短说明,为锚元素提供title属性会创建一个“工具提示”。

<a title="Note text goes here."><sup>n</sup></a>

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


1
这在GitHub Enterprise 2.8降价页面中
不起作用

4

这对我有用:

blablabla [<sup>1</sup>](#1) blablabla

脚注:引用blablabla <a class="anchor" id="1"></a>


3

我使用了Mateo解决方案的一种变体。我在以github风格的markdown(gfm)编写的基于Jekyll的网站的Rmd文件中使用了此文件,但是相同的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)

$\hookleftarrow$是乳胶,因为我一直启用MathJax,所以对我有用。我用它来确保它在我的pdf文件中正确显示。我将脚注放在方括号中,因为如果将脚注放在一些内联数学上,上标会造成混淆。

它在起作用:https : //eeholmes.github.io/posts/2016-5-18-FI-recursion-1/

这些注释可以放在Rmd中的任何位置。我将清单放在最后,因此从技术上讲它们是尾注。


与OP的问题相切,但最终我真的很喜欢您的“与gfm一起使用的解决方案,该解决方案通过Jekyll处理,可与pandoc-> pdflatex一起使用,并且与MathJax兼容”。整洁的例子。
boweeb


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.