在 ioslides 簡報中新增頁尾

新增頁尾本身是不可能的。幸運的是,我們可以利用 jQuery 和 CSS 為使用 knitr 渲染的 ioslides 簡報的幻燈片新增頁尾。首先,我們必須包含 jQuery 外掛。這是由線完成的

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>

現在我們可以使用 jQuery 來改變簡報的 DOM( 文件物件模型 )。換句話說:我們改變了文件的 HTML 結構。一旦載入了簡報($(document).ready(function() { ... })),我們選擇所有沒有類屬性 .title-slide.backdrop.segue 的幻燈片,並在每張幻燈片關閉之前新增標籤 <footer></footer>(因此在 </slide> 之前)。label 屬性包含稍後將顯示的內容。

我們現在要做的就是用 CSS 佈局我們的頁尾:

每個 <footer>footer::after)之後:

  • 顯示屬性 label 的內容
  • 使用字型大小 12
  • 放置頁尾(距離幻燈片底部 20 畫素,距離左側 60 畫素)

(其他屬性可以忽略,但如果簡報使用不同的樣式模板,則可能需要修改)。

author: "Martin Schmelzer"
date: "26 Juli 2016"
output: ioslides_presentation
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>

<script>
    $(document).ready(function() {
      $('slide:not(.title-slide, .backdrop, .segue)').append('<footer label=\"My amazing footer!\"></footer>');    
    })
</script>

<style>
  footer:after {
    content: attr(label);
    font-size: 12pt;
    position: absolute;
    bottom: 20px;
    left: 60px;
    line-height: 1.9;
  }
</style>

## Slide 1

This is slide 1.

## Slide 2

This is slide 2

# Test

## Slide 3

And slide 3.

結果將如下所示:

StackOverflow 文件