【问题标题】:Create a hyperlink from the logo to the table of contents slide in an rmarkdown::beamer_presentation with a custom beamer theme使用自定义投影仪主题在 rmarkdown::beamer_presentation 中创建从徽标到目录幻灯片的超链接
【发布时间】:2021-05-21 08:01:34
【问题描述】:

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

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

我尝试了什么:在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。

【问题讨论】:

    标签: r latex r-markdown markdown beamer


    【解决方案1】:

    在普通的 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}
    }
    

    【讨论】:

    • 1:1 复制了您的代码,但指向 ToC 的超链接不起作用...烦人的 Rmarkdown :(
    • @mavericks 代码是不是编译了两次? rmarkdown 似乎对编译次数有一些非常不稳定的行为
    • 这可能是原因!非常感谢您的提示!
    猜你喜欢
    • 2021-05-21
    • 2017-12-07
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 2020-12-31
    • 1970-01-01
    • 2016-08-15
    相关资源
    最近更新 更多