在带有 Rmarkdown 的ioslides演示文稿中,有一个选项可以通过按 在每张幻灯片中启用突出显示模式h
。有什么方法可以默认启用高亮模式并通过按 禁用它h
。
问问题
197 次
1 回答
0
默认情况下没有启用高亮模式的内置选项。
这来自以下 JavaScript 行:here和here。
当演讲者改变幻灯片时,突出显示模式被移除。
但是,默认情况下,有一种方法可以突出显示每张幻灯片。
在您的项目中,创建一个新文件(命名为 instance highlight.html
)。
在此文件中,复制以下内容:
<script type="text/javascript">
SlideDeck.prototype.prevSlide = function(opt_dontPush) {
if (this.curSlide_ > 0) {
var bodyClassList = document.body.classList;
bodyClassList.add('highlight-code');
// Toggle off speaker notes if they're showing when we move backwards on the
// main slides. If we're the speaker notes popup, leave them up.
if (this.controller && !this.controller.isPopup) {
bodyClassList.remove('with-notes');
} else if (!this.controller) {
bodyClassList.remove('with-notes');
}
this.prevSlide_ = this.curSlide_--;
this.updateSlides_(opt_dontPush);
}
};
SlideDeck.prototype.nextSlide = function(opt_dontPush) {
if (!document.body.classList.contains('overview') && this.buildNextItem_()) {
return;
}
if (this.curSlide_ < this.slides.length - 1) {
var bodyClassList = document.body.classList;
bodyClassList.add('highlight-code');
// Toggle off speaker notes if they're showing when we advanced on the main
// slides. If we're the speaker notes popup, leave them up.
if (this.controller && !this.controller.isPopup) {
bodyClassList.remove('with-notes');
} else if (!this.controller) {
bodyClassList.remove('with-notes');
}
this.prevSlide_ = this.curSlide_++;
this.updateSlides_(opt_dontPush);
}
};
</script>
现在,修改 ioslides 演示文稿的 YAML 标头:
---
title: "Highlighted"
author: "Romain Lesur"
date: "26/06/2018"
output:
ioslides_presentation:
includes:
after_body: highlight.html
---
它应该可以解决问题。
于 2018-06-26T10:26:07.913 回答