如何使用 Beamer 創建演示文稿
![](https://linuxstory.org/wp-content/uploads/2024/06/113905one2p82t58vtqgtq-800x400.jpeg)
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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive