r-交叉引用在rmarkdown波束仪演示中不起作用



我想通过Rmarkdown(即创建交叉引用或Pandoc的内部链接)链接beamer_presentation中的节头。例如,我希望有一个链接,如"查看"简介",通过单击此链接,演示文稿应跳转到标题为"简介"的幻灯片。

我试过这个代码:

---
output: beamer_presentation
---
## TOC
- [Important](#Important)
- [More](#More)
- [Stuff](#stuff)

## Important
jklödfs
## More

sdfjkls
## stuff {#stuff}

然而,预期的行为并没有出现。相反,如果单击链接,则会显示第一页(但不会显示相应的幻灯片)。


会话信息:

pandoc 1.19.1

R版本3.4.0(2017-04-21)平台:x86_64-apple-darwin15.6.0(64位)运行环境:macOS Sierra 10.12.5

矩阵产品:默认BLAS:/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylibLAPACK:/Library/framework/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib

区域设置:[1] en_US。UTF-8/en_US。UTF-8/en_US。UTF-8/C/en_US。UTF-8/en_US。UTF-8

附加的基本包:[1] 统计图形grDevices实用程序数据集方法基础

通过命名空间加载(未附加):[1] compiler_3.4.0 backports_1.1.0 magrittr_1.5 rsconnect_0.8 rprojroot_1.2 htmltools_0.3.6 tools_3.4.0 yaml2.1.14 Rcp_0.12.11
[10]字符串_1.1.5 rmarkdown_1.5编织_1.16字符串_1.2.0摘要_0.6.12评估_0.10

编辑:

根据GitHub:上的一个问题

幻灯片似乎使用片段标识符(URL中哈希后的部分)来跟踪您所在的幻灯片,因此pandoc生成的所有内部链接都无法工作。

然而,yhu总是可以写你自己的链接liek链接,其中1是你想链接到的幻灯片编号…

因此,您必须使用以下解决方法(原则上与下面的旧方法相同,但直接在Rmd文件中):

---
title: "Untitled"
author: "John Doe"
date: "13 June 2017"
output:
slidy_presentation: default
ioslides_presentation: default
beamer_presentation: default
---
## TOC
[Important](#(3))
[More](#(4))
[Stuff](#(5))
## Important {#important}
jklödfs
## More {#more}
sdfjkls
## stuff {#stuff}

下面是老答案:

恐怕这只是一个变通办法,但却是一个有效的办法(至少在我的系统上,Win 8.1,R 3.4.0,pandoc 1.19.2.1,Knitter 1.15.16):

使用以下Rmd文档:

---
title: "Untitled"
author: "John Doe"
date: "13 June 2017"
output:
slidy_presentation: default
ioslides_presentation: default
beamer_presentation: default
---
## TOC
[Important](#important)
[More](#more)
[Stuff](#stuff)
## Important {#important}
jklödfs
## More {#more}
sdfjkls
## stuff {#stuff}

运行Knit to html(适用于ioslides和slidy),查找并更改TOC区段:

<div id="toc" class="slide section level2">
<h2>TOC</h2>
<p><a href="#important">Important</a></p>
<p><a href="#more">More</a></p>
<p><a href="#stuff">Stuff</a></p>
</div>

到此:

<div id="toc" class="slide section level2">
<h2>TOC</h2>
<p><a href="#(3)">Important</a></p>
<p><a href="#(4)">More</a></p>
<p><a href="#(5)">Stuff</a></p>
</div>

问题是浏览器找不到例如#important部分,但找到了#(3)。我不知道为什么不幸的是,由于生成的html文件有<div id="important" class="slide section level2">等部分

最新更新