使用自定义投影仪主题在 rmarkdown::beamer_presentation 中创建从徽标到目录幻灯片的超链接 我尝试过的:在 beamerouterthemeTHEMENAME.sty 中定义自定义脚线

问题描述

我在 LaTex beamer theme 中使用自定义 rmarkdown::beamer_presentation。 根据这些 SO 答案(LaTex themecolontheme path),我对 YAML 标头和 beamerthemeTHEMENAME.sty 进行了多次修改。 这些 LaTex hack 是在 LaTex Beamer theme 中顺利应用 rmarkdown::beamer_presentation 所必需的。

对于 beamerouterthemeTHEMENAME.sty 中定义的脚线,最好有一个从徽标到 table of contents 幻灯片的超链接(就像幻灯片编号链接appendix) .

Logo Linked to ToC

我尝试过的:在 beamerouterthemeTHEMENAME.sty 中定义自定义脚线

\mode<presentation>

...

% Foot line
\setbeamertemplate{footline}{
    \leavevmode%
    \hyperlink{toc---table-of-contents}{\includegraphics[width=12mm,trim=0mm 0.4mm 0mm 0mm]{img/my_logo.png}}   
    \hfill
    \hyperlinkappendixstart{\insertframenumber/\inserttotalframenumber}
    \vspace{3mm}
}

\mode<all>

有关完整的 MWE,请参阅我的 SO question here

解决方法

在普通的 beamer 代码中,您可以简单地将标签附加到框架上,但是 Rmarkdown 似乎太愚蠢了,无法正确解析 \begin{frame}[label=outline] 中的方括号....烦人!

作为一种解决方法,您可以使用部分名称之类的内容,markdown 会自动为其插入标签:

---
subtitle: "Beamer presnetation with R-markdown"
institute: "some place"
date: "`r format(Sys.time(),'%B %d,%Y')`"
author: "Donald Duck"
output:
  # beamer_presentation: default
  bookdown::pdf_book:
    base_format: rmarkdown::beamer_presentation
    # includes:
    #   in_header: preamble.tex
    theme: "THEMENAME"
    latex_engine: xelatex
    toc: false
    slide_level: 2
    keep_tex: true 
header-includes:
  - \AtBeginDocument{\title{MWE}\titleframe}    
  - \AtEndDocument{\begin{closingframe}lalala\end{closingframe}}
  - \makeatletter\beamer@ignorenonframefalse\makeatother
---

```{r setup,include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```

## Outline {.unnumbered}

\tableofcontents

# section

## Slide with Bullets
<!-- ======================================================== -->

- Bullet 1
- Bullet 2
- Bullet 3

<!-- Appendix -->
<!-- ======================================================== -->
``` {=latex}
\end{frame}
\appendix
\begin{frame}
```

并在脚注中使用此目标

% Footline
\setbeamertemplate{footline}{
    \leavevmode%
    \hyperlink{outline}{\includegraphics[width=12mm,trim=0mm 0.4mm 0mm 0mm]{example-image}}
    \hfill
    \hyperlinkappendixstart{\insertframenumber/\inserttotalframenumber}
    \vspace{3mm}
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...