如何通过rmarkdown YAML头为beamer演示文稿首页添加logo
报错原因
触发Undefined Control Sequence错误的核心问题有两个:
- 命令拼写错误:代码里写的
\incudegraphics是无效命令,正确的LaTeX图片插入命令为\includegraphics,拼写时漏了字母l - 缺少依赖包声明:调用
\includegraphics需要graphicx包支持,现有配置没有提前加载该包,部分编译环境下Beamer不会自动加载这个包就会报错。
另外你配置里加载的subfig包是用来排版子图的,和插入页眉logo的需求完全无关,非必要可以删掉,避免和其他宏包产生冲突。
解决方法
两种配置方式二选一即可:
方法1:使用R Markdown Beamer内置参数(最简便)
beamer_presentation输出格式原生支持logo配置,不需要手动写LaTeX命令,适合不需要自定义logo尺寸的场景,YAML头配置如下:
--- title: "Lifewerks Reporting Numbers 2021-2022" date: "`r Sys.Date()`" output: beamer_presentation: logo: "sfp-logo.png" ---
方法2:修正header-includes写法(支持自定义尺寸)
如果你需要手动指定logo宽度为3cm,修正拼写和包加载问题即可,配置如下:
--- title: "Lifewerks Reporting Numbers 2021-2022" date: "`r Sys.Date()`" header-includes: - \usepackage{graphicx} - \logo{\includegraphics[width=3cm]{sfp-logo.png}} output: beamer_presentation ---
注意事项
- 请确保
sfp-logo.png文件和你的R Markdown文档存放在同一目录下,如果放在其他位置需要填写正确的相对路径或绝对路径,否则会触发文件找不到的编译错误 - 如果编译后logo位置不符合预期,可以通过Beamer主题自定义命令调整logo的边距、位置参数,相关语法可以直接查阅Beamer官方文档的logo配置章节
内容的提问来源于stack exchange,提问作者Samuel Cheever
相关产品推荐
相关产品推荐

