LaTeX 教學系列 (I):LaTeX 簡介

相信一定不少人在學生時期或出社會工作之後,都面臨著撰寫報告的地獄需求。不過,經常使用 Microsoft Word、PowerPoint 的人一定會發現,插入圖片並且讓它在正確的位置上似乎是一件很費時的任務,一方面是因為將圖片導入文件後,還要調整大小,且每一張圖片的大小都不相同;另一方面是 Word、PPT 在文字與圖片排列稍顯的不聰明一點。1

這一系列文章介紹的語言——LaTeX,不僅可以解決上述關於圖片排版的問題,更提供了在數學公式、表格、程式碼嵌入、簡報製作等方面的優良功能。

LaTeX 的前世今生

LaTeX 是一種強大的排版系統,廣泛應用於科學、技術、工程及數學(也就是俗稱的 STEM)領域的文件編輯。LaTeX 的前身是 Donald Knuth 於1978年發明的 TeX 系統。Knuth 是一位著名的計算機科學家,他為了解決當時排版系統的不足,親自設計了 TeX,以便創作高品質的文件和書籍。

然而,TeX 雖然功能強大,但對於一般用戶來說並不友好(必須撰寫許多程式碼、前置設定等)。因此,為了解決這個問題,Leslie Lamport 於1984年在 TeX 的基礎上開發了 LaTeX。LaTeX 簡化了文件編寫的流程,使用者只需關注所輸入的內容,而不必操心具體的排版細節,這正是 LaTeX 最引以為傲的功能:所得即所見(What You See Is What You Get)。

前置作業:編譯器與編輯器

「工欲善其事、必先利其器。」

從學生時期撰寫撰寫作文,到出社會撰寫公司業務報告,都需要一些硬體工具(例如紙筆、電腦、平板等),以及既有的知識。LaTeX 的撰寫也是一樣,編輯一份 LaTeX 文件需要兩個重要的工具:編譯器和編輯器。這邊簡單解釋一下兩者的差異:編輯器用於編寫和管理 LaTeX 程式碼,提供便捷的編寫環境;編譯器則負責將這些程式碼轉換為最終輸出的文件。

圖 1:LaTeX 編譯流程圖

選擇 LaTeX 編譯器時,不同系統的使用者可以選擇適合自己的編譯器,但是請注意:請先安裝編譯器之後再安裝編輯器!如果你是 Windows 使用者,推薦MikTeXTeXLive,但如果你很不幸地使用搞排擠的 macOS 系統,那麽就建議你使用MacTeX

至於編輯器的選擇就沒有那麼多限制,只要你覺得編輯器好看、好用,電腦預設的記事本也可以成為你撰寫 LaTeX 的工具。好用的編輯器大概有TeXmakerTeXstudioVisual Studio Code2

如果你想要擁有跟 Google 文件一樣的共同編輯功能,那麼推薦使用Overleaf。Overleaf 是一個完全免費的平台,好處是不用下載編譯器(網站內建),而且可以邀請別人一起編輯、查看原始碼;但是壞處是 Overleaf 時不時就會維修,所以個人建議還是要學一下如何在本機安裝編譯器與編輯器。

LaTeX 語法概說

在正式開始進入 LaTeX 語法教學之前,我們先來看一下底下的範例。

!TeX xelatex
\documentclass[12pt]{article}
\title{My First Document}
\author{Author}
\date{\today}

\begin{document}
\maketitle

\end{document}

細心的你肯定有發現,LaTeX 的指令是以反斜線(backslash) \ 開頭的,也就是如果你需要使用一些指令,那麼就必須用 \ 告訴 LaTeX 編譯器你需要使用該指令,否則電腦無法判讀。常見的 LaTeX 指令符如下:

符號功能
\下排版命令
%註解
#定義巨集
~產生空白
$進入/離開數學模式
^數學模式中的上標字
_數學模式中的下標字
&分隔符號

決定美醜的關鍵:參數

我們可以注意到 \documentclass 後面有兩個不一樣的東西:一個是 [12pt],另一個則是 {article}。這兩個東西有什麼不一樣呢?在 LaTeX 中,參數的傳遞方式有兩種,一種是選擇參數,也就是以方括號 [我是選擇參數] 包住的,使用者可以留空,不會影響排版,也可以輸入設定指令調整排版。另一種則是必要參數,以花括號 {我是必要參數} 包住,只要使用者沒有輸入內容留空,電腦就不清楚目前需要做什麼3。關於參數的設定,有幾點需要注意的事情:

  • 不同於Word,LaTeX 文稿中,空一個與多個英文空白的意思是一樣的,LaTeX 會認作一個空白。
  • 按下Enter 鍵不代表換行,換行必須要使用雙斜線(\\,Windows 使用者可以同時按下 Ctrl 與 Enter 鍵;masOS 使用則可同時按下 ⌘ 與 ↩︎ 鍵),或是以 \newline\linebreak 進行換行。

使用指令

LaTeX 的指令是從反斜線後第一個字母開始,到第一個非字母符號為止 (包含空白、標點符號及數字)。因此:

This is my first \LaTeX typesetting example.

這樣的話,由於空白屬於指令的一部分,因此會印出如下面輸出範例的結果。若要避免上述情況,就必須使用以下三種方法:

  1. This is my first {\LaTeX} typesetting example.
  2. This is my first \LaTeX{} typesetting example.
  3. This is my first \LaTeX\ typesetting example.
% !TeX xelatex
\documentclass[12pt]{article}
\title{My First Document}
\author{Author}
\date{\today}

\begin{document}
\maketitle

This is my first \LaTeX typesetting example.

This is my first {\LaTeX} typesetting example.

This is my first \LaTeX{} typesetting example.

This is my first \LaTeX\ typesetting example.

\end{document}

使用註解

註解符號(%) 可以放在一行的任何地方,% 之後的文字會被忽略掉,特定的編譯器在註解之後文字會變色。而註解功能最大的好處是,在微調一些參數或設定時,可以使用註解,將更改的地方註解起來或取消註解,並編譯出結果比較前後的差異。

開啟環境

LaTeX 有一種巨集結構,稱為環境(environment),主要是讓作用範圍能 擴大至較大的範圍。所有的環境都起於\begin{環境名稱},止於\end{環境名稱}。這兩個指令之間的文稿都會被作用,而且,環境之內還可以套用其他不同的環境。LaTeX 文稿的內文,就是包在一個

\begin{環境名稱}
 ...
\end{環境名稱}

這個 document 環境當中。以下就是所有 LaTeX 必須具備的文稿大結構:

\documentclass[]{}
%這裡是preamble 區
\begin{document}
 ...
\end{document}

前言區(preamble)

這裡可以引用巨集(macro),而且會影響整篇文稿的指令,例如一些事先 定義好的指令,想在整篇文稿中使用,就可以置放在 preamble 區。例如:

!TeX xelatex
\documentclass[12pt]{article}
\usepackage{xcolor}
\begin{document}

The text will be \textcolor{blue}{blue}.

\end{document}

章節標題設定

在 LaTeX 的文件裡,章節標題的形成都是由同樣的指令來控制的,這樣有一個好處,臨時插入章節標題及其內文時,我們不必去理會標題編號及目錄的問題,也不必去理會要用什麼字型、及字型大小要多大,LaTeX 會自動計算處理,字型大小也會和內文使用的字型大小互相配合調整,使用者就專心在內文構思、寫作即可。以下由列表來瞭解整個章節結構:

深度編號指令作用及注意事項
-1part{}
0chapter{}章,在 article 沒有章
1section{}
2subsection{}小節
3subsubsection{}次小節
4paragraph{}段落
5subparagraph{}次段落

你肯定會問:「深度編號是什麼?」要知道背後的原理,還有很長的路要走。所以在這邊我就留下一個伏筆,待後續之分解。


  1. 此處的不聰明並不是指「文繞圖」(wrap text around a picture)的功能,而是指圖片時常不會在正確的位置上,容易因為文字的多寡而跑版。 ↩︎

  2. 關於 LaTeX 在 VS code 上的設定,可以參考這篇文章:https://hackmd.io/@DextinChen/VSCode-LaTeX-setting?utm_source=preview-mode&utm_medium=rec,裡面有詳盡的解說。 ↩︎

  3. 但有時某些指令中,必要參數可以不必填寫,例如 \date{},不填寫的話,則標題頁的日期就不會顯示,而是會留一行空白,直接跳到下一行的作者列。 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值