LaTeX 中/英文報告 preamble 設定

(更新:2018 年版)

LaTeX 是一個強大的文書排版工具,但絕對稱不上方便好用。撰寫 LaTeX 文件的前置作業繁瑣,特別是中文相容性難搞。以下提供一個簡單操作指引,適合用來寫一般的報告或文章,包含下列的功能:

  • 中英文混排設定
  • 全域字體大小、行高、段落間距設定
  • 基本的圖/表目錄、目錄、摘要等中文字樣
  • 數學方程式編輯
  • 科學單位表述編輯
  • 匯入外部圖片、PDF、EPS 等檔案

其餘的像是加入表格、列表,增加封面頁、摘要頁、目錄頁,參照索引等 LaTeX 本來就有的功能就不多描述。

以下內容僅適合對於 LaTeX 已經有基礎認識的人服用。如果不是,可以參考 大家來學 LaTeXLaTeX wiki book(英文)。

latex_project_logo

在開始編輯文件前,請將編譯環境設定為 XeLaTeX,並使用 UTF-8 編碼。

文件起頭為:

\documentclass[a4paper, 12pt]{article}
  • 格式為一般文章(article),紙張為 A4,字體大小為 12 號字。
    • 除了 A4 外,B5 紙的報告也常見,把選項 a4paper 改為 b5paper 即可。
    • 中文字 12 號以下就會覺得太小,引入 extsizes 套件(\usepackage{extsizes})即可支援 14 號以上的字體大小。

引入 xeCJK 套件,支援中日韓書寫:

\usepackage{xeCJK}
    \setCJKmainfont[AutoFakeBold=1,AutoFakeSlant=.4]{BiauKai}
    \XeTeXlinebreaklocale "zh"
    \XeTeXlinebreakskip = 0pt plus 1pt
  • \setCJKmainfont 指令可以設定中日韓文所使用的字型,上面用的 BiauKai 是「標楷體」,可填入自己喜歡的字型名稱。
  • AutoFakeBoldAutoFakeSlant 選項分別設定字體粗體與斜體的強度。
  • \XeTeXlinebreaklocale...\XeTeXlinebreakskip... 這兩行設定一定要加,不然會有換行問題。

引入 fontspec 套件,設定英文字型:

\usepackage{fontspec}
    \setmainfont{Times New Roman}
  • 中文報告常要求中英文採用不同字型,可以透過套件指令 \setmainfont 來設定,上面是用 Times New Roman,屬於作業系統的標準字型。

引入 setspace 套件以設定 1.5 倍行高:

\usepackage{setspace}
    \onehalfspace
  • 兩倍行高請用 \doublespace
  • LaTeX 也有其它方式可以設定行距,但採用 setspace 套件最為輕鬆。

設定段落間距為一個字高,可依排版自動調整,最大 1.5,最小 0.8 個字高:

\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}

引入 mathtools 數學編寫套件:

\usepackage{mathtools}
  • 引入後基本上就能使用 $...$ 行內方程式或 \begin{equation}...\end{equation}\begin{displaymath}...\end{displaymath} 等獨立方程式。

引入 siunitx 科學單位編寫套件,並加以調整:

\usepackage{siunitx}
    \sisetup{
        list-final-separator = { 和 },
        list-pair-separator = { 和 },
        range-phrase = { 至 }
    }
  • 引入後就能輕易控制如 1.2 \times 10^3 km/s 這種數值與單位混合的科學表述(\SI{1.2e3}{km/s}),使 LaTeX 排版引擎更容易去處理。也支援直覺表述像 \SI{1.2e3}{\kilo\meter\per\second}
  • \sisetup 中將科學表述的列表與數值範圍的銜接字改為中文,如「1.2 \times 10^3 km/s1.5 \times 10^3 km/s」(\SIrange{1.2e3}{1.5e3}{\kilo\meter\per\second})。

引入 graphicx 套件,可匯入外部圖片或 PDF 檔。

\usepackage{graphicx}
    \graphicspath{{figures/}}
  • 上述 \graphicspath... 把匯入路徑指定為與文件檔案相同路徑下的 figures/ 資料夾中,圖片或 PDF 檔可統一放在裡面,專案結構較整齊。不同作業系統對於路徑的設定不大一樣。

最後修改原本為英文顯示的目錄、圖/表目錄、摘要等字樣:

\renewcommand\contentsname{目~錄}
\renewcommand\listfigurename{圖~目~錄}
\renewcommand\listtablename{表~目~錄}
\renewcommand\abstractname{摘~要}
\renewcommand\figurename{圖~}
\renewcommand\tablename{表~}
  • 當中的 ~ 為字與字之間的小空隔,可以視排版拿掉。

經上述設定後,一般報告所需要的基本功能就有了。下面是統整後的內容:

\documentclass[a4paper, 12pt]{article}
\usepackage{xeCJK}
    \setCJKmainfont[AutoFakeBold=1,AutoFakeSlant=.4]{BiauKai}
    \XeTeXlinebreaklocale "zh"
    \XeTeXlinebreakskip = 0pt plus 1pt
\usepackage{fontspec}
    \setmainfont{Times New Roman}
\usepackage{setspace}
    \onehalfspace
\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
\usepackage{mathtools}
\usepackage{siunitx}
    \sisetup{
        list-final-separator = { 和 },
        list-pair-separator = { 和 },
        range-phrase = { 至 }
    }
\usepackage{graphicx}
    \graphicspath{{figures/}}
\renewcommand\contentsname{目~錄}
\renewcommand\listfigurename{圖~目~錄}
\renewcommand\listtablename{表~目~錄}
\renewcommand\abstractname{摘~要}
\renewcommand\figurename{圖~}
\renewcommand\tablename{表~}
%\renewcommand\bibname{參~考~文~獻}

\begin{document}
% 本文開始
\end{document}

有任何建議或錯誤,再麻煩留言指教。

廣告

Posted

in

by

Tags:

Comments

「LaTeX 中/英文報告 preamble 設定」 有一則迴響

  1. […] LaTeX 中/英文報告 preamble 設定 中的討論,最近在試的時候發現 preamble […]

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s