# LaTeX環境架設(1) -- Overleaf 篇
## 什麼是 Overleaf?
Overleaf 是一個可協作的雲端 LaTeX 編輯器。
## 使用Overleaf的優缺點
* 優點
* 不用安裝任何東西,不用下載各種包(package)。
* 可以多人共同編輯。
* 可以保存過去24小時的編輯紀錄。(付費版可以查看全部的歷史紀錄。)
* [官方教學](https://www.overleaf.com/learn/latex/Main_Page)很完整,還有提供各種範例一鍵複製。
* 缺點
* 需要網路。(而且他們伺服器不是很穩定,有時候會頻繁斷線......)
* 不能編譯太大的檔案。(付費版沒有限制。)
* 分享給別人的話,那個人也要有 Overleaf 帳號。(但你可以下載編譯好的 PDF 再傳給他。)
* 對行動裝置毫無支援,也沒有手機版網頁。(不過不管是哪個環境都是這樣就是了......)
* 不能在編譯的時候使用參數,所以可能有些花俏的操作做不到。
## 建立一個新 project
註冊完一個帳號後就可以點擊左上角的「New Project」建立一個新 project,這裡我們選擇「Blank Project」[^blank]。
[^blank]: Overleaf 的空白模板居然不是全空白的......

取好名字之後就會自動跳轉進 project 。首先我們要做的第一件事是把 compiler 改掉。點擊左上角的 Menu,會跳出一個選單,我們要將 Compiler 的地方改成 XeLaTeX。

這時候點擊Recompile重新編譯一遍[^keysnap],會看到一個警告訊息。
[^keysnap]:也可以按`Ctrl+S`。

因為原本的 pdfLaTeX 不是用 UTF-8,為了使其支援必須要使用 inputenc 包;而在 XeLaTeX 中因為預設就是用 UTF-8,所以這個包就沒用了。這個警告訊息就是跟你說這個包在 XeLaTeX 中不會作用。處理的方式也很簡單,把第二行的 `\usepackage[utf8]{inputenc}` 刪掉就好了。
## LaTeX 架構
在 `\begin{document}` 之前的 code 的被稱作 preamble,是用來放關於這個 tex 檔設定的地方。以這個檔為例,目前的設定只有標題、作者、日期以及最上面的 document class。

而正文要寫在 `\begin{document}` 與 `\end{document}` 之間。那模板提供的 `\maketitle` 跟 `\section{Introduction}` 是幹嘛用的呢?
`\maketitle` 的功能是顯示 title,所以如果刪掉的話標題、作者跟日期就不會顯示。
section 是 LaTeX 的基本層級,你的文章可能會分成好幾個 section。section 往上可能會有 chapter,往下有 subsection。詳細可以參考[這篇](https://www.overleaf.com/learn/latex/sections_and_chapters)。
## 中文環境
我們目前已經有了一份可以打英文的 LaTeX 環境了。要打中文的話要在 preamble 裡面加入以下code[^where]:
```
\usepackage{xeCJK}
\setCJKmainfont[AutoFakeBold=3]{AR PL UKai TW}
\XeTeXlinebreaklocale "zh"
\XeTeXlinebreakskip = 0pt plus 1pt
```
[^where]: 注意到一般來說我們會讓標題、作者、日期放在 preamble 區的最下面,如果你想把 `\usepackage{xeCJK}` 插在日期後面的話,雖然是不會報錯,但就不太好......
其中 `AR PL UKai TW` 的地方可以換成別的字型,可以到[這裡](https://www.overleaf.com/learn/latex/Questions/Which%20OTF%20or%20TTF%20fonts%20are%20supported%20via%20fontspec%3F#Chinese)查看Overleaf支援哪些中文字型。[^font]
而 `XeTeXlinebreak` 的那兩行功能則是讓中文能自動換行。
最後看起來就像這樣:

[^font]:如果想使用 Overleaf 不支援的中文字型,可以自行把 .otf 或 .ttf 上傳到這個 project。具體該怎麼做以後有機會再寫。