我在markdown中生成一个幻灯片,通过pandoc转换为html(带pandoc -s -S -t revealjs test.md -o test.html
)。
reveal.js框架允许2D设置:幻灯片子集内的幻灯片分组"垂直",以及水平滑动子集的分组。降价时,可以这样实现:
# Head1
## Below 1
text below 1
## Below 2
text below 2
# Head 2
这会生成预期的输出。结果有四张幻灯片,排列如下:
[ Head 1 ] [ Head 2 ]
[ Below 1 ]
[ Below 2 ]
但是,我想在" Head 1"滑动。这在reveal.js中是可行的,但pandoc:
未正确处理以下markdown# Head1
Head text 1
## Below 1
text below 1
## Below 2
text below 2
# Head 2
因为slide level变为1而不是2,而不是4张幻灯片,我得到两个(每个1级标题一个)。我可以使用pandoc选项强制滑动级别为2:
pandoc -s -S -t revealjs test.md -o test.html --slide-level 2
然后我再次得到第一个安排 - 放弃直接在" Head 1"。
之下的任何内容。有什么想法吗?
答案 0 :(得分:13)
如果要将幻灯片嵌套到级别2,则无法将内容置于级别1标题下。这个limitation是设计的。根据开发人员John MacFarlane的说法,as of June 2015:
Pandoc有一种将内容刻录到幻灯片中的方法(在“用户指南”中描述),对所有幻灯片格式都有相同的工作方式,因此您可以使用相同的来源进行reveal.js和beamer。这就是推动现有系统的动力,尽管我可以采用更好的方式,只要它能统一适用于所有格式。
你需要一个带补丁的英雄。
答案 1 :(得分:2)
截至pandoc 2.7:
幻灯片放映格式行为更改:标题下小于幻灯片级别的内容不再被忽略,但包含在标题幻灯片中(对于HTML幻灯片放映)或在标题幻灯片后的幻灯片中(用于投影仪)。此更改使得2D reveal.js幻灯片可以在每个堆栈的顶部幻灯片中显示内容(#4317,#5237)。
(重点补充)。我还没有测试过它。
这适用于我当前的pandoc vesion
# That presentation
## dummy slide
<!--javascript to remove dummy slide-->
<script>
document.getElementById("dummy-slide").remove();
</script>
<!--end dummy slide-->
</section>
<section>
<section class="titleslide slide level1">
<h1>Head 1<h1>
Head text 1
<!-- dummy-slide creates it's section end tag -->
<!-- </section> -->
## Below 1
text below 1
## Below 2
text below 2
</section>
<!-- need extra end tag before next section -->
</section>
<section class="titleslide slide level1">
<h1>Head 2<h1>
Head text 1
</section>
# Head 3
它有点消除了降价的想法,可能无法与之前或更高版本的Pandoc一起使用。我在使用Rmarkdown时仍然觉得它很有用。以上是用
制作的---
title: "That presentation"
output:
revealjs::revealjs_presentation:
keep_md: TRUE
---
## dummy slide
<!--javascript to remove dummy slide-->
<script>
document.getElementById("dummy-slide").remove();
</script>
<!--end dummy slide-->
</section>
<section>
<section class="titleslide slide level1">
<h1>Head 1<h1>
Head text 1
<!-- dummy-slide creates it's section end tag -->
<!-- </section> -->
## Below 1
text below 1
## Below 2
text below 2
</section>
<!-- need extra end tag before next section -->
</section>
<section class="titleslide slide level1">
<h1>Head 2<h1>
Head text 1
</section>
# Head 3
答案 2 :(得分:0)
如果我理解正确,以下应该可以解决问题:
# Head1
---
Head text 1
## Below 1
text below 1
## Below 2
text below 2
# Head 2
使用您提到的第一个命令进行编译:
pandoc -s -S -t revealjs test.md -o test.html
答案 3 :(得分:-1)
此处提供了一种解决方法(https://github.com/rstudio/revealjs/issues/40),建议以下内容(对我来说还可以):
---
title : Title
date : Dec 22, 2016
output :
revealjs::revealjs_presentation
---
<section class="titleslide level1">
<h1>TOP SLIDE</h1>
Some blabla
## SUBSLIDE
Some sub-blabla
</section>
# Next section slide
## Next subslide
Text as per standard layout