问题描述
我使用 xaringan 创建演示文稿(带页脚)。 页脚应包含标题,可能还自动包含演示文稿的作者。
要获取当前幻灯片编号,我可以使用 %current%
,但 %title%
或 %author$
失败。我知道我可以像在 R rmarkdown::Metadata$title
中那样访问元数据,但是我无法使用 R 构造 slideNumberFormat。即,r cat('<div class = "remark-slide-number-left">',rmarkdown::Metadata$title,'</div>')
不起作用。
有什么想法吗?
MWE:
---
title: "Minimal Presenation"
author: "The Author"
output:
xaringan::moon_reader:
nature:
slideNumberFormat: '<div class = "remark-slide-number-left"> %title% - %current%</div>'
---
# Hello World
此处 %title%
不起作用,预期的输出格式为“最小演示”。
另一种方法(也不起作用)是使用类似于此的 R 构建页脚
slideNumberFormat: "`r cat('<div class = \"remark-slide-number-left\">',' - %current% </div>')`"
解决方法
总的来说,我不太喜欢演示文稿中的页脚(它们大多是无用的 IMO/添加不必要的视觉混乱)。但是,一些合著者更喜欢在会议演示中使用它们。
我也尝试过自动化,但没有在不投入大量工作的情况下找到完美的解决方案。
因此,我的方法是保持幻灯片编号不变,只用作者/等硬编码一个额外的页脚。
添加到自定义 .css/style 文件/根据您的需要进行调整:
div.footer {
background-color: #5c6266;
position: absolute;
bottom: 10px;
left: 0px;
height: 25px;
width: 20%;
}
div.footer span {
font-size: 13pt; /* */
color: #f6f3f2;
position: absolute;
left: 15px;
bottom: 1px;
}
在您的 YAML 中获取它:
css: ["default",custom.css"]
在您想要包含页脚的第一张幻灯片之前添加/调整此内容(例如,在标题幻灯片之后):
---
layout:true
<div class="footer"><span>John Doe et al.</span></div>
---
这很麻烦,但不会破坏幻灯片编号,并且是我在上下文中提出的最快的解决方案。
,在一些非 SO 人的帮助下,我找到了这个答案。 唯一的缺点是,它没有在一个元素中构造页脚,而是在内部构造了两个页脚……尽管如此,它允许重复使用作者和标题以及其他 YAML 元素。
页脚的 css 样式可以(并且应该)写入一个类似于 @persephone 所做的 css 文件。
---
title: "Minimal Presentation"
author: "The Author"
output:
xaringan::moon_reader:
css: ["default"]
nature:
slideNumberFormat: "%current%"
---
layout: true
<div style="position: absolute;left:60px;bottom:11px;color:gray;">`r rmarkdown::metadata$author` - `r rmarkdown::metadata$title`</div>
---
# Hello World
First content slide
---
class: inverse,center,middle
# Section Header
---
# Foo Bar
Second content slide