---
# System prepended metadata

title: LaTeX環境架設(1)--Overleaf篇
tags: [LaTeX]

---

# 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 的空白模板居然不是全空白的......

![](https://i.imgur.com/5Kz3gUY.png)

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

![](https://i.imgur.com/L9OFdn7.png)

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

![](https://i.imgur.com/QSIsAEp.png)

因為原本的 pdfLaTeX 不是用 UTF-8，為了使其支援必須要使用 inputenc 包；而在 XeLaTeX 中因為預設就是用 UTF-8，所以這個包就沒用了。這個警告訊息就是跟你說這個包在 XeLaTeX 中不會作用。處理的方式也很簡單，把第二行的 `\usepackage[utf8]{inputenc}` 刪掉就好了。

## LaTeX 架構
在 `\begin{document}` 之前的 code 的被稱作 preamble，是用來放關於這個 tex 檔設定的地方。以這個檔為例，目前的設定只有標題、作者、日期以及最上面的 document class。

![](https://i.imgur.com/8Q33z22.png)

而正文要寫在 `\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` 的那兩行功能則是讓中文能自動換行。
最後看起來就像這樣：

![](https://i.imgur.com/zIFBqPx.png)

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





