Linux中國

如何使用 Beamer 創建演示文稿

Beamer 是用於生成幻燈片的 LaTeX 包。它最棒的功能之一是它可以利用 LaTeX 強大的排版系統和其生態系統中的所有其他軟體包。例如,我經常在包含代碼的 Beamer 演示文稿中使用 LaTeX 的 listings 包。

創建演示文稿

要創建一個 Beamer 文檔,輸入:

documentclass{beamer}

與任何其他 LaTeX 文檔一樣,添加你要使用的任何包。例如,要使用 listings 包,請輸入:

usepackage{listings}

將所有內容放在 document 環境中:

begin{document}

Beamer 文檔通常時是一系列的 frame 環境。包含代碼的 frame 應該被標記為 fragile

begin{frame}[fragile]

使用標題開始你的 frame

frametitle{Function to Do Stuff}

開始演示前測試你的代碼

世上最糟糕的感受之一你在演講中說到代碼時,突然發現了一個 bug —— 也許是拼錯了關鍵詞或者漏掉了括弧。

解決方法之一就是測試演示的代碼。在多數演示環境中,這意味著創建一個單獨的文件、編寫測試接著拷貝和粘貼。

然而,在 Beamer 中有一種更好的方法。想像一下,你有一個名為 do_stuff.py 的文件,其中包含代碼。你可以在第二個文件中編寫 do_stuff.py 代碼的測試,你可以將其命名為 test_do_stuff.py,並且可以使用 pytest 測試。但是,do_stuff.py 中的大多數行都缺乏教學價值,比如定義輔助函數。

要簡化你受眾看到的東西,你可在演示文稿中只導入你要討論的行到 frame 中:

lstinputlisting[
    language=Python,
    firstline=8,
    lastline=15
]{do_stuff.py}

由於你會對這幾行(從 8 到 15)進行討論,因此幻燈片上不需要任何其他內容。結束 frame

end{frame}

在下一張幻燈片中,你想展示剛才的 do_stuff() 函數的用法示例:

begin{frame}[fragile]
frametitle{Calling Function to Do Stuff}
lstinputlisting[
    language=Python,
    firstline=17,
    lastline=19
]{do_stuff.py}
end{frame}

你使用相同的文件,但這次顯示調用該函數的行。最後,結束 document

end{document}

假設你在 do_stuff.py 中有一個合適的 Python 文件,這將生成一個含有 2 頁的幻燈片。

Beamer 還支持必要的功能如漸進式演示,每次給觀眾展示一部分以免受到前面的打擾。在行中放入 pause 會將頁面分成不同的部分:

begin{frame}
Remember:
begin{itemize}
item This will show up on the first slide. pause
item This will show up on the
      second slide, as well as the preceding point. pause
item Finally, on the third slide,
       all three bullets will show up.
end{frame}

創建講義

Beamer 中我最喜歡的功能是可以用 documentclass[ignorenonframetext]{beamer} 設置忽略 frame 外的所有內容。當我準備演示文稿時,我離開頂部(聲明文檔類的位置)並自動生成它的兩個版本:我的演示稿使用 Beamer 忽略任何 frame 之外的所有文本,另一個含有類似這樣的頭:

documentclass{article}
usepackage{beamerarticle}

這會生成一份講義:一份含有所有 frame 和它們之間文字的 PDF。

當會議組織者要求我發布我的幻燈片時,我會包含原始幻燈片作為參考,但我希望人們拿到的是講義,它包含了所有我不想在幻燈片上寫的解釋部分。

在創建幻燈片時,人們經常會考慮是為演講優化講稿還是為之後想要閱讀它的人們優化。幸運的是,Beamer 提供了兩全其美的辦法。

via: https://opensource.com/article/19/1/create-presentations-beamer

作者:Moshe Zadka 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國