我經常看到同事製作的 PowerPoint 簡報品質不佳,而且每次犯錯的地方都差不多,我這些年都不知道重複講幾次了。其實 PowerPoint 的預設設定對於一般人比較沒問題,但是我們經常要將原始碼貼到簡報展示,或是直接在簡報中輸入 CLI 命令時,有些「智慧」的功能,對我們就非常困擾。本篇文章分享我這幾年的 PowerPoint 簡報製作心得。
修正 PowerPoint 選項
用 PowerPoint 製作技術簡報,最討厭的地方就是 Office 內建的「校訂」功能,他會自動幫你訂正寫錯的英文,或是自動將「引號」美化,但這些美化的動作,都會破壞程式碼的樣式與字元,如果直接複製程式碼起來,經常也會造成編譯錯誤,不得不慎。
以下幾條選項設定,請特別注意是否正確調整過:
以上這幾個選項,只要調整後,在利用 PowerPoint 製作技術簡報,就不會踩這麼多地雷了。
貼上含有語法高亮格式的程式碼
如果你習慣從 Visual Studio 複製程式碼並轉貼到 PowerPoint 中,應該都有非常挫折的經驗。因為每次貼上程式碼雖然有語法高亮,但是所有斷行符號都會消失,所有程式碼會擠在一行裡面,完全沒有格式,必須手動調整與排版。
如果你試過從 Visual Studio Code 複製程式碼並轉貼到 PowerPoint 中,這經驗會好一點,但還是不夠完美。因為預設什麼都不調整的情況下,直接複製貼上程式碼,雖然可以保有完整的字型、樣式、語法高亮,但是所有「縮排」的空白字元全部都會消失,你必須重新一行一行的排版程式碼。但這已經比 Visual Studio 好很多了!
也因為上述問題,我發現許多人都會用「截圖」的方式,將程式碼貼到 PowerPoint 中,但其實這樣做會造成更多問題。一來,你事後無法微調程式碼,如果想調整,就要重新開啟編輯器,並在修正程式碼之後再重新截圖,這樣真的有點麻煩。二來,圖片的解析度很有可能會隨著螢幕的解析度不同而失真,簡報品質會變差。
如果你真的想要有美觀的程式碼截圖,建議可以多加利用 Carbon 來取得程式碼圖片。
其實,最完美的解決方案,只要照著以下步驟進行操作,就可以完美無瑕的將完整的程式碼格式貼到 PowerPoint 中:
-
在 Visual Studio 或 Visual Studio Code 中複製程式碼 ( Ctrl-C
)
- 請注意編輯器的色彩佈景主題是否跟 PowerPoint 簡報使用的配色一致!
- 例如你的簡報是白底黑字,但編輯器卻是黑底白字,這樣待會複製貼上的時候就會很怪。
- 簡報非常不適合「黑底白字」的配色,透過單槍投影機投射簡報的時候,文字會很難被看見。
-
開啟 Office Word 應用程式,將剪貼簿中的程式碼,貼上到空白文件中 ( Ctrl-V
)
- 從 Visual Studio 2017 複製到 Word 中,程式碼共同縮排的空白字元,會自動被移除,這點非常值得嘉許!
- 從 Visual Studio Code 複製到 Word 中,程式碼共同縮排的空白字元,預設會全部保留,請記得先移除多餘空白再複製程式碼!
-
就在 Office Word 中直接全選 ( Ctrl-A
)、複製 ( Ctrl-C
) 所有內容
-
切換到 Office PowerPoint 應用程式,不要選取任何物件 (直接在兩側空白處點一下),直接貼上 ( Ctrl-Alt-V
)
-
選擇「格式化文字 (RTF)」貼上
透過上述步驟,程式碼就會漂漂亮亮的出現在 PowerPoint 簡報中!
當然,透過 PowerPoint 並不適合顯示大量原始碼,只能顯示重點,否則程式碼文字太小,聽眾也看不清楚,這點要注意。
審慎選擇等寬字型顯示指令碼
當需要再畫面上顯示指令碼(Commands)的時候,適當的挑選字型可以增加簡報的可讀性,因此這部分的設定也是很重要的。
我自己製作的簡報,只要跟「程式碼」或「指令碼」相關的內容,通常都會選擇 Consolas 當為預設字型。必要的時候,會特別加上顏色做重點提示。
有時候,我會特別將程式碼複製到 Visual Studio Code 中,執行「變更語言模式」功能後,複製含有語法高亮的指令,再貼回 PowerPoint 中,這樣也不錯。
適當的提示指令碼的 Shell 環境
由於指令碼都跟執行環境相關,所以有可能是 Linux 下的 Bash,也有可能是 Windows 下的 Command Prompt 或 PowerShell 等等。Linux 下的 Bash,也有可能需要區分權限,有時候要示意必須透過 root 身分執行,有時候用一般使用者身分執行。
這部分常見的表示法如下:
-
Linux Bash 並透過一般使用者執行 ( 通常會用 $
當前置字元 )
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
-
Linux Bash 並透過最高權限管理者執行 ( 通常會用 #
當前置字元 )
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
-
Windows 命令提示字元 (Command Prompt)
C:\>ver
Microsoft Windows [版本 10.0.17134.285]
C:\>
-
Windows PowerShell
PS> Get-Service
Status Name DisplayName
------ ---- -----------
Running AESMService Intel® SGX AESM
Stopped AJRouter AllJoyn Router Service
Stopped ALG Application Layer Gateway Service
Running AppHostSvc Application Host Helper Service
-
NuGet Package Manager (Windows PowerShell)
PM> Install-Package X.PagedList.Mvc -Version 7.5.0
專有名詞的正確性
在簡報中使用到專有名詞時,要非常注意大小寫不能寫錯,也不能任意修改專有名詞的縮略字。例如:
- 是 .NET 不是 .Net,也不是 .net
- 是 Angular 不是 ANGULAR,也不是 angular
- 是 Azure 不是 azure
- 是 Azure Functions 就不能寫成 Azure Function (缺少一個 s 結尾)
一份專業的簡報或分享,正確的使用「專有名詞」可以呈現出專業,代表你認真面對每個分享的細節,除了技術的深入理解外,細到連名詞都不容許出錯,這就是尊重專業的態度。
關於中文翻譯
技術分享的目的,在於快速傳達觀念或經驗,要在短時間內讓一個對分享主題不夠熟悉的人,快速理解一個概念,不能只是把知道的講出來而已,而是要帶領聽眾,一步一步的進入狀況,從完全不懂、到有點理解、到深入理解,這個過程必須循序漸進,不能太過跳躍。
對於一些專有名詞的解釋,有些人會選擇「保留原文」,有些人會選擇「直接翻譯」,而我個人比較傾向「原文與翻譯同時保留,並且留下參考連結」供聽眾進一步延伸學習。大部分的時候,直接看原文是很難懂的,直接翻譯之後可能更難懂,所以我們絕對不能直接照字面翻譯,最好在翻譯的時候加入自己的理解,用更好懂的方式描述一個抽象概念。
我經常看到有人在簡報上貼上一大段英文描述,要聽眾自己翻譯,但事實上,可能連講者自己都不知道怎樣翻譯,你怎麼能把一大段英文描述的理解丟給聽眾自己腦補?因此,同時提供中英文完整描述,才是比較好的作法,不用照翻,而是用更完整的中文句子描述你認為的原意!
版面配置技巧
簡報版面盡量不要留下太多空白,也不適合塞入過多文字(如果只是單純的參考資料就可以),如果真的有太多東西可以講,一頁塞不下才放連結,也應該節錄幾個常用的重點到簡報上。
另外,如果可以在中文與英文之間加入一個空白字元間隔,也可以讓文字的閱讀上增加不少舒適度。
更多技巧?
如果你有更多簡報技巧,歡迎留言分享,謝謝! :)