如何为R xaringan演示文稿配置自动包含标题/作者的自定义页脚
解决方案
xaringan底层依赖的remarkjs仅内置了%current%(当前页码)和%total%(总页码)两个占位变量,没有原生支持%title%、%author%这类元数据变量,且YAML内嵌R代码时的转义、输出逻辑问题会导致原写法失效。可以用以下两种稳定方案实现需求:
方案1:修改YAML配置直接拼接页脚(推荐)
用YAML的!expr标签直接执行R表达式读取元数据,拼接成页脚格式,完全避开转义问题。修改后的完整MWE如下:
--- title: "Minimal Presentation" author: "The Author" output: xaringan::moon_reader: nature: slideNumberFormat: !expr paste0( '<div class = "remark-slide-number-left">', rmarkdown::metadata$title, ' | ', rmarkdown::metadata$author, ' - %current%/%total%', '</div>' ) --- # Hello World
该写法会自动读取YAML头部定义的标题、作者信息,和页码拼接后渲染到页脚位置,不需要额外修改其他配置。
方案2:自定义CSS实现固定页脚
如果需要完全自定义页脚的位置、样式,不想占用页码的配置位,可以在幻灯片开头插入如下CSS代码:
<style> /* 自定义全局页脚样式 */ .remark-slide-content::after { content: "`r rmarkdown::metadata$title` | `r rmarkdown::metadata$author`"; position: absolute; bottom: 12px; left: 50px; font-size: 0.9em; color: #666; } </style>
该方案会在所有幻灯片的左下角自动渲染标题、作者信息,你可以自行调整bottom、left、font-size等属性适配自己的演示文稿样式。
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

