我正在编写一个大型Markdown文档,并希望在开始时放置一个目录,将提供到文档中各个位置的链接。我该怎么做呢?
我试着用:
[a link](# MyTitle)
其中MyTitle是文档中的一个标题,但这不起作用。
我正在编写一个大型Markdown文档,并希望在开始时放置一个目录,将提供到文档中各个位置的链接。我该怎么做呢?
我试着用:
[a link](# MyTitle)
其中MyTitle是文档中的一个标题,但这不起作用。
当前回答
Github会自动从你的标题中解析锚标记。所以你可以这样做:
[Custom foo description](#foo)
# Foo
在上面的例子中,Foo头生成了一个名为Foo的锚标记
注意:所有标题大小只有一个#,#和锚点名称之间没有空格,锚点标签名称必须小写,如果有多个单词,则用破折号分隔。
[click on this link](#my-multi-word-header)
### My Multi Word Header
更新
潘多克也不例外。
其他回答
除了以上的答案,
当在YAML头中设置选项number_sections: true时:
number_sections: TRUE
RMarkdown会自动为你的章节编号。
要引用这些自动编号的部分,只需在您的R Markdown文件中放入以下内容:
(我的部分)
Where My Section是Section的名称
这似乎不管section级别都有效:
#我的部分
##我的部分
###我的部分
试验,我发现了一个解决方案使用<div…/>,但一个明显的解决方案是在页面中放置自己的锚点,无论你喜欢,因此:
<a name="abcde">
之前和
</a>
在你想要“链接”到的行之后。然后是一个降价链接:
[link text](#abcde)
文档中的任何地方都可以。
<div…/>解决方案插入一个“假”除法只是为了添加id属性,这可能会破坏页面结构,但<a name="abcde"/>解决方案应该是非常无害的。
(PS:把锚点放在你想链接的行中也可以,如下所示:
## <a name="head1">Heading One</a>
但这取决于Markdown如何处理。我注意到,例如,Stack Overflow答案格式化器很高兴这样!)
pandoc手册解释了如何使用头文件的标识符链接到头文件。我没有检查其他解析器对此的支持,但据报道,它不能在github上工作。
标识符可以手动指定:
## my heading text {#mht}
Some normal text here,
including a [link to the header](#mht).
或者您可以使用自动生成的标识符(在本例中是#my-heading-text)。在pandoc手册中都有详细的解释。
注意:这只适用于转换为HTML, LaTex, ConTeXt, Textile或AsciiDoc。
是的,markdown确实做到了这一点,但你需要指定名称anchor <a name='xyx'>。
一个完整的例子,
这就创建了链接 (任务)(#任务)
在文档的其他地方,您创建了命名锚(不管它叫什么)。
<a name="tasks">
my tasks
</a>
注意,你也可以把它环绕在标题上。
<a name="tasks">
### Agile tasks (created by developer)
</a>
只需遵循[text](#link)语法并遵循以下指导原则:
把字母和数字原封不动地写下来 用破折号-替换空格 删除其余的字符
举个例子,如果你有这些部分:
# 1. Python
# 2. c++
# 3. c++11
# 4. asp.net-core
您可以使用以下命令添加引用:
[1. Python](#1-python)
[2. c++](#2-c)
[3. c++11](#3-c11)
[4. asp.net-core](#4-aspnet-core)
注意asp.net-core如何变成aspnet-core, 1。Python变成了1-python,等等。