這一篇我專注在LaTex的語法上面,這一篇的內容包含了幾個部分:
- Document class (文件類別)
- Preamble (前言區)
- Sections (章節)
- Font style (字型樣式)
- Image insertion (圖片插入)
- Citation insertion (文獻引用)
因為是LaTex的基礎語法使用,所以任何比較特殊的使用不會被規劃在這一篇裡面,比如說需要寫數學式的學生,語言學類組的IPA (國際音標) 要怎麼打,圖表要怎麼用tikz (一個繪圖套件) 製作,就要等我接下來幾篇的中階應用了。這一篇的教學也不仰賴任何Web application (網路應用程式) 的服務 (但我還是會提到這一點),就是很單純的用文字編輯器,製作完畢之後,compile (編譯) 然後就可以看到美美的PDF了。
作業環境
設定本機的作業環境一定是比較麻煩的,我們需要下載LaTeX運行所需的軟體,之前的文章已經說過了,所以請找找我之前的文章喔!下載好之後,如果你不挑文字編輯器的話,LaTexiT就已經可以開始寫作了,但我還是會推薦各位再多做點準備,安裝Visual Studio Code,還有一個Plugin (外掛) 叫做LaTeX Workshop。如果你真的很討厭設定本機的作業環境,沒問題,網路上面也有不少LaTeX編輯器可以用,但有些服務並不是免費的,所以學生族群來說,能省一筆就省一筆,本機作業最划算。
副檔名
我們先來搞懂一下幾個副檔名:
- .tex 就是LaTeX的檔案
- .bib 就是文獻的檔案
- .pdf 可能是你編譯之後的結果,也可能是你想要在文章裡面插入一些PDF檔案
- .log 當你編譯之後,會發現多出一些檔案,副檔名都看不懂,沒關係,只要知道這一個就好了。當你的編譯過程出現錯誤的時候,檢查.log檔,就可以知道錯在哪裡囉!
看到這邊,有沒有覺得很意外?你可以插入PDF檔案?!沒有錯!LaTeX允許插入PDF檔,所以說當我們在寫博士論文的時候,不用再把以前已經出版的文章轉換成.tex檔案或是圖檔就可以付在自己的博論裡面了呦!LaTeX真貼心!
Document class(文件類別)
在最一開始的tex檔案,我們要決定今天是要寫科學文章,一般文件,一本書,一個海報等等等。document class就是一個一個模板,當模板已經設定好了比如說邊界,各級字體大小,檔案是直式還是橫式等等的,我們使用者就不用再去考慮太多這方面的事情了是不是?
以下是幾個常見的document class以及對應用法
- article (文章): 一般文件,很基礎但很萬用,我最喜歡的class。
- scrartcl (KOMA-Script 文章): 期刊論文的初稿可以用,其實就是article的變形。
- beamer (簡報): 演講用的投影片或是投稿論壇用的 poster (海報)。
- report: 實驗報告。
- book (書籍): 寫書專用,有考慮到書本的裝訂空間,所以有寫書需求的,我推薦這個class。
我以前曾經非常仰賴beamer製作簡報投影片,但一直到比較後期,我對於LaTeX的使用就已經縮減到寫文章跟報告了,所以說,要不要使用beamer這個class,見仁見智。
很多期刊論文也會給準備投稿的人一些他們規定的版型,只要到他們的官網都可以下載。我的習慣是先不考慮太多,直接粗暴的使用article寫完,決定好要去哪個期刊投稿之後,再考慮排版的問題。
Preamble(前言區)
這個區塊可以說是最雜亂,但是很重要的地方了,文章標題,作者,日期以外,還要再加上一些package (套件)。以下,我提供一個我比較愛用的基礎preamble (前言區),歡迎各位複製,加上修改(e.g. 把中文刪掉),拿去用
\documentclass[11pt,a4paper]{article} % 11級字,a4紙張大小
\usepackage[margin=1.3cm]{geometry} % 四邊的間隔
\usepackage{fontspec} % 載入字型設定
% 多媒體區
\usepackage{graphicx} % 圖片
\usepackage{xcolor} % 顏色
\usepackage{float} % 圖表的插入方式
%語言區
\usepackage[utf8]{inputenc}
\usepackage[english]{babel} %主要是以英文為主
% 文獻區
\usepackage{natbib} %文獻引用
\bibliographystyle{abbrvnat} %文獻引用格式
\setcitestyle{authoryear,open={(},close={)}} %文章內部文獻引用格式
\usepackage{hyperref} %文獻連結
%文章標題作者等等
\title{LaTex Basic Tutorial}
\author{Macy}
\date{\today}
\begin{document}
\maketitle
% Content area
\end{document}
這邊有一個問題就是,LaTeX對於繁體中文不友善,如果硬是要打繁體中文,那我會建議把inputenc還有babel拿掉,改成\usepackage{xeCJK},然後用XeLaTeX做Compilation。
如果是在歐洲讀書的朋友們,除非你是讀漢語學科的人,不然應該很少會需要打中文。所以以下的文章就以英文文章為主。
Sections (章節)
Section當然就很直覺是\section{XXXX},同markdown一樣可以有次標題\subsection{XXXX},或是\subsubsection{XXXX},理論上來說,我們可以次次次一路次到天邊去(我是說理論上!),但問題出在,你的文章怎麼會有這麼多次標題啦!?要分這麼細的話,可能改成使用寫書的格式,把文章分成不同的章節(\chapter)。
Font style
變體字的使用方式是一門高深的學問。LaTeX的語法來說,斜體跟粗體的使用就是\textit{}與\textbf{},非常直覺。可是變體字在文章裡面的使用方式,會讓閱讀者有非常不一樣的感受。
德國這邊的科學寫作或是email,超級喜歡使用粗體。但是一篇文章裡面粗體太多的話,有點像是被文章從頭怒吼到尾的感覺,讀起來蠻不舒服的。所以我在寫文章的時候會很刻意的避開使用粗體字。
相較於粗體字,我覺得斜體字比較友善一點。有點像是溫柔的提醒說這裡要稍微注意一下,這邊的內容跟前面不一樣喔!但是這麼溫柔的斜體字很容易在視覺上被忽略。
看是要對著讀者怒吼,還是要對讀者溫柔提醒,都只是一種表達方式,如果期刊沒有特別規定什麼時候用斜體,什麼時候用粗體,那就是展現作者自己個人風格的機會了。
插入圖片
插入圖片的語法也是很簡單,但是微調圖片到一個合適的位置跟大小,還是會讓人很崩潰,所以我先給語法再解釋
\begin{figure}[H]
\centering
\includegraphics[width=0.5\textwidth]{img/coffee-girl.png}
\caption{This is a figure}
\end{figure}
\begin跟\end的作用都是表達一個環境的開始跟結束,如果是用VS Code加上外掛的話,這些都不用太強記硬背,因為文字編輯器會自動的把剩下的字串給寫完。主要是這個[H]是在搞什麼東東?
其實就跟Word差不多,圖片的置入就像是在一個空間裡面挪一個位置出來,那這個位置應該要擺在哪?
h= Here (這裡):請盡力將圖片放在程式碼的「這裡」。t= Top (頁頂):如果「這裡」放不下,請放在這一頁或下一頁的「頂部」。b= Bottom (頁底):如果「頂部」也放不下,請放在「底部」。p= Page (單獨一頁):如果以上都失敗了,請將它放在一個專門放圖片(和表格)的「浮動頁」。
但我個人是比較不喜歡這麼麻煩,我多數的時間都是直接用float package,然後強迫圖片置入在我要它置入的地方,所以就是大寫H。除非最後的PDF看起來真的醜爆,不然我一率不使用htbp這種柔性的置入方式。
文獻引用
LaTeX本身有幾個文獻引用的套件可以選擇,我沒有什麼特殊理由一定要用natbib。硬要說的話,應該是我以前的老闆喜歡這一個套件,所以我就用它一直到現在了。
以下提供範例可以直接複製貼上。
\documentclass[11pt,a4paper]{article}
\usepackage{natbib}
\bibliographystyle{abbrvnat}
\setcitestyle{authoryear,open={(},close={)}}
\usepackage{hyperref}
\title{title}
\author{Your name}
\date{\today}
\begin{document}
\maketitle
\section{Citation usage}
Here is a sample text citation using \textit{citet} \citet{greenwade93}.
Here is another sample text citation using \textit{citep} \citep{greenwade93}.
For this to work, you must have a ``greenwade93'' entry in your .bib file.
\bibliography{sample}
\end{document}
使用的時候注意一下\citet跟\citep的用法,這可是很有講究的喔
- \citet{key}用在作者個名字是你的文章的一部分。
- \citep{key}用在句子結尾。
文獻管理
最後呢,再講一下關於 .bib 檔案。雖然導出 .bib 的方法千百種,但永遠繞不出 Garbage in, Garbage out (垃圾進,垃圾出) 這句經典老話。
這有兩個層面:
1. 正確性 (Correctness):bibtex 只是個排版機器人,你餵給它什麼,它就印出什麼。它不會幫你檢查你把 "Smith" 拼成 "Smoth"。每一個 citation (引用) 放入 .bib 檔案之前,一定要先親眼確認:
- 作者 (Author):名字拼對了嗎?
- 標題 (Title):大小寫是不是你想要的?(例如,專有名詞有沒有被 {} 包起來保護?
- 年份 (Year):正確嗎?
- 期刊 (Journal):名稱正確嗎?
.bib 檔可以保證排版格式符合期刊要求,但它無法保證你內容的正確性。所以,放進去之前,請一定要重複確認!
2. 一致性 (Consistency):如果可以兼顧到一致性,做出來的文章會「專業感」爆棚,更好看。所謂一致性就是:
- DOI: doi (數位物件識別碼) 就是最好的例子。要嘛就所有文章都補上 DOI,要嘛就全部都不要放。但我會強烈建議各位,為了自己在最後上繳論文前的最後確認時,理智線不要斷掉,一定要加上這個doi。
- 期刊名稱:你是要用全名 (Journal of Physics) 還是縮寫 (J. Phys.)?決定好一個,就全部統一!
- 大小寫:標題是每個字都大寫 (Title Case) 還是只有句首大寫 (Sentence case)?
- 作者/編輯:是用 and 還是 &?
這些小細節會讓導出來的 PDF 在文獻列表那邊看起來非常不一致,超級不好看。雖然說不好看不會怎樣啦,但都已經用 LaTeX 了,就是為了漂亮嘛,能讓眼睛舒服的話,就拜託各位注意一下吧!
如果你很害怕會使用錯誤的格式,請一定要參考bibtex的官網(這邊按一下)
祝福我的讀者們,寫文章順順利利,靈感順手捻來,文獻引用永遠不出錯!

























