通過R Studio用Markdown寫Beamer


技術背景

在寫一些學術演示文檔時,經常有可能用到Beamer——一種Latex的學術風PPT模板,比如下圖所示的這種:

這種風格的演示文檔有幾個明顯的優點:簡約、嚴肅、可以用Latex敲公式和推導、可微調、定制化程度高,而且一般都是免費的。當然也有一些明顯的缺點:寫Latex麻煩,部署Latex環境更麻煩。因此,更多的人都是硬着頭皮在Overleaf上寫Latex,這也是被逼無奈。但是我們看到在各大平台用Markdown寫博客,或者在開源代碼倉庫中用Markdown寫說明文檔,都是非常的美觀,那有沒有可能用Markdown替代Latex,至少在演示文檔上用Markdown替代Latex呢?對於這個問題,R Markdown給出了肯定的回答。

安裝R Studio

配置R Markdown的環境,相比於Latex而言容易了很多,大致就分為如下所示的兩個步驟:先安裝R語言環境,再安裝R Studio:

當然,這里少了一個關於pdflatex環境的安裝,本文的最后會解釋這個問題。首先我們現在訪問R語言的官網,下載一個exe安裝文件,在本地環境中進行安裝,本文用於測試的環境是Win11操作系統。下載完成后按照提示一步一步安裝就可以了:

安裝好R語言的環境之后,再開始安裝R Studio,同樣的訪問R Studio的官方網站,下載最新的安裝文件進行安裝。安裝過程大概長這個樣子:

時間上可能比R語言的安裝要更久一些,要耐心等待,按照提示一步一步往下走,就可以很容易完成安裝。安裝成功后,打開R Studio的界面是這樣的:

新建Rmd文件

R Markdown的Beamer PPT格式都是Rmd的后綴,用於寫R Markdown,然后按順序編譯成Latex和對應的Pdf格式,而R Studio就提供了一個把Rmd文件編譯成Latex文件的編譯環境。首先我們選擇新建一個文件:

然后在配置時選擇Presentation,也就是構建演示文檔,並在彈窗中完成一系列的參數配置:

注意我們最終想用的是Beamer風格的演示文檔,因此在這里一定要選擇Beamer模式,至於具體的Beamer模板的選擇,在后續的設置中會介紹。創建好Rmd文件之后,會有一個默認的Rmd文檔,這也是基於Beamer模板生成的markdown格式的文檔:

我們可以將這個默認的案例修改為我們自己的案例(注意,這個markdown內容不能直接用,為了避免這個文件中的代碼塊模塊所包含的點號跟本博客內容所帶的點號引起錯誤配對,下面的代碼中的每個點號之間都加了空格,使用時需刪去):

---
title: "Test_R_Markdown"
author: "Dechin"
date: "`2022.03.29`"
output: 
  beamer_presentation: 
    theme: Dresden
    colortheme: seagull
---

## R Markdown

This is an R Markdown presentation. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>.

When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document.

## Slide with Bullets

-   Bullet 1
-   Bullet 2
-   Bullet 3

## Slide with R Output

` ` ` python
import numpy as np
print ('This is a python code block')
` ` `

## Slide with Equation

Test Equation input
$$
-i\hbar\frac{\partial}{\partial t}\left|\psi\right>=E\left|\psi\right>
$$

從這個語法中我們也可以看出,跟我們日常所使用的markdown並無太大的出入,只是在Markdown中額外支持了R語言的一些操作,甚至從官方文檔中看到,還支持了bash和python的一些操作。寫完了Rmd文件之后,如果本地環境已經安裝好了pdflatex,可以直接點擊Knit中的Beamer模式,直接生成Beamer文檔的pdf文件,也可以在R Studio中預覽:

但問題是,博主本機Win11的電腦中沒有Latex的環境,根據以往對Latex環境的操作經驗,遂不打算搭建一個本地的Latex環境。在上圖的步驟中,我們已經同時構建了tex文件,只是在從tex文件編譯到pdf文件的這個過程中報了錯,因此,我們可以直接將這一個tex文件復制到Overleaf的latex環境中進行編譯,如下圖所示便是預覽效果:

還有文檔中的代碼塊以及公式部分的效果一覽:

Beamer模板配置

在上面的結果中我們看到的還只是一個default模式的Beamer模板,其實我們可以在Beamer示例網站上找到眾多的Beamer模板的名稱,比如下面這樣的模板風格:

我們先在這個網站上面找到一個自己想要的模板,然后把名稱記錄下來,因為R Studio中的模板名稱和Beamer的模板是一一對應的關系。在R Studio中點擊設置,找到Output Option:

在彈窗中可以選擇主題和顏色主題,比如博主選擇了Dresden-seagull這個主題:

然后就可以回到主界面上點擊Knit進行構建,當然,前面也提到了,因為本地沒有latex的環境,因此會提示構建失敗:

但是沒有關系,因為本地的tex文件是已經正常構建完成了,找一個文本編輯器打開這個tex文件,再將其內容復制到Overleaf上進行編譯,就可以get到這樣的結果:

接下來使用R Markdown去構建好自己的演示文檔,在Overleaf上編譯構建后下載下來,就完成了使用Markdown構建Beamer的流程。如果說確實有需求一定要在本地構建一個pdf文件,並且同時你使用的是Linux的某個發行版的話,可以看下我之前寫過的這篇博客使用Docker去配置一個專屬的Latex編譯環境。

總結概要

雖說在科研和工程中,最重要的還應該聚焦於研究的內容本身,但是如何去更好更嚴肅的展示自己的研究成果,並且不耗費太多的時間成本,這也是一個長期被討論的話題。本文中介紹了R Markdown這樣的一個解決方案,可以用於構建Beamer演示文檔,用更少的工作量去構建一個效果更好的演示文檔,對科學研究而言也是一個值得稱道的工作。

版權聲明

本文首發鏈接為:https://www.cnblogs.com/dechinphy/p/rmarkdown.html

作者ID:DechinPhy

更多原著文章請參考:https://www.cnblogs.com/dechinphy/

打賞專用鏈接:https://www.cnblogs.com/dechinphy/gallery/image/379634.html

騰訊雲專欄同步:https://cloud.tencent.com/developer/column/91958

參考鏈接

  1. https://zhuanlan.zhihu.com/p/269175498


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM